diff --git a/base/bpm/bpmlib/src/main/java/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.java b/base/bpm/bpmlib/src/main/java/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.java index c2dc3dc..758941c 100644 --- a/base/bpm/bpmlib/src/main/java/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.java +++ b/base/bpm/bpmlib/src/main/java/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.java @@ -28,7 +28,7 @@ public class EstadoSolicitudQuery extends QueryRule{ } StringBuilder sql = new StringBuilder("select DISTINCT ta.ACTIVITYNAME,ta.USERCODE,ta.GROUPCODE,tk.STATUS,ta.CREATED,ta.STARTED,ta.COMPLETED " - + " from jbpm6.VARIABLEINSTANCELOG d, TBPMACTIVITIES ta, jbpm6.TASK tk " + + " from jbpm6.public.VARIABLEINSTANCELOG d, TBPMACTIVITIES ta, jbpm6.public.TASK tk " + " where d.processInstanceId = ta.internalcode and tk.id (+) = ta.TASKID "); if(codigosolicitud.contains("SOL") || codigosolicitud.contains("TRA")){ diff --git a/base/bpm/bpmlib/target/bpmlib-2.1.jar b/base/bpm/bpmlib/target/bpmlib-2.1.jar index a693557..9413aee 100644 Binary files a/base/bpm/bpmlib/target/bpmlib-2.1.jar and b/base/bpm/bpmlib/target/bpmlib-2.1.jar differ diff --git a/base/bpm/bpmlib/target/classes/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.class b/base/bpm/bpmlib/target/classes/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.class index 3fed293..64fa05a 100644 Binary files a/base/bpm/bpmlib/target/classes/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.class and b/base/bpm/bpmlib/target/classes/com/fp/bpmlib/query/solicitud/EstadoSolicitudQuery.class differ diff --git a/base/bpm/bpmlib/target/maven-archiver/pom.properties b/base/bpm/bpmlib/target/maven-archiver/pom.properties index 6186d7b..1f25a1e 100644 --- a/base/bpm/bpmlib/target/maven-archiver/pom.properties +++ b/base/bpm/bpmlib/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:16 ECT 2022 +#Wed Nov 02 15:37:09 ECT 2022 version=2.1 groupId=com.fp.base.bpm artifactId=bpmlib diff --git a/base/bpm/simple/target/maven-archiver/pom.properties b/base/bpm/simple/target/maven-archiver/pom.properties index ad05358..17946f6 100644 --- a/base/bpm/simple/target/maven-archiver/pom.properties +++ b/base/bpm/simple/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:10 ECT 2022 +#Wed Nov 02 15:37:03 ECT 2022 version=2.1 groupId=com.fp.base.bpm artifactId=simple diff --git a/base/bpm/simple/target/simple-2.1.jar b/base/bpm/simple/target/simple-2.1.jar index aab544c..785b95a 100644 Binary files a/base/bpm/simple/target/simple-2.1.jar and b/base/bpm/simple/target/simple-2.1.jar differ diff --git a/base/business/armas/src/main/java/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.java b/base/business/armas/src/main/java/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.java index f43f902..a0a81cb 100644 --- a/base/business/armas/src/main/java/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.java +++ b/base/business/armas/src/main/java/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.java @@ -326,11 +326,10 @@ public class ScheduleXMLSolicitud { @Schedule( hour = "*",second = "0", minute = "1,10,20,30,40,50", persistent = false) public void generarXMLs() { try { - EntityManager entityManager = emf.createEntityManager(); - TgeneParameters ejecucion = obtenerParametro("PATHFACTURASXML", entityManager); + TgeneParameters ejecucion = obtenerParametro("EJECUCIONXML", entityManager); if(ejecucion.getNumbervalue().compareTo(BigDecimal.ZERO) == 0){ throw new Exception(new Date().toString().concat(": Ejecucion de la facturacion desactivada")); @@ -352,7 +351,7 @@ public class ScheduleXMLSolicitud { + "LEFT JOIN TCUSTPERSONDETAIL p \n" + "ON t.PERSONCODE = p.PERSONCODE \n" + "AND p.DATETO = TO_DATE('2999-12-31','YYYY-MM-DD') \n" - + "WHERE t2.ESTADOTRAMITE = 'APB' and\n" + + "WHERE t2.ESTADOTRAMITE = 'APBDEP' and\n" + "t2.valorapagar is not null and t2.valorapagar > 0\n" + "limit 105 \n" diff --git a/base/business/armas/target/armas-2.1.jar b/base/business/armas/target/armas-2.1.jar index ffc5afe..682ae09 100644 Binary files a/base/business/armas/target/armas-2.1.jar and b/base/business/armas/target/armas-2.1.jar differ diff --git a/base/business/armas/target/classes/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.class b/base/business/armas/target/classes/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.class index 7b2777d..9f5eeee 100644 Binary files a/base/business/armas/target/classes/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.class and b/base/business/armas/target/classes/com/fp/armas/rules/query/solicitud/ScheduleXMLSolicitud.class differ diff --git a/base/business/armas/target/maven-archiver/pom.properties b/base/business/armas/target/maven-archiver/pom.properties index ee6a927..f524327 100644 --- a/base/business/armas/target/maven-archiver/pom.properties +++ b/base/business/armas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:43 ECT 2022 +#Wed Nov 02 15:37:29 ECT 2022 version=2.1 groupId=com.fp.base.business artifactId=armas diff --git a/base/business/general/target/general-2.1.jar b/base/business/general/target/general-2.1.jar index d6915a8..a6e0eec 100644 Binary files a/base/business/general/target/general-2.1.jar and b/base/business/general/target/general-2.1.jar differ diff --git a/base/business/general/target/maven-archiver/pom.properties b/base/business/general/target/maven-archiver/pom.properties index b086163..703ff2f 100644 --- a/base/business/general/target/maven-archiver/pom.properties +++ b/base/business/general/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:35 ECT 2022 +#Wed Nov 02 15:37:23 ECT 2022 version=2.1 groupId=com.fp.base.business artifactId=general diff --git a/base/business/log/target/log-2.1.jar b/base/business/log/target/log-2.1.jar index b01fd78..322cb50 100644 Binary files a/base/business/log/target/log-2.1.jar and b/base/business/log/target/log-2.1.jar differ diff --git a/base/business/log/target/maven-archiver/pom.properties b/base/business/log/target/maven-archiver/pom.properties index bc62b75..f15e011 100644 --- a/base/business/log/target/maven-archiver/pom.properties +++ b/base/business/log/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:38 ECT 2022 +#Wed Nov 02 15:37:25 ECT 2022 version=2.1 groupId=com.fp.base.business artifactId=log diff --git a/base/business/person/src/main/java/com/fp/person/rules/save/CompletePersonAndCompany.java b/base/business/person/src/main/java/com/fp/person/rules/save/CompletePersonAndCompany.java index 866d761..1000e97 100644 --- a/base/business/person/src/main/java/com/fp/person/rules/save/CompletePersonAndCompany.java +++ b/base/business/person/src/main/java/com/fp/person/rules/save/CompletePersonAndCompany.java @@ -209,6 +209,7 @@ public abstract class CompletePersonAndCompany extends TransactionRule { tcustBalanceKey.setPersoncode(personcode); tcustBalanceKey.setBalancedate(balancedate); TcustBalance tcustBalance = new TcustBalance(tcustBalanceKey); + PersistenceHelper.save(tcustBalance); // saveRequest.putSaveBean("TCUSTBALANCE", tcustBalance, 1); } diff --git a/base/business/person/target/classes/com/fp/person/rules/save/CompletePersonAndCompany.class b/base/business/person/target/classes/com/fp/person/rules/save/CompletePersonAndCompany.class index 5169aea..139749e 100644 Binary files a/base/business/person/target/classes/com/fp/person/rules/save/CompletePersonAndCompany.class and b/base/business/person/target/classes/com/fp/person/rules/save/CompletePersonAndCompany.class differ diff --git a/base/business/person/target/maven-archiver/pom.properties b/base/business/person/target/maven-archiver/pom.properties index 30185aa..a8ea402 100644 --- a/base/business/person/target/maven-archiver/pom.properties +++ b/base/business/person/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:30 ECT 2022 +#Wed Nov 02 15:37:20 ECT 2022 version=2.1 groupId=com.fp.base.business artifactId=person diff --git a/base/business/person/target/person-2.1.jar b/base/business/person/target/person-2.1.jar index 249df1d..7318d9f 100644 Binary files a/base/business/person/target/person-2.1.jar and b/base/business/person/target/person-2.1.jar differ diff --git a/base/business/report/target/maven-archiver/pom.properties b/base/business/report/target/maven-archiver/pom.properties index 0fbe4dc..74418ee 100644 --- a/base/business/report/target/maven-archiver/pom.properties +++ b/base/business/report/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:36 ECT 2022 +#Wed Nov 02 15:37:24 ECT 2022 version=2.1 groupId=com.fp.base.business artifactId=report diff --git a/base/business/report/target/report-2.1.jar b/base/business/report/target/report-2.1.jar index 4949a14..00f85be 100644 Binary files a/base/business/report/target/report-2.1.jar and b/base/business/report/target/report-2.1.jar differ diff --git a/base/business/viaticos/src/main/java/com/fp/viaticos/mail/MailMasivo.java b/base/business/viaticos/src/main/java/com/fp/viaticos/mail/MailMasivo.java index 195650e..eef6673 100644 --- a/base/business/viaticos/src/main/java/com/fp/viaticos/mail/MailMasivo.java +++ b/base/business/viaticos/src/main/java/com/fp/viaticos/mail/MailMasivo.java @@ -73,8 +73,8 @@ public class MailMasivo { } /** Sentencia que entrega las solicitudes a enviar mail. */ - private static final String JPQL = " select cod_solicitud, cod_tipo, ((trunc(select now()) - fec_fin_viatico)) + 1 dias " - + "from via_solicitud where (trunc(select now()) - fec_fin_viatico) + 1 between 1 and 4 and cod_estado in ('SAP','IPI') ant tipo = 'SOL' "; + private static final String JPQL = " select cod_solicitud, cod_tipo, extract(day from(now() - fec_fin_viatico)) + 1 dias " + + "from via_solicitud where extract(day from(select now() - fec_fin_viatico))+ 1 between 1 and 4 and cod_estado in ('SAP','IPI') ant tipo = 'SOL' "; /** * Metodo que obtiene las solicitudes a enviar mail masivos. diff --git a/base/business/viaticos/target/classes/com/fp/viaticos/mail/MailMasivo.class b/base/business/viaticos/target/classes/com/fp/viaticos/mail/MailMasivo.class index d7b9942..d4e60b2 100644 Binary files a/base/business/viaticos/target/classes/com/fp/viaticos/mail/MailMasivo.class and b/base/business/viaticos/target/classes/com/fp/viaticos/mail/MailMasivo.class differ diff --git a/base/business/viaticos/target/maven-archiver/pom.properties b/base/business/viaticos/target/maven-archiver/pom.properties index 1f043d7..d17e853 100644 --- a/base/business/viaticos/target/maven-archiver/pom.properties +++ b/base/business/viaticos/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:40 ECT 2022 +#Wed Nov 02 15:37:26 ECT 2022 version=2.1 groupId=com.fp.base.business artifactId=viaticos diff --git a/base/business/viaticos/target/viaticos-2.1.jar b/base/business/viaticos/target/viaticos-2.1.jar index 4b36311..3b025d0 100644 Binary files a/base/business/viaticos/target/viaticos-2.1.jar and b/base/business/viaticos/target/viaticos-2.1.jar differ diff --git a/base/core/alfresco-client/target/alfresco-client-2.1.jar b/base/core/alfresco-client/target/alfresco-client-2.1.jar index 20ad774..8d8bbfe 100644 Binary files a/base/core/alfresco-client/target/alfresco-client-2.1.jar and b/base/core/alfresco-client/target/alfresco-client-2.1.jar differ diff --git a/base/core/alfresco-client/target/maven-archiver/pom.properties b/base/core/alfresco-client/target/maven-archiver/pom.properties index c3cef67..466c299 100644 --- a/base/core/alfresco-client/target/maven-archiver/pom.properties +++ b/base/core/alfresco-client/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:26 ECT 2022 +#Wed Nov 02 15:37:17 ECT 2022 version=2.1 groupId=com.fp.base.core artifactId=alfresco-client diff --git a/base/core/bpm/target/bpm-2.1.jar b/base/core/bpm/target/bpm-2.1.jar index 4c3aeb4..cf7b4d6 100644 Binary files a/base/core/bpm/target/bpm-2.1.jar and b/base/core/bpm/target/bpm-2.1.jar differ diff --git a/base/core/bpm/target/maven-archiver/pom.properties b/base/core/bpm/target/maven-archiver/pom.properties index 2c7da0b..8e017d9 100644 --- a/base/core/bpm/target/maven-archiver/pom.properties +++ b/base/core/bpm/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:11 ECT 2022 +#Wed Nov 02 15:37:05 ECT 2022 version=2.1 groupId=com.fp.base.core artifactId=bpm diff --git a/base/core/firmas/target/firmas-2.1.jar b/base/core/firmas/target/firmas-2.1.jar index 3ff39ae..b5382c3 100644 Binary files a/base/core/firmas/target/firmas-2.1.jar and b/base/core/firmas/target/firmas-2.1.jar differ diff --git a/base/core/firmas/target/maven-archiver/pom.properties b/base/core/firmas/target/maven-archiver/pom.properties index b44c7e8..f1ff30b 100644 --- a/base/core/firmas/target/maven-archiver/pom.properties +++ b/base/core/firmas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:25 ECT 2022 +#Wed Nov 02 15:37:16 ECT 2022 version=2.1 groupId=com.fp.base.core artifactId=firmas diff --git a/base/dto/common/target/common-2.1.jar b/base/dto/common/target/common-2.1.jar index 2e459dc..4282790 100644 Binary files a/base/dto/common/target/common-2.1.jar and b/base/dto/common/target/common-2.1.jar differ diff --git a/base/dto/common/target/maven-archiver/pom.properties b/base/dto/common/target/maven-archiver/pom.properties index d24b57f..901510d 100644 --- a/base/dto/common/target/maven-archiver/pom.properties +++ b/base/dto/common/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 15:59:54 ECT 2022 +#Wed Nov 02 15:36:50 ECT 2022 version=2.1 groupId=com.fp.base.dto artifactId=common diff --git a/base/dto/dto/target/dto-2.1.jar b/base/dto/dto/target/dto-2.1.jar index 8ca2369..bc1a910 100644 Binary files a/base/dto/dto/target/dto-2.1.jar and b/base/dto/dto/target/dto-2.1.jar differ diff --git a/base/dto/dto/target/maven-archiver/pom.properties b/base/dto/dto/target/maven-archiver/pom.properties index 1e8f84a..cb99f24 100644 --- a/base/dto/dto/target/maven-archiver/pom.properties +++ b/base/dto/dto/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 15:59:51 ECT 2022 +#Wed Nov 02 15:36:48 ECT 2022 version=2.1 groupId=com.fp.base.dto artifactId=dto diff --git a/base/facade/src/main/java/com/fp/facade/ejb/SaveBean.java b/base/facade/src/main/java/com/fp/facade/ejb/SaveBean.java index 7921e41..42c1556 100644 --- a/base/facade/src/main/java/com/fp/facade/ejb/SaveBean.java +++ b/base/facade/src/main/java/com/fp/facade/ejb/SaveBean.java @@ -30,9 +30,9 @@ public class SaveBean extends BeanHelper implements FacadeBeanJsfRemote { EntityManager em = PersistenceManager.getInstance().createEntityManagerLocal(); PersistenceHelper.setEntityManager(em); try { - BeanHelper.cleanThreadLocal(); + BeanHelper.cleanThreadLocal(); PersistenceHelper.beginTransaction(); - SaveAction sa = new SaveAction(); + SaveAction sa = new SaveAction(); resp = sa.process(request); PersistenceHelper.commitTransaction(); return resp; diff --git a/base/facade/target/facade-2.1.jar b/base/facade/target/facade-2.1.jar index e15ce90..fe19f3a 100644 Binary files a/base/facade/target/facade-2.1.jar and b/base/facade/target/facade-2.1.jar differ diff --git a/base/facade/target/maven-archiver/pom.properties b/base/facade/target/maven-archiver/pom.properties index 5f924eb..a513bec 100644 --- a/base/facade/target/maven-archiver/pom.properties +++ b/base/facade/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:45 ECT 2022 +#Wed Nov 02 15:37:31 ECT 2022 version=2.1 groupId=com.fp.base artifactId=facade diff --git a/base/facadeclient/target/facadeclient-2.1.jar b/base/facadeclient/target/facadeclient-2.1.jar index b43b245..52fe324 100644 Binary files a/base/facadeclient/target/facadeclient-2.1.jar and b/base/facadeclient/target/facadeclient-2.1.jar differ diff --git a/base/facadeclient/target/maven-archiver/pom.properties b/base/facadeclient/target/maven-archiver/pom.properties index d0f1fc5..7b42077 100644 --- a/base/facadeclient/target/maven-archiver/pom.properties +++ b/base/facadeclient/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:44 ECT 2022 +#Wed Nov 02 15:37:30 ECT 2022 version=2.1 groupId=com.fp.base artifactId=facadeclient diff --git a/base/persistence/commondb/target/commondb-2.1.jar b/base/persistence/commondb/target/commondb-2.1.jar index 8c8d15f..1b09758 100644 Binary files a/base/persistence/commondb/target/commondb-2.1.jar and b/base/persistence/commondb/target/commondb-2.1.jar differ diff --git a/base/persistence/commondb/target/maven-archiver/pom.properties b/base/persistence/commondb/target/maven-archiver/pom.properties index 6aeacb2..184bb72 100644 --- a/base/persistence/commondb/target/maven-archiver/pom.properties +++ b/base/persistence/commondb/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:04 ECT 2022 +#Wed Nov 02 15:36:59 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=commondb diff --git a/base/persistence/parmas/src/main/java/com/fp/persistence/parmas/soli/TarmInvoiceHistory.java b/base/persistence/parmas/src/main/java/com/fp/persistence/parmas/soli/TarmInvoiceHistory.java index d7b099b..ff425a4 100644 --- a/base/persistence/parmas/src/main/java/com/fp/persistence/parmas/soli/TarmInvoiceHistory.java +++ b/base/persistence/parmas/src/main/java/com/fp/persistence/parmas/soli/TarmInvoiceHistory.java @@ -10,10 +10,12 @@ import java.io.Serializable; import java.lang.reflect.Field; import java.sql.Timestamp; import java.util.Date; +import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EntityManager; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; @@ -40,12 +42,15 @@ public class TarmInvoiceHistory extends com.fp.dto.AbstractDataTransport impleme * Clave primaria de la Entidad TarmInvoiceHistory */ @Id - @Column(name = "ID", nullable = false) + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Basic(optional = false) + @Column(name = "ID") private Integer pk; /** * Codigo usuario */ - @Column(name = "USERCODE", nullable = true) + @Basic(optional = false) + @Column(name = "USERCODE") private String usercode; /** * Fecha de generacion de la factura @@ -89,14 +94,6 @@ public class TarmInvoiceHistory extends com.fp.dto.AbstractDataTransport impleme /** * Getters y setters */ - public int getHashValue() { - return hashValue; - } - - public void setHashValue(int hashValue) { - this.hashValue = hashValue; - } - public Integer getPk() { return pk; } diff --git a/base/persistence/parmas/target/classes/com/fp/persistence/parmas/soli/TarmInvoiceHistory.class b/base/persistence/parmas/target/classes/com/fp/persistence/parmas/soli/TarmInvoiceHistory.class index 1a1220a..58b114d 100644 Binary files a/base/persistence/parmas/target/classes/com/fp/persistence/parmas/soli/TarmInvoiceHistory.class and b/base/persistence/parmas/target/classes/com/fp/persistence/parmas/soli/TarmInvoiceHistory.class differ diff --git a/base/persistence/parmas/target/maven-archiver/pom.properties b/base/persistence/parmas/target/maven-archiver/pom.properties index a7169cf..699ea3a 100644 --- a/base/persistence/parmas/target/maven-archiver/pom.properties +++ b/base/persistence/parmas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:23 ECT 2022 +#Wed Nov 02 15:37:15 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=parmas diff --git a/base/persistence/parmas/target/parmas-2.1.jar b/base/persistence/parmas/target/parmas-2.1.jar index 3400e2c..abdba05 100644 Binary files a/base/persistence/parmas/target/parmas-2.1.jar and b/base/persistence/parmas/target/parmas-2.1.jar differ diff --git a/base/persistence/pbpm/target/maven-archiver/pom.properties b/base/persistence/pbpm/target/maven-archiver/pom.properties index 9972004..0e9ae14 100644 --- a/base/persistence/pbpm/target/maven-archiver/pom.properties +++ b/base/persistence/pbpm/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 15:59:56 ECT 2022 +#Wed Nov 02 15:36:51 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=pbpm diff --git a/base/persistence/pbpm/target/pbpm-2.1.jar b/base/persistence/pbpm/target/pbpm-2.1.jar index fb2956a..2e793be 100644 Binary files a/base/persistence/pbpm/target/pbpm-2.1.jar and b/base/persistence/pbpm/target/pbpm-2.1.jar differ diff --git a/base/persistence/pcustomer/target/maven-archiver/pom.properties b/base/persistence/pcustomer/target/maven-archiver/pom.properties index 82be962..1ff0be9 100644 --- a/base/persistence/pcustomer/target/maven-archiver/pom.properties +++ b/base/persistence/pcustomer/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:07 ECT 2022 +#Wed Nov 02 15:37:01 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=pcustomer diff --git a/base/persistence/pcustomer/target/pcustomer-2.1.jar b/base/persistence/pcustomer/target/pcustomer-2.1.jar index 6df6ab7..51fa1a2 100644 Binary files a/base/persistence/pcustomer/target/pcustomer-2.1.jar and b/base/persistence/pcustomer/target/pcustomer-2.1.jar differ diff --git a/base/persistence/pfirmas/target/maven-archiver/pom.properties b/base/persistence/pfirmas/target/maven-archiver/pom.properties index 1d7a969..a76cda5 100644 --- a/base/persistence/pfirmas/target/maven-archiver/pom.properties +++ b/base/persistence/pfirmas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:20 ECT 2022 +#Wed Nov 02 15:37:12 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=pfirmas diff --git a/base/persistence/pfirmas/target/pfirmas-2.1.jar b/base/persistence/pfirmas/target/pfirmas-2.1.jar index e4ff99c..8e29527 100644 Binary files a/base/persistence/pfirmas/target/pfirmas-2.1.jar and b/base/persistence/pfirmas/target/pfirmas-2.1.jar differ diff --git a/base/persistence/pgeneral/target/maven-archiver/pom.properties b/base/persistence/pgeneral/target/maven-archiver/pom.properties index 1b00497..0bd8c92 100644 --- a/base/persistence/pgeneral/target/maven-archiver/pom.properties +++ b/base/persistence/pgeneral/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:02 ECT 2022 +#Wed Nov 02 15:36:57 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=pgeneral diff --git a/base/persistence/pgeneral/target/pgeneral-2.1.jar b/base/persistence/pgeneral/target/pgeneral-2.1.jar index cd9887d..efb7165 100644 Binary files a/base/persistence/pgeneral/target/pgeneral-2.1.jar and b/base/persistence/pgeneral/target/pgeneral-2.1.jar differ diff --git a/base/persistence/plog/target/maven-archiver/pom.properties b/base/persistence/plog/target/maven-archiver/pom.properties index 436e99c..ebc0cd0 100644 --- a/base/persistence/plog/target/maven-archiver/pom.properties +++ b/base/persistence/plog/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:17 ECT 2022 +#Wed Nov 02 15:37:10 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=plog diff --git a/base/persistence/plog/target/plog-2.1.jar b/base/persistence/plog/target/plog-2.1.jar index 36292fb..10e9c68 100644 Binary files a/base/persistence/plog/target/plog-2.1.jar and b/base/persistence/plog/target/plog-2.1.jar differ diff --git a/base/persistence/pviaticos/target/maven-archiver/pom.properties b/base/persistence/pviaticos/target/maven-archiver/pom.properties index 228751c..6c7459c 100644 --- a/base/persistence/pviaticos/target/maven-archiver/pom.properties +++ b/base/persistence/pviaticos/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:19 ECT 2022 +#Wed Nov 02 15:37:11 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=pviaticos diff --git a/base/persistence/pviaticos/target/pviaticos-2.1.jar b/base/persistence/pviaticos/target/pviaticos-2.1.jar index 83bcd4a..18f0d45 100644 Binary files a/base/persistence/pviaticos/target/pviaticos-2.1.jar and b/base/persistence/pviaticos/target/pviaticos-2.1.jar differ diff --git a/base/persistence/util/target/maven-archiver/pom.properties b/base/persistence/util/target/maven-archiver/pom.properties index 52afb96..8bf44b4 100644 --- a/base/persistence/util/target/maven-archiver/pom.properties +++ b/base/persistence/util/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:09 ECT 2022 +#Wed Nov 02 15:37:02 ECT 2022 version=2.1 groupId=com.fp.base.persistence artifactId=util diff --git a/base/persistence/util/target/util-2.1.jar b/base/persistence/util/target/util-2.1.jar index eb65329..702ba85 100644 Binary files a/base/persistence/util/target/util-2.1.jar and b/base/persistence/util/target/util-2.1.jar differ diff --git a/base/sessionbeans/target/maven-archiver/pom.properties b/base/sessionbeans/target/maven-archiver/pom.properties index b923b74..92b7cab 100644 --- a/base/sessionbeans/target/maven-archiver/pom.properties +++ b/base/sessionbeans/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:28 ECT 2022 +#Wed Nov 02 15:37:18 ECT 2022 version=2.1 groupId=com.fp.base artifactId=sessionbeans diff --git a/base/sessionbeans/target/sessionbeans-2.1.jar b/base/sessionbeans/target/sessionbeans-2.1.jar index e0bb519..dbdc493 100644 Binary files a/base/sessionbeans/target/sessionbeans-2.1.jar and b/base/sessionbeans/target/sessionbeans-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1.ear b/clients/comaco/ear/target/maiaear-2.1.ear index 908a0b0..675a3d2 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1.ear and b/clients/comaco/ear/target/maiaear-2.1.ear differ diff --git a/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar index ffc5afe..682ae09 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar index 4c3aeb4..cf7b4d6 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar b/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar index a693557..9413aee 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar and b/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar index 2e459dc..4282790 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar index 8c8d15f..1b09758 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar index 8ca2369..bc1a910 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar index a6272a1..b674f9c 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/facade.jar b/clients/comaco/ear/target/maiaear-2.1/facade.jar index e15ce90..fe19f3a 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/facade.jar and b/clients/comaco/ear/target/maiaear-2.1/facade.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar b/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar index b43b245..52fe324 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar and b/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar index 3ff39ae..b5382c3 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar index d6915a8..a6e0eec 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar index b01fd78..322cb50 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar index 3400e2c..abdba05 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar index fb2956a..2e793be 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar index 6df6ab7..51fa1a2 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar index 249df1d..7318d9f 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar index e4ff99c..8e29527 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar index cd9887d..efb7165 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar index 36292fb..10e9c68 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar index 4949a14..00f85be 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar b/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar index e0bb519..dbdc493 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar and b/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar index aab544c..785b95a 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar index eb65329..702ba85 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar differ diff --git a/clients/comaco/ear/target/maven-archiver/pom.properties b/clients/comaco/ear/target/maven-archiver/pom.properties index f84d54a..0f02879 100644 --- a/clients/comaco/ear/target/maven-archiver/pom.properties +++ b/clients/comaco/ear/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:46 ECT 2022 +#Wed Nov 02 15:37:32 ECT 2022 version=2.1 groupId=com.fp.clients.maia artifactId=maiaear diff --git a/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar b/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar index a6272a1..b674f9c 100644 Binary files a/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar and b/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar differ diff --git a/clients/comaco/environment-eap6/target/maven-archiver/pom.properties b/clients/comaco/environment-eap6/target/maven-archiver/pom.properties index 0745acd..f11e3b8 100644 --- a/clients/comaco/environment-eap6/target/maven-archiver/pom.properties +++ b/clients/comaco/environment-eap6/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Mon Oct 31 16:00:45 ECT 2022 +#Wed Nov 02 15:37:31 ECT 2022 version=2.1 groupId=com.fp.clients.maia artifactId=environment-eap6 diff --git a/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/FacturaController.java b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/FacturaController.java new file mode 100644 index 0000000..be78321 --- /dev/null +++ b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/FacturaController.java @@ -0,0 +1,441 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.fp.frontend.controller.armas.solicitud; + +import com.fp.dto.AbstractDataTransport; +import com.fp.frontend.controller.AbstractController; +import com.fp.frontend.controller.armas.parametros.CentroControlArmasController; +import com.fp.frontend.controller.pcustomer.PersonAddressController; +import com.fp.frontend.controller.pcustomer.PersonDetailController; +import com.fp.frontend.controller.pcustomer.PersonPhoneController; +import com.fp.frontend.controller.pgeneral.gene.CityController; +import com.fp.frontend.controller.pgeneral.gene.ParametersController; +import static com.fp.frontend.controller.pgeneral.gene.ParametersController.find; +import com.fp.persistence.commondb.PersistenceHelper; +import com.fp.persistence.parmas.param.TarmCentroControl; +import com.fp.persistence.parmas.param.TarmTramite; +import com.fp.persistence.parmas.soli.TarmInvoiceHistory; +import com.fp.persistence.parmas.soli.TarmSolicitud; +import com.fp.persistence.parmas.soli.TarmSolicitudTramite; +import com.fp.persistence.pcustomer.gene.TcustPersonAddress; +import com.fp.persistence.pcustomer.gene.TcustPersonDetail; +import com.fp.persistence.pcustomer.gene.TcustPersonPhone; +import com.fp.persistence.pgeneral.gene.TgeneCity; +import com.fp.persistence.pgeneral.gene.TgeneParameters; +import com.fp.persistence.pgeneral.safe.TsafeUserDetail; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.List; +import javax.annotation.PostConstruct; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.ManagedProperty; +import javax.faces.bean.ViewScoped; +import javax.faces.context.FacesContext; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import org.openide.util.Exceptions; +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * CLASE PARA GENERACION DE XML + * @author developer2 + */ +@ManagedBean +@ViewScoped +public class FacturaController extends AbstractController{ + private static final long serialVersionUID = -4049698904561227471L; + + public FacturaController() throws Exception{ + super(AbstractDataTransport.class); + } + + + @ManagedProperty(value = "#{iv}") + private InvoiceHistoryController iv; + + @PostConstruct + public void postConstruct(){ + + + } + + + /** + *Codigo de GENERACION DE XML DE FACTURAS + */ + + + public void crearAgregarHijo(Document doc, Element padre, String nombreElemento, String textoElemento) { + Element hijo = crearElemento(doc, nombreElemento, textoElemento); + agregarHijoPadre(doc, padre, hijo); + } + + public void crearAtributo(Document doc, Element elemento, String nombreAtributo, String valorAtributo) { + Attr attr = doc.createAttribute(nombreAtributo); + attr.setValue(valorAtributo); + elemento.setAttributeNode(attr); + } + + public void crearAgregarHijoAtributo(Document doc, Element padre, String nombreElemento, String textoElemento, String nombreAtributo, String textoAtributo) { + Element hijo = crearElemento(doc, nombreElemento, textoElemento); + crearAtributo(doc, hijo, nombreAtributo, textoAtributo); + agregarHijoPadre(doc, padre, hijo); + } + + public Element crearElemento(Document doc, String nombreElemento, String textoElemento) { + Element elemento1 = doc.createElement(nombreElemento); + elemento1.setTextContent(textoElemento); + return elemento1; + } + + public Element crearElementoSinTexto(Document doc, String nombreElemento) { + Element elemento1 = doc.createElement(nombreElemento); + return elemento1; + } + + public void agregarHijoPadre(Document doc, Element padre, Element hijo) { + padre.appendChild(hijo); + + } + /** + *ACTUALIZAR SECUENCIA DE CENTRO DE CONTROL + */ + public void actualizarSecuenciaCcontrol(TarmCentroControl centroControl, CentroControlArmasController cac) throws Exception{ + centroControl.setSecuenciafacturacion(centroControl.getSecuenciafacturacion()+1); + cac.update(centroControl); + cac.save(); + } + /** + *Buscar direccion de la persona si es la principal (Y) + */ + public TcustPersonAddress setDireccionPrincipal(TcustPersonAddress direccion, List lstdireccionDomicilio){ + + if (lstdireccionDomicilio != null && !lstdireccionDomicilio.isEmpty()) { + for (TcustPersonAddress tcustPersonAddress : lstdireccionDomicilio) { + if (tcustPersonAddress.getPrincipal().equalsIgnoreCase("Y")) { + direccion = tcustPersonAddress; + break; + } + } + } + return direccion; + } + /** + * Buscar el telefono mas principal segun el numero secuencial establecido en addresNumber + */ + public TcustPersonPhone buscarTelefonoPrincipal(List lstTelefonos){ + int masBajo = 0; + Integer index = null; + + if (lstTelefonos != null && !lstTelefonos.isEmpty()) { + for (int j = 0; j < lstTelefonos.size(); j++) { + if (j == 0) { + masBajo = lstTelefonos.get(j).getAddressnumber(); + index = j; + } else { + if (lstTelefonos.get(j).getAddressnumber() < masBajo) { + masBajo = lstTelefonos.get(j).getAddressnumber(); + index = j; + } + } + } + } + return lstTelefonos.get(index) ; + } + /** + * Generar el detalle 1 de la factura + */ + public void generarDetalle1(Document doc, Element detalle1, String codigoPrincipal, String descripcion, Integer cantidad, Double precioUnitario, Double precioTotalSinImpuestos){ + crearAgregarHijo(doc, detalle1, "codigoPrincipal", codigoPrincipal); + crearAgregarHijo(doc, detalle1, "descripcion", descripcion); + crearAgregarHijo(doc, detalle1, "cantidad", cantidad + ""); + crearAgregarHijo(doc, detalle1, "precioUnitario", precioUnitario.toString()); + crearAgregarHijo(doc, detalle1, "descuento", "0.00"); + crearAgregarHijo(doc, detalle1, "precioTotalSinImpuesto", precioTotalSinImpuestos.toString()); + } + /** + *Generar el detalle de los custodios + */ + public void generarCustodio(Document doc, TgeneParameters tCustodio, TarmSolicitud solicitud, TarmSolicitudTramite solicitudTramite, String impuesto, Integer porcentajeDescuento, Element detalles ){ + Element detalle2 = crearElementoSinTexto(doc, "detalle"); + String codigoPrincipal2 = tCustodio.getNumbervalue().toString().contains(".") + ? tCustodio.getNumbervalue().toString().split("\\.")[0] : tCustodio.getNumbervalue().toString() ; int numeroDias = solicitud != null && solicitud.getNumerodiascustodios() != null ? solicitud.getNumerodiascustodios() : null; + int numeroCustodios=solicitud != null ? solicitud.getNumerocustodios() : null; + + String descripcion2 = String.format(tCustodio.getTextvalue(), numeroDias); + Double precioUnitario2 = solicitudTramite.getValorcustodios().doubleValue()/ numeroCustodios; + Double precioTotalSinImpuestos2 = solicitudTramite.getValorcustodios().doubleValue() ; + + crearAgregarHijo(doc, detalle2, "codigoPrincipal", codigoPrincipal2); + crearAgregarHijo(doc, detalle2, "descripcion", descripcion2); + crearAgregarHijo(doc, detalle2, "cantidad", numeroCustodios + ""); + crearAgregarHijo(doc, detalle2, "precioUnitario", precioUnitario2.toString()); + crearAgregarHijo(doc, detalle2, "descuento", "0.00"); + crearAgregarHijo(doc, detalle2, "precioTotalSinImpuesto", precioTotalSinImpuestos2.toString()); + + Element impuestoItem2 = crearElementoSinTexto(doc, "impuestoItem"); + Element impueste2 = crearElementoSinTexto(doc, "impuesto"); + crearAgregarHijo(doc, impueste2, "impuesto", impuesto); + crearAgregarHijo(doc, impueste2, "Porcentaje", porcentajeDescuento + ""); + crearAgregarHijo(doc, impueste2, "baseImponible", precioTotalSinImpuestos2.toString()); + agregarHijoPadre(doc, impuestoItem2, impueste2); + agregarHijoPadre(doc, detalle2, impuestoItem2); + agregarHijoPadre(doc, detalles, detalle2); + + } + + + public File sacarFactura(String codigoSolicitud, File carpetaBase, TsafeUserDetail tsafeUserDetail) throws Exception { + CentroControlArmasController cac = new CentroControlArmasController(); + TgeneParameters tCustodio = find("CUSTODIOSFACTURA", "1"); + + String noDisponible = ""; /**SE SUELE UTILIZAR SI ES QUE SE REQUIERE UN MENSAJE EN DATOS VACIOS*/ + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); + //Elemento raíz + Document doc = docBuilder.newDocument(); + Element factura = doc.createElement("factura"); + doc.appendChild(factura); + + TarmSolicitudTramite solicitudTramite = SolicitudTramiteController.findByCSolicitud(codigoSolicitud); + TarmSolicitud solicitud = SolicitudController.findSolicitudxcodsolicitud(codigoSolicitud); + Integer personCode = solicitud.getPersoncode(); + TcustPersonDetail persona = PersonDetailController.find(personCode.toString()); + TgeneParameters parametroRUC = find("RUCCOMACO", "1"); + TarmTramite tTramite = TarmTramiteController.findSimple(solicitud.getCtramite().toString()); + String rucComaco = parametroRUC.getTextvalue(); + crearAgregarHijo(doc, factura, "ruc", rucComaco); + + TarmCentroControl centroControl = CentroControlArmasController.findPorCodigo(solicitud.getCcentrocontrol()); + String serie = centroControl != null && centroControl.getPuntofacturacion() != null ? + centroControl.getPuntofacturacion().replace("-", "") : ""; + crearAgregarHijo(doc, factura, "secuencia",String.format("%09d", centroControl.getSecuenciafacturacion())); + /** + * ACTUALIZAR LA SECUENCIA DEL CENTRO DE CONTROL + */ + actualizarSecuenciaCcontrol(centroControl, cac); + crearAgregarHijo(doc, factura, "serie", serie); + + //Fecha de emision + SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); + String fechaEmision = sdf.format(Calendar.getInstance().getTime()); + crearAgregarHijo(doc, factura, "fecha", fechaEmision); + + /** + * ============================= DATOS DE PERSONA + */ + crearAgregarHijo(doc, factura, "tipoIdComprador", persona.getIdentificationcatalog()); + crearAgregarHijo(doc, factura, "razonSocialComprador", persona.getName()); + crearAgregarHijo(doc, factura, "identificacionComprador", persona.getIdentification()); + + /** + * *********************** Direccion + */ + TcustPersonAddress direccionDomicilio = null; + List lstdireccionDomicilio = PersonAddressController.findByPersonCodeList(personCode.toString(), "1"); + + direccionDomicilio = setDireccionPrincipal(direccionDomicilio, lstdireccionDomicilio); + + List lstCorreos = PersonAddressController.findByPersonCodeList(personCode.toString(), "3"); + + TcustPersonAddress correo = null; + /** ====================== buscar por menor addresNumber */ + correo = lstCorreos != null || !lstCorreos.isEmpty() ? lstCorreos.get(0) : null; + + TcustPersonPhone telefono = null; + List lstTelefonos = PersonPhoneController.findAll(personCode.toString(), "1"); + telefono = buscarTelefonoPrincipal(lstTelefonos); + + PersonPhoneController.find(personCode.toString(), "1"); + Double valorAPagar = solicitudTramite.getValorapagar().doubleValue(); + crearAgregarHijo(doc, factura, "direccionComprador", direccionDomicilio != null ? direccionDomicilio.getAddress() : noDisponible); + crearAgregarHijo(doc, factura, "totalSinImpuestos", valorAPagar.toString()); + crearAgregarHijo(doc, factura, "totalDescuento", "0.00"); + /** + * ================== impuestoTotal ================ + */ + String impuesto = "IVA"; + int porcentajeDescuento = 0; + + Element impuestoTotal = crearElementoSinTexto(doc, "impuestoTotal"); + Element totalImpuesto1 = crearElementoSinTexto(doc, "totalImpuesto"); + Element totalImpuesto2 = crearElementoSinTexto(doc, "totalImpuesto"); + + crearAgregarHijo(doc, totalImpuesto1, "codigo", impuesto); + crearAgregarHijo(doc, totalImpuesto1, "Porcentaje", porcentajeDescuento + ""); + crearAgregarHijo(doc, totalImpuesto1, "baseImponible", valorAPagar.toString()); + + + crearAgregarHijo(doc, totalImpuesto2, "baseImponible", impuesto); + crearAgregarHijo(doc, totalImpuesto2, "Porcentaje", "12"); + crearAgregarHijo(doc, totalImpuesto2, "baseImponible", "0.00"); + agregarHijoPadre(doc, impuestoTotal, totalImpuesto1); + agregarHijoPadre(doc, impuestoTotal, totalImpuesto2); + agregarHijoPadre(doc, factura, impuestoTotal); + crearAgregarHijo(doc, factura, "totalFactura", valorAPagar.toString()); + /** + * ========================= Detalles ================================ + */ + + String []servicios = tTramite.getServicio() != null ? tTramite.getServicio().split("-"):null; + + String codigoPrincipal = servicios != null ? servicios[0]: ""; /**IMPORTANTE REVISAR*/ + String descripcion = servicios != null ? servicios[1]: ""; + int cantidad = 1; /**Cantidad de productos en solicitud*/ + Double precioUnitario = solicitudTramite.getValortramitearmas().doubleValue(); + Double precioTotalSinImpuestos = precioUnitario * cantidad; + Element detalles = crearElementoSinTexto(doc, "detalles"); + Element detalle1 = crearElementoSinTexto(doc, "detalle"); + + generarDetalle1(doc, detalle1, codigoPrincipal, descripcion, cantidad, precioUnitario, precioTotalSinImpuestos); + + Element impuestoItem = crearElementoSinTexto(doc, "impuestoItem"); + Element impueste = crearElementoSinTexto(doc, "impuesto"); + + crearAgregarHijo(doc, impueste, "impuesto", impuesto); + crearAgregarHijo(doc, impueste, "Porcentaje", porcentajeDescuento + ""); + crearAgregarHijo(doc, impueste, "baseImponible", precioTotalSinImpuestos + ""); + agregarHijoPadre(doc, impuestoItem, impueste); + agregarHijoPadre(doc, detalle1, impuestoItem); + agregarHijoPadre(doc, detalles, detalle1); + + /** + * **** custodios + */ + if (solicitudTramite.getValorcustodios() != null && solicitudTramite.getValorcustodios().doubleValue() > 0) { + generarCustodio(doc, tCustodio, solicitud, solicitudTramite, impuesto, porcentajeDescuento, detalles); + + } + agregarHijoPadre(doc, factura, detalles); + + /** + * ========================= Pagos ================================ + */ + Element pagos = crearElementoSinTexto(doc, "pagos"); + Element pago = crearElementoSinTexto(doc, "pago"); + /** + * formaPago: de momento, tocaria ver los nemonicos a futuro para pago con tarjeta + */ + String formaPago = "EF"; + + Double totalPagar = valorAPagar; + crearAgregarHijo(doc, pago, "formaPago", formaPago); + crearAgregarHijo(doc, pago, "total", totalPagar.toString()); + agregarHijoPadre(doc, pagos, pago); + agregarHijoPadre(doc, factura, pagos); + /** + * ========================= INFOAdicional ======================== + */ + String mail = correo != null ? correo.getAddress() : noDisponible; + String telefonoFijo = telefono != null ? telefono.getPhonenumber() : noDisponible; + if (telefonoFijo.contains("-")) { + telefonoFijo = telefonoFijo.split("-")[1]; + } + TgeneCity Tciudad = null; + if (direccionDomicilio != null) { + Tciudad = CityController.findOnlyOne(direccionDomicilio.getCountrycode(), + direccionDomicilio.getProvincecode(), direccionDomicilio.getCantoncode(), direccionDomicilio.getCitycode()); + } + + String ciudad = Tciudad != null ? Tciudad.getDescription() : noDisponible; + Element infoAdicional = crearElementoSinTexto(doc, "infoAdicional"); + crearAgregarHijoAtributo(doc, infoAdicional, "campoAdicional", mail, "nombre", "Mail"); + crearAgregarHijoAtributo(doc, infoAdicional, "campoAdicional", telefonoFijo, "nombre", "Telefono"); + crearAgregarHijoAtributo(doc, infoAdicional, "campoAdicional", ciudad, "nombre", "Ciudad"); + agregarHijoPadre(doc, factura, infoAdicional); + + //Se escribe el contenido del XML en un archivo + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + DOMSource source = new DOMSource(doc); + + File archivo = new File(carpetaBase, String.format("%s.xml", solicitud.getNumerosolicitud())); + StreamResult result = new StreamResult(archivo); + transformer.transform(source, result); + + try { + crearAuditoria(solicitud.getPk(), tsafeUserDetail.getPk().getUsercode(), + solicitud.getNumerosolicitud(), solicitudTramite.getNumerotramite(), + archivo.getAbsolutePath()); + + } catch (Exception e) { + e.printStackTrace(); + //System.out.println("Error al generar auditoria desde el front>>< "+ e.toString()); + } + return archivo; + } + public String obtenerContenidoArchivo(String archivo) throws FileNotFoundException, IOException { + StringBuilder sb = new StringBuilder(); + FileReader f = new FileReader(archivo); + String cadena; + BufferedReader b = new BufferedReader(f); + while((cadena = b.readLine())!=null) { + sb.append(cadena.concat("\n")); + } + b.close(); + return sb.toString(); + } + public void crearAuditoria( String csoli,String user, String solicitudNumber, String tramiteNumber,String path) throws Exception{ + TarmInvoiceHistory tih = new TarmInvoiceHistory(); + iv = new InvoiceHistoryController(); + tih.setCsolicitud(csoli); + tih.setUsercode(user); + tih.setRegistrationdate(new java.sql.Timestamp(Calendar.getInstance().getTimeInMillis())); + tih.setSolicitudnumber(solicitudNumber); + tih.setTramitenumber(tramiteNumber); + tih.setPathfile(path); + tih.setContentfile(obtenerContenidoArchivo(path)); + //PersistenceHelper.getEntityManager().persist(tih); + System.out.println("com.fp.frontend.controller.armas.solicitud.FacturaController.crearAuditoria()<>> va a gualdal" ); + iv.update(tih); + //PersistenceHelper.getEntityManager().crea + //PersistenceHelper.save(tih); + iv.save(); + System.out.println("com.fp.frontend.controller.armas.solicitud.FacturaController.crearAuditoria()<>> devio avel gualdado" ); + + } + + public void generarFacturas(String csolicitud) { + try { + TsafeUserDetail tsafeUserDetail = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL"); + + String folderPath = find("PATHFACTURASXML", "1").getTextvalue(); + folderPath = folderPath.concat("FRONTEND").concat("/"); + File carpetaBase = new File(folderPath); + carpetaBase.mkdirs(); + File arch = sacarFactura(csolicitud, carpetaBase, tsafeUserDetail ); + byte[] fileContent = Files.readAllBytes(Paths.get(arch.getAbsolutePath())); + this.downloadFile(fileContent, "application/xml", arch.getName()); + + + + } catch (Exception ex) { + System.out.println("Error al guardar el parametro >>>> " + ex.toString()); + Exceptions.printStackTrace(ex); + } + } + + + @Override + protected void querydatabase() { + throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody + } +} diff --git a/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/InvoiceHistoryController.java b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/InvoiceHistoryController.java index 275baa8..821af76 100644 --- a/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/InvoiceHistoryController.java +++ b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/InvoiceHistoryController.java @@ -23,10 +23,11 @@ import javax.faces.bean.ViewScoped; * * @author developer2 */ +@SuppressWarnings("serial") @ManagedBean @ViewScoped public class InvoiceHistoryController extends AbstractController{ - private static final long serialVersionUID = 1L; + public InvoiceHistoryController() throws Exception { super(TarmInvoiceHistory.class); } @@ -49,14 +50,10 @@ public class InvoiceHistoryController extends AbstractController { - /** =================================== vamo a intentar generar la factura =============*/ - - public void crearAgregarHijo(Document doc, Element padre, String nombreElemento, String textoElemento) { - Element hijo = crearElemento(doc, nombreElemento, textoElemento); - agregarHijoPadre(doc, padre, hijo); - } - - public void crearAtributo(Document doc, Element elemento, String nombreAtributo, String valorAtributo) { - Attr attr = doc.createAttribute(nombreAtributo); - attr.setValue(valorAtributo); - elemento.setAttributeNode(attr); - } - - public void crearAgregarHijoAtributo(Document doc, Element padre, String nombreElemento, String textoElemento, String nombreAtributo, String textoAtributo) { - Element hijo = crearElemento(doc, nombreElemento, textoElemento); - crearAtributo(doc, hijo, nombreAtributo, textoAtributo); - agregarHijoPadre(doc, padre, hijo); - } - - public Element crearElemento(Document doc, String nombreElemento, String textoElemento) { - Element elemento1 = doc.createElement(nombreElemento); - elemento1.setTextContent(textoElemento); - return elemento1; - } - - public Element crearElementoSinTexto(Document doc, String nombreElemento) { - Element elemento1 = doc.createElement(nombreElemento); - return elemento1; - } - - public void agregarHijoPadre(Document doc, Element padre, Element hijo) { - padre.appendChild(hijo); - - } - - - - public File sacarFactura(String codigoSolicitud, File carpetaBase, TsafeUserDetail tsafeUserDetail) throws Exception { - CentroControlArmasController cac = new CentroControlArmasController(); - TgeneParameters tCustodio = find("CUSTODIOSFACTURA", "1"); - - String noDisponible = ""; /**SE SUELE UTILIZAR SI ES QUE SE REQUIERE UN MENSAJE EN DATOS VACIOS*/ - DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); - //Elemento raíz - Document doc = docBuilder.newDocument(); - Element factura = doc.createElement("factura"); - doc.appendChild(factura); - - TarmSolicitudTramite solicitudTramite = SolicitudTramiteController.findByCSolicitud(codigoSolicitud); - TarmSolicitud solicitud = SolicitudController.findSolicitudxcodsolicitud(codigoSolicitud); - Integer personCode = solicitud.getPersoncode(); - TcustPersonDetail persona = PersonDetailController.find(personCode.toString()); - TgeneParameters parametroRUC = find("RUCCOMACO", "1"); - TarmTramite tTramite = TarmTramiteController.findSimple(solicitud.getCtramite().toString()); - String rucComaco = parametroRUC.getTextvalue(); - crearAgregarHijo(doc, factura, "ruc", rucComaco); - - String ccentro = solicitud.getCcentrocontrol(); - TarmCentroControl centroControl = CentroControlArmasController.findPorCodigo(ccentro); - String serie = centroControl != null && centroControl.getPuntofacturacion() != null ? - centroControl.getPuntofacturacion().replace("-", "") : ""; - - crearAgregarHijo(doc, factura, "secuencia",String.format("%09d", centroControl.getSecuenciafacturacion())); - /** - * ACTUALIZAR LA SECUENCIA DEL CENTRO DE CONTROL - */ - centroControl.setSecuenciafacturacion(centroControl.getSecuenciafacturacion()+1); - cac.update(centroControl); - cac.save(); - crearAgregarHijo(doc, factura, "serie", serie); - - //Fecha de emision - SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); - String fechaEmision = sdf.format(Calendar.getInstance().getTime()); - crearAgregarHijo(doc, factura, "fecha", fechaEmision); - - /** - * ============================= DATOS DE PERSONA - */ - String tipoDocumento = persona.getIdentificationcatalog(); - String nombre = persona.getName(); - String identificacion = persona.getIdentification(); - crearAgregarHijo(doc, factura, "tipoIdComprador", tipoDocumento); - crearAgregarHijo(doc, factura, "razonSocialComprador", nombre); - crearAgregarHijo(doc, factura, "identificacionComprador", identificacion); - - /** - * *********************** Direccion - */ - TcustPersonAddress direccionDomicilio = null; - List lstdireccionDomicilio = PersonAddressController.findByPersonCodeList(personCode.toString(), "1"); - - - /**lstdireccionDomicilio = (lstdireccionDomicilio == null || lstdireccionDomicilio.isEmpty()) ? - pac.findByPersonCodeList(personCode.toString(), "2") : lstdireccionDomicilio;*/ - - if (lstdireccionDomicilio != null && !lstdireccionDomicilio.isEmpty()) { - for (TcustPersonAddress tcustPersonAddress : lstdireccionDomicilio) { - if (tcustPersonAddress.getPrincipal().equalsIgnoreCase("Y")) { - direccionDomicilio = tcustPersonAddress; - break; - } - } - } - List lstCorreos = PersonAddressController.findByPersonCodeList(personCode.toString(), "3"); - - TcustPersonAddress correo = null; - int masBajo = 0; - /** ====================== buscar por menor addresNumber */ - correo = lstCorreos != null || !lstCorreos.isEmpty() ? lstCorreos.get(0) : null; - - TcustPersonPhone telefono = null; - List lstTelefonos = PersonPhoneController.findAll(personCode.toString(), "1"); - masBajo = 0; - Integer index = null; - - if (lstTelefonos != null && !lstTelefonos.isEmpty()) { - for (int j = 0; j < lstTelefonos.size(); j++) { - if (j == 0) { - masBajo = lstTelefonos.get(j).getAddressnumber(); - index = j; - } else { - if (lstTelefonos.get(j).getAddressnumber() < masBajo) { - masBajo = lstTelefonos.get(j).getAddressnumber(); - index = j; - } - } - } - - telefono =index != null ? lstTelefonos.get(index) : null; - } - - PersonPhoneController.find(personCode.toString(), "1"); - Double valorAPagar = solicitudTramite.getValorapagar().doubleValue(); - crearAgregarHijo(doc, factura, "direccionComprador", direccionDomicilio != null ? direccionDomicilio.getAddress() : noDisponible); - crearAgregarHijo(doc, factura, "totalSinImpuestos", valorAPagar.toString()); - crearAgregarHijo(doc, factura, "totalDescuento", "0.00"); - /** - * ================== impuestoTotal ================ - */ - String impuesto = "IVA"; - int porcentajeDescuento = 0; - - Element impuestoTotal = crearElementoSinTexto(doc, "impuestoTotal"); - Element totalImpuesto1 = crearElementoSinTexto(doc, "totalImpuesto"); - Element totalImpuesto2 = crearElementoSinTexto(doc, "totalImpuesto"); - - crearAgregarHijo(doc, totalImpuesto1, "codigo", impuesto); - crearAgregarHijo(doc, totalImpuesto1, "Porcentaje", porcentajeDescuento + ""); - crearAgregarHijo(doc, totalImpuesto1, "baseImponible", valorAPagar.toString()); - - - crearAgregarHijo(doc, totalImpuesto2, "baseImponible", impuesto); - crearAgregarHijo(doc, totalImpuesto2, "Porcentaje", "12"); - crearAgregarHijo(doc, totalImpuesto2, "baseImponible", "0.00"); - agregarHijoPadre(doc, impuestoTotal, totalImpuesto1); - agregarHijoPadre(doc, impuestoTotal, totalImpuesto2); - agregarHijoPadre(doc, factura, impuestoTotal); - crearAgregarHijo(doc, factura, "totalFactura", valorAPagar.toString()); - /** - * ========================= Detalles ================================ - */ - - String []servicios = tTramite.getServicio() != null ? tTramite.getServicio().split("-"):null; - - String codigoPrincipal = servicios != null ? servicios[0]: ""; /**IMPORTANTE REVISAR*/ - String descripcion = servicios != null ? servicios[1]: ""; - int cantidad = 1; /**Cantidad de productos en solicitud*/ - Double precioUnitario = solicitudTramite.getValortramitearmas().doubleValue(); - Double precioTotalSinImpuestos = precioUnitario * cantidad; - Element detalles = crearElementoSinTexto(doc, "detalles"); - Element detalle1 = crearElementoSinTexto(doc, "detalle"); - crearAgregarHijo(doc, detalle1, "codigoPrincipal", codigoPrincipal); - crearAgregarHijo(doc, detalle1, "descripcion", descripcion); - crearAgregarHijo(doc, detalle1, "cantidad", cantidad + ""); - crearAgregarHijo(doc, detalle1, "precioUnitario", precioUnitario.toString()); - crearAgregarHijo(doc, detalle1, "descuento", "0.00"); - crearAgregarHijo(doc, detalle1, "precioTotalSinImpuesto", precioTotalSinImpuestos.toString()); - - Element impuestoItem = crearElementoSinTexto(doc, "impuestoItem"); - Element impueste = crearElementoSinTexto(doc, "impuesto"); - - crearAgregarHijo(doc, impueste, "impuesto", impuesto); - crearAgregarHijo(doc, impueste, "Porcentaje", porcentajeDescuento + ""); - crearAgregarHijo(doc, impueste, "baseImponible", precioTotalSinImpuestos + ""); - agregarHijoPadre(doc, impuestoItem, impueste); - agregarHijoPadre(doc, detalle1, impuestoItem); - agregarHijoPadre(doc, detalles, detalle1); - - /** - * **** custodios - */ - if (solicitudTramite.getValorcustodios() != null && solicitudTramite.getValorcustodios().doubleValue() > 0) { - Element detalle2 = crearElementoSinTexto(doc, "detalle"); - String codigoPrincipal2 = tCustodio.getNumbervalue().toString().contains(".") - ? tCustodio.getNumbervalue().toString().split("\\.")[0] : tCustodio.getNumbervalue().toString() ; int numeroDias = solicitud != null && solicitud.getNumerodiascustodios() != null ? solicitud.getNumerodiascustodios() : null; - int numeroCustodios=solicitud != null ? solicitud.getNumerocustodios() : null; - - String descripcion2 = String.format(tCustodio.getTextvalue(), numeroDias); - Double precioUnitario2 = solicitudTramite.getValorcustodios().doubleValue()/ numeroCustodios; - Double precioTotalSinImpuestos2 = solicitudTramite.getValorcustodios().doubleValue() ; - - crearAgregarHijo(doc, detalle2, "codigoPrincipal", codigoPrincipal2); - crearAgregarHijo(doc, detalle2, "descripcion", descripcion2); - crearAgregarHijo(doc, detalle2, "cantidad", numeroCustodios + ""); - crearAgregarHijo(doc, detalle2, "precioUnitario", precioUnitario2.toString()); - crearAgregarHijo(doc, detalle2, "descuento", "0.00"); - crearAgregarHijo(doc, detalle2, "precioTotalSinImpuesto", precioTotalSinImpuestos2.toString()); - - Element impuestoItem2 = crearElementoSinTexto(doc, "impuestoItem"); - Element impueste2 = crearElementoSinTexto(doc, "impuesto"); - crearAgregarHijo(doc, impueste2, "impuesto", impuesto); - crearAgregarHijo(doc, impueste2, "Porcentaje", porcentajeDescuento + ""); - crearAgregarHijo(doc, impueste2, "baseImponible", precioTotalSinImpuestos2.toString()); - agregarHijoPadre(doc, impuestoItem2, impueste2); - agregarHijoPadre(doc, detalle2, impuestoItem2); - agregarHijoPadre(doc, detalles, detalle2); - - - } - agregarHijoPadre(doc, factura, detalles); - - /** - * ========================= Pagos ================================ - */ - Element pagos = crearElementoSinTexto(doc, "pagos"); - - Element pago = crearElementoSinTexto(doc, "pago"); - /** - * formaPago: de momento, tocaria ver los nemonicos a futuro para pago con tarjeta - */ - String formaPago = "EF"; - - Double totalPagar = valorAPagar; - crearAgregarHijo(doc, pago, "formaPago", formaPago); - crearAgregarHijo(doc, pago, "total", totalPagar.toString()); - agregarHijoPadre(doc, pagos, pago); - agregarHijoPadre(doc, factura, pagos); - /** - * ========================= INFOAdicional ======================== - */ - String mail = correo != null ? correo.getAddress() : noDisponible; - String telefonoFijo = telefono != null ? telefono.getPhonenumber() : noDisponible; - if (telefonoFijo.contains("-")) { - telefonoFijo = telefonoFijo.split("-")[1]; - } - TgeneCity Tciudad = null; - if (direccionDomicilio != null) { - Tciudad = CityController.findOnlyOne(direccionDomicilio.getCountrycode(), - direccionDomicilio.getProvincecode(), direccionDomicilio.getCantoncode(), direccionDomicilio.getCitycode()); - } - - String ciudad = Tciudad != null ? Tciudad.getDescription() : noDisponible; - - Element infoAdicional = crearElementoSinTexto(doc, "infoAdicional"); - crearAgregarHijoAtributo(doc, infoAdicional, "campoAdicional", mail, "nombre", "Mail"); - crearAgregarHijoAtributo(doc, infoAdicional, "campoAdicional", telefonoFijo, "nombre", "Telefono"); - crearAgregarHijoAtributo(doc, infoAdicional, "campoAdicional", ciudad, "nombre", "Ciudad"); - agregarHijoPadre(doc, factura, infoAdicional); - - //Se escribe el contenido del XML en un archivo - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - Transformer transformer = transformerFactory.newTransformer(); - DOMSource source = new DOMSource(doc); - - File archivo = new File(carpetaBase, String.format("%s.xml", solicitud.getNumerosolicitud())); - StreamResult result = new StreamResult(archivo); - transformer.transform(source, result); - - try { - crearAuditoria(solicitud.getPk(), tsafeUserDetail.getPk().getUsercode(), - solicitud.getNumerosolicitud(), solicitudTramite.getNumerotramite(), - archivo.getAbsolutePath()); - - } catch (Exception e) { - System.out.println("Error al generar auditoria desde el front>>< "+ e.toString()); - } - return archivo; - } - public String obtenerContenidoArchivo(String archivo) throws FileNotFoundException, IOException { - StringBuilder sb = new StringBuilder(); - FileReader f = new FileReader(archivo); - String cadena; - BufferedReader b = new BufferedReader(f); - while((cadena = b.readLine())!=null) { - sb.append(cadena.concat("\n")); - } - b.close(); - return sb.toString(); - } - public void crearAuditoria( String csoli,String user, String solicitudNumber, String tramiteNumber,String path) throws Exception{ - InvoiceHistoryController iv = new InvoiceHistoryController(); /**========> NO OPTIMO, USADO PARA PRUEBAS*/ - TarmInvoiceHistory tih = new TarmInvoiceHistory(); - tih.setCsolicitud(csoli); - tih.setUsercode(user); - tih.setRegistrationdate(new java.sql.Timestamp(Calendar.getInstance().getTimeInMillis())); - tih.setSolicitudnumber(solicitudNumber); - tih.setTramitenumber(tramiteNumber); - tih.setPathfile(path); - tih.setContentfile(obtenerContenidoArchivo(path)); - iv.setRecord(tih); - iv.save(); - } - - public void generarFacturas(String csolicitud) { - try { - TsafeUserDetail tsafeUserDetail = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL"); - - String folderPath = find("PATHFACTURASXML", "1").getTextvalue(); - folderPath = folderPath.concat("FRONTEND").concat("/"); - File carpetaBase = new File(folderPath); - carpetaBase.mkdirs(); - File arch = sacarFactura(csolicitud, carpetaBase, tsafeUserDetail ); - byte[] fileContent = Files.readAllBytes(Paths.get(arch.getAbsolutePath())); - downloadFile(fileContent, "application/xml", arch.getName()); - - - - } catch (Exception ex) { - System.out.println("Error al guardar el parametro >>>> " + ex.toString()); - Exceptions.printStackTrace(ex); - } - } - - /** ======================= COPIADO DE ABRASTRACT CONTROLLER ==================*/ - public void downloadFile(byte[] fileByte, String contentType, String filename) { - try { - int read = 0; - byte[] bytes = new byte[1024]; - - InputStream input = new ByteArrayInputStream(fileByte); - FacesContext context = FacesContext.getCurrentInstance(); - ExternalContext external = context.getExternalContext(); - HttpServletResponse response = (HttpServletResponse) external - .getResponse(); - response.setContentType(contentType); - response.setHeader("Content-Disposition", - "attachment; filename=\"" + filename+"\""); - ServletOutputStream out = response.getOutputStream(); - - while ((read = input.read(bytes)) != -1) { - out.write(bytes, 0, read); - } - out.flush(); - out.close(); - context.responseComplete(); - } catch (IOException ex) { - ex.printStackTrace(); - } - } } diff --git a/frontend/src/main/webapp/pages/armas/generarOrdenTrabajoCustudios.xhtml b/frontend/src/main/webapp/pages/armas/generarOrdenTrabajoCustudios.xhtml index 36f81e1..44b7fa8 100644 --- a/frontend/src/main/webapp/pages/armas/generarOrdenTrabajoCustudios.xhtml +++ b/frontend/src/main/webapp/pages/armas/generarOrdenTrabajoCustudios.xhtml @@ -9,7 +9,6 @@ -