/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package entity.process; import entity.info.Resident; import entity.system.Users; import op.OPDE; import op.tools.SYSTools; import javax.persistence.*; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; /** * @author tloehr */ @Entity @Table(name = "preport") public class PReport implements Serializable, QProcessElement { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "VBID") private Long vbid; @Lob @Column(name = "Text") private String text; @Basic(optional = false) @Column(name = "PIT") @Temporal(TemporalType.TIMESTAMP) private Date pit; @Basic(optional = false) @Column(name = "Art") private short art; @JoinColumn(name = "VorgangID", referencedColumnName = "VorgangID") @ManyToOne private QProcess qProcess; @JoinColumn(name = "UKennung", referencedColumnName = "UKennung") @ManyToOne private Users user; public PReport() { } public PReport(String text, short art, QProcess qProcess) { this.text = SYSTools.tidy(text); this.art = art; this.qProcess = qProcess; this.pit = new Date(); this.user = OPDE.getLogin().getUser(); } public Long getVbid() { return vbid; } public void setVbid(Long vbid) { this.vbid = vbid; } public QProcess getQProcess() { return qProcess; } @Override public Resident getResident() { return qProcess.getResident(); } public String getText() { return text; } public void setText(String text) { this.text = SYSTools.tidy(text); } public Date getPit() { return pit; } public void setPit(Date pit) { this.pit = pit; } public short getArt() { return art; } public void setArt(short art) { this.art = art; } public Users getUser() { return user; } public void setUser(Users user) { this.user = user; } public boolean isSystem() { return art != PReportTools.PREPORT_TYPE_USER; } public boolean isPDCA() { return art == PReportTools.PREPORT_TYPE_SET_PDCA_PLAN || art == PReportTools.PREPORT_TYPE_SET_PDCA_DO || art == PReportTools.PREPORT_TYPE_SET_PDCA_CHECK || art == PReportTools.PREPORT_TYPE_SET_PDCA_ACT; } @Override public String getContentAsHTML() { return PReportTools.getBerichtAsHTML(this); } @Override public ArrayList<QProcess> getAttachedProcesses() { ArrayList<QProcess> list = new ArrayList<QProcess>(); list.add(qProcess); return list; } @Override public long getPITInMillis() { return pit.getTime(); } @Override public String getPITAsHTML() { return PReportTools.getPITAsHTML(this); } @Override public String getTitle() { if (isPDCA()) return PReportTools.getPDCA(this); return text; } @Override public long getID() { return vbid; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PReport pReport = (PReport) o; if (art != pReport.art) return false; if (pit != null ? !pit.equals(pReport.pit) : pReport.pit != null) return false; if (qProcess != null ? !qProcess.equals(pReport.qProcess) : pReport.qProcess != null) return false; if (text != null ? !text.equals(pReport.text) : pReport.text != null) return false; if (user != null ? !user.equals(pReport.user) : pReport.user != null) return false; if (vbid != null ? !vbid.equals(pReport.vbid) : pReport.vbid != null) return false; return true; } @Override public int hashCode() { int result = vbid != null ? vbid.hashCode() : 0; result = 31 * result + (text != null ? text.hashCode() : 0); result = 31 * result + (pit != null ? pit.hashCode() : 0); result = 31 * result + (int) art; result = 31 * result + (qProcess != null ? qProcess.hashCode() : 0); result = 31 * result + (user != null ? user.hashCode() : 0); return result; } @Override public String toString() { return "entity.process.PReport[vbid=" + vbid + "]"; } }