/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.plugin.online.model; import java.io.Serializable; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import org.codehaus.jackson.annotate.JsonIgnore; import com.ewcms.core.site.model.Organ; import com.ewcms.plugin.citizen.model.Citizen; /** * 事项基本信息 * * <ul> * <li>id:编号</li> * <li>name:名称</li> * <li>acceptedWay:受理方式</li> * <li>handleSite:办理地点</li> * <li>handleBasis:办理依据</li> * <li>handleWay:审批、服务数量及方式</li> * <li>acceptedCondition:受理条件</li> * <li>petitionMaterial:申请材料</li> * <li>handleCourse:办理程序</li> * <li>timeLimit:法定时限</li> * <li>deadline:承诺期限</li> * <li>fees:收费标准</li> * <li>feesBasis:收费依据</li> * <li>consultingTel:咨询电话</li> * <li>contactName:联系人</li> * <li>department:所在部门</li> * <li>contactTel:联系电话</li> * <li>email:E-Mail</li> * <li>sort:排序</li> * <li>workingBodys:网上办事对象集合</li> * <li>organ:组织机构对象</li> * <li>matterAnnexs:事项附件对象集合</li> * <li>citizens:公民对象集合</li> * </ul> * * @author 吴智俊 */ @Entity @Table(name = "plugin_matter") @SequenceGenerator(name = "seq_plugin_matter", sequenceName = "seq_plugin_matter_id", allocationSize = 1) public class Matter implements Serializable { private static final long serialVersionUID = -3169015550175955635L; @Id @GeneratedValue(generator = "seq_plugin_matter", strategy = GenerationType.SEQUENCE) private Integer id; @Column(name = "matter_name", nullable = false) private String name; @Column(name = "accepted_way", columnDefinition = "text") private String acceptedWay; @Column(name = "handle_site", columnDefinition = "text") private String handleSite; @Column(name = "handle_basis", columnDefinition = "text") private String handleBasis; @Column(name = "handle_way", columnDefinition = "text") private String handleWay; @Column(name = "accepted_condition", columnDefinition = "text") private String acceptedCondition; @Column(name = "petition_material", columnDefinition = "text") private String petitionMaterial; @Column(name = "handle_course", columnDefinition = "text") private String handleCourse; @Column(name = "time_limit", columnDefinition = "text") private String timeLimit; @Column(name = "deadline", columnDefinition = "text") private String deadline; @Column(name = "fees", columnDefinition = "text") private String fees; @Column(name = "fees_basis", columnDefinition = "text") private String feesBasis; @Column(name = "consulting_tel", columnDefinition = "text") private String consultingTel; @Column(name = "contact_name", columnDefinition = "text") private String contactName; @Column(name = "department", columnDefinition = "text") private String department; @Column(name = "contact_tel", columnDefinition = "text") private String contactTel; @Column(name = "email", columnDefinition = "text") private String email; @Column(name = "sort") private Long sort; @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = "matters") @OrderBy(value = "sort,id") private List<WorkingBody> workingBodys; @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = Organ.class) @JoinColumn(name = "organ_id") private Organ organ; @OneToMany(cascade = CascadeType.ALL, targetEntity = MatterAnnex.class) @JoinColumn(name = "matter_id") @OrderBy(value = "sort,id") private List<MatterAnnex> matterAnnexs; @ManyToMany(cascade = {CascadeType.ALL}, targetEntity = Citizen.class) @JoinTable(name = "plugin_matter_citizen", joinColumns = @JoinColumn(name = "matter_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "citizen_id", referencedColumnName = "id")) @OrderBy(value = "id") private List<Citizen> citizens; @Column(name="infoUrl", columnDefinition = "text") private String infoUrl; @Column(name = "postadviseUrl", columnDefinition = "text") private String postadviseUrl; @Column(name = "onlinePayUrl", columnDefinition = "text") private String onlinePayUrl; @Column(name="service_object", columnDefinition = "text") private String serviceObject; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public List<Citizen> getCitizens() { return citizens; } public void setCitizens(List<Citizen> citizens) { this.citizens = citizens; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAcceptedWay() { return acceptedWay; } public void setAcceptedWay(String acceptedWay) { this.acceptedWay = acceptedWay; } public String getHandleSite() { return handleSite; } public void setHandleSite(String handleSite) { this.handleSite = handleSite; } public String getHandleBasis() { return handleBasis; } public void setHandleBasis(String handleBasis) { this.handleBasis = handleBasis; } public String getHandleWay() { return handleWay; } public void setHandleWay(String handleWay) { this.handleWay = handleWay; } public String getAcceptedCondition() { return acceptedCondition; } public void setAcceptedCondition(String acceptedCondition) { this.acceptedCondition = acceptedCondition; } public String getPetitionMaterial() { return petitionMaterial; } public void setPetitionMaterial(String petitionMaterial) { this.petitionMaterial = petitionMaterial; } public String getHandleCourse() { return handleCourse; } public void setHandleCourse(String handleCourse) { this.handleCourse = handleCourse; } public String getTimeLimit() { return timeLimit; } public void setTimeLimit(String timeLimit) { this.timeLimit = timeLimit; } public String getDeadline() { return deadline; } public void setDeadline(String deadline) { this.deadline = deadline; } public String getFees() { return fees; } public void setFees(String fees) { this.fees = fees; } public String getFeesBasis() { return feesBasis; } public void setFeesBasis(String feesBasis) { this.feesBasis = feesBasis; } public String getConsultingTel() { return consultingTel; } public void setConsultingTel(String consultingTel) { this.consultingTel = consultingTel; } public String getContactName() { return contactName; } public void setContactName(String contactName) { this.contactName = contactName; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } public String getContactTel() { return contactTel; } public void setContactTel(String contactTel) { this.contactTel = contactTel; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Long getSort() { return sort; } public void setSort(Long sort) { this.sort = sort; } @JsonIgnore public List<WorkingBody> getWorkingBodys() { return workingBodys; } public void setWorkingBodys(List<WorkingBody> workingBodys) { this.workingBodys = workingBodys; } @JsonIgnore public Organ getOrgan() { return organ; } public void setOrgan(Organ organ) { this.organ = organ; } @JsonIgnore public List<MatterAnnex> getMatterAnnexs() { return matterAnnexs; } public void setMatterAnnexs(List<MatterAnnex> matterAnnexs) { this.matterAnnexs = matterAnnexs; } public String getInfoUrl() { return infoUrl; } public void setInfoUrl(String infoUrl) { this.infoUrl = infoUrl; } public String getPostadviseUrl() { return postadviseUrl; } public void setPostadviseUrl(String postadviseUrl) { this.postadviseUrl = postadviseUrl; } public String getOnlinePayUrl() { return onlinePayUrl; } public void setOnlinePayUrl(String onlinePayUrl) { this.onlinePayUrl = onlinePayUrl; } public String getServiceObject() { return serviceObject; } public void setServiceObject(String serviceObject) { this.serviceObject = serviceObject; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Matter other = (Matter) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; return true; } }