/** * */ package org.jbpm.graph.exe; import java.io.Serializable; import java.text.DecimalFormat; import java.util.Calendar; import java.util.Date; import javax.persistence.Transient; import org.apache.commons.lang.StringEscapeUtils; import org.jbpm.graph.def.Identifiable; /** * Objecte de domini que representa un expedient de la instància de procés. * * @author Limit Tecnologies <limit@limit.es> */ public class ProcessInstanceExpedient implements Identifiable, Serializable { private long id; private String titol; private String numero; private String numeroDefault; private Date dataInici; private Date dataFi; private ProcessInstanceEntorn entorn; private ProcessInstanceExpedientTipus tipus; private Long estatId; private Double geoPosX; private Double geoPosY; private String geoReferencia; private boolean anulat; private String errorDesc; private int errorsIntegs; private String processInstanceId; private boolean ambRetroaccio; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getTitol() { return titol; } public void setTitol(String titol) { this.titol = titol; } public String getNumero() { return numero; } public void setNumero(String numero) { this.numero = numero; } public String getNumeroDefault() { return numeroDefault; } public void setNumeroDefault(String numeroDefault) { this.numeroDefault = numeroDefault; } public Date getDataInici() { return dataInici; } public void setDataInici(Date dataInici) { this.dataInici = dataInici; } public Date getDataFi() { return dataFi; } public void setDataFi(Date dataFi) { this.dataFi = dataFi; } public ProcessInstanceEntorn getEntorn() { return entorn; } public void setEntorn(ProcessInstanceEntorn entorn) { this.entorn = entorn; } public ProcessInstanceExpedientTipus getTipus() { return tipus; } public void setTipus(ProcessInstanceExpedientTipus tipus) { this.tipus = tipus; } public Long getEstatId() { return estatId; } public void setEstatId(Long estatId) { this.estatId = estatId; } public Double getGeoPosX() { return geoPosX; } public void setGeoPosX(Double geoPosX) { this.geoPosX = geoPosX; } public Double getGeoPosY() { return geoPosY; } public void setGeoPosY(Double geoPosY) { this.geoPosY = geoPosY; } public String getGeoReferencia() { return geoReferencia; } public void setGeoReferencia(String geoReferencia) { this.geoReferencia = geoReferencia; } public boolean isAnulat() { return anulat; } public void setAnulat(boolean anulat) { this.anulat = anulat; } public String getErrorDesc() { return errorDesc; } public void setErrorDesc(String errorDesc) { this.errorDesc = errorDesc; } public int getErrorsIntegs() { return errorsIntegs; } public void setErrorsIntegs(int errorsIntegs) { this.errorsIntegs = errorsIntegs; } public String getProcessInstanceId() { return processInstanceId; } public void setProcessInstanceId(String processInstanceId) { this.processInstanceId = processInstanceId; } public boolean isAmbRetroaccio() { return ambRetroaccio; } public void setAmbRetroaccio(boolean ambRetroaccio) { this.ambRetroaccio = ambRetroaccio; } @Transient public String getNumeroIdentificador() { if (tipus.isTeNumero()) return getNumero(); return this.getNumeroDefault(); } @Transient public String getIdentificador() { String identificador = null; if (tipus.isTeNumero() && tipus.isTeTitol()) identificador = "[" + getNumero() + "] " + getTitol(); else if (tipus.isTeNumero() && !tipus.isTeTitol()) identificador = getNumero(); else if (!tipus.isTeNumero() && tipus.isTeTitol()) identificador = getTitol(); if (identificador == null) return this.getNumeroDefault(); else return identificador; } @Transient public String getIdentificadorLimitat() { if (getIdentificador() != null && getIdentificador().length() > 100) return StringEscapeUtils.escapeHtml(getIdentificador().substring(0, 100) + " (...)"); else return StringEscapeUtils.escapeHtml(getIdentificador()); } @Transient public String getIdPerOrdenacio() { if (!tipus.isTeNumero() && tipus.isTeTitol()) { return getIdentificador(); } else { Calendar cal = Calendar.getInstance(); cal.setTime(dataInici); int anyInici = cal.get(Calendar.YEAR); return new Integer(anyInici).toString() + new DecimalFormat("0000000000000000000").format(id); } } private static final long serialVersionUID = 1L; }