diff --git a/ems-core/src/main/java/it/integry/ems/rules/businessLogic/AccountingBusinessLogic.java b/ems-core/src/main/java/it/integry/ems/rules/businessLogic/AccountingBusinessLogic.java index 76f9716e93..8255a466d4 100644 --- a/ems-core/src/main/java/it/integry/ems/rules/businessLogic/AccountingBusinessLogic.java +++ b/ems-core/src/main/java/it/integry/ems/rules/businessLogic/AccountingBusinessLogic.java @@ -68,7 +68,7 @@ public class AccountingBusinessLogic { "Attezione, codice pagamento non presente nel documento %s/%s del %s, %s %s", testata.getSerDoc(), testata.getNumDoc(), - new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY_SLASHED).format(testata.getDataDoc()), + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(testata.getDataDoc()), (testata.getTipoAnag().equalsIgnoreCase("F") ? "fornitore" : "cliente"), testata.getCodAnag())); @@ -120,7 +120,7 @@ public class AccountingBusinessLogic { "Convert(numeric(20,5), importo_enasarco * cambio_divi_cont) as importo_enasarco " + " FROM ctb_rit_acc " + " WHERE num_cmov_fat = " + UtilityDB.valueToString(testata.getNumCmov()) + " AND " + - " data_doc = " + UtilityDB.valueDateToString(testata.getDataDoc(), CommonConstants.DATE_FORMAT_YMD_DASHED) + " AND " + + " data_doc = " + UtilityDB.valueDateToString(testata.getDataDoc(), CommonConstants.DATE_FORMAT_YMD) + " AND " + " ser_doc = " + UtilityDB.valueToString(testata.getSerDoc()) + " AND " + " num_doc = " + UtilityDB.valueToString(testata.getNumDoc()); @@ -186,7 +186,7 @@ public class AccountingBusinessLogic { "SELECT " + UtilityDB.valueToString(testata.getCodAnag()) + " as cod_anag, " + UtilityDB.valueToString(testata.getTipoAnag()) + " as tipo_anag, " + "Cast(" + UtilityDB.valueToString(annoPart) + " as int) as anno_part, " - + "Convert(datetime, " + UtilityDB.valueDateToString(testata.getDataDoc(), CommonConstants.DATE_FORMAT_YMD_DASHED) + ") as data_doc, " + + "Convert(datetime, " + UtilityDB.valueDateToString(testata.getDataDoc(), CommonConstants.DATE_FORMAT_YMD) + ") as data_doc, " + UtilityDB.valueToString(testata.getSerDoc()) + " as ser_doc, " + "Cast( " + UtilityDB.valueToString(testata.getNumDoc()) + " as int ) as num_doc, " + UtilityDB.valueToString(testata.getCodPaga()) + " as cod_paga, " @@ -340,7 +340,7 @@ public class AccountingBusinessLogic { + "ctb_caur_rc.cod_ccon as 'cod_ccon'," + "ctb_caur_rc.tipo_anag as 'tipo_anag', " + "CASE WHEN ctb_caur_rc.tipo_anag is not null and ctb_grup.tipo = 2 and ctb_grup.sezione = 1 then " + UtilityDB.valueToString(testata.getCodAnag()) + " else null end as 'cod_anag', " - + "CAST(CASE WHEN ctb_caur_rc.tipo_anag is not null and ctb_grup.tipo = 2 and ctb_grup.sezione = 1 then Cast(DatePart(yy, " + UtilityDB.valueDateToString(testata.getDataDoc(), CommonConstants.DATE_FORMAT_YMD_DASHED) + ") as varchar) else null end as int) as 'anno_part', " + + "CAST(CASE WHEN ctb_caur_rc.tipo_anag is not null and ctb_grup.tipo = 2 and ctb_grup.sezione = 1 then Cast(DatePart(yy, " + UtilityDB.valueDateToString(testata.getDataDoc(), CommonConstants.DATE_FORMAT_YMD) + ") as varchar) else null end as int) as 'anno_part', " + "CASE WHEN ctb_caur_rc.tipo_anag is not null and ctb_grup.tipo = 2 and ctb_grup.sezione = 1 then " + UtilityDB.valueToString(testata.getSerDoc()) + " else null end as 'ser_doc', " + "CAST( CASE WHEN ctb_caur_rc.tipo_anag is not null and ctb_grup.tipo = 2 and ctb_grup.sezione = 1 then " + UtilityDB.valueToString(testata.getNumDoc()) + " else null end as int) as 'num_doc', " + "CONVERT ( numeric(20,5), CASE ctb_caur_rc.imp_dare " @@ -377,6 +377,11 @@ public class AccountingBusinessLogic { pagaScadenze(testata.getDataCmov(), residuo, elencoScadenze); if (!elencoScadenze.isEmpty()) { + List finalElencoScadenze = elencoScadenze; + ctbMovtRC.getCtbMovr().stream() + .filter(x->x.getNumDoc() != null) + .forEach(x->x.setCtbScad(finalElencoScadenze)); + testata.setCtbScad(elencoScadenze); } } @@ -554,7 +559,7 @@ public class AccountingBusinessLogic { String whereCond = String.format("%s BETWEEN data_iniz AND data_fine", UtilityDB.valueToString(data)); GtbPeriodoFisc gtbPeriodoFisc = getPeriodoFisc(conn, whereCond); if (gtbPeriodoFisc == null) { - throw new Exception("Impossibile individuare il periodo fiscale per la data " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY_SLASHED).format(data)); + throw new Exception("Impossibile individuare il periodo fiscale per la data " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(data)); } return gtbPeriodoFisc; } diff --git a/ems-core/src/main/java/it/integry/ems/rules/completing/AccountingRules.java b/ems-core/src/main/java/it/integry/ems/rules/completing/AccountingRules.java index e6442409c5..be1c9f619a 100644 --- a/ems-core/src/main/java/it/integry/ems/rules/completing/AccountingRules.java +++ b/ems-core/src/main/java/it/integry/ems/rules/completing/AccountingRules.java @@ -15,9 +15,8 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.sql.*; import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.util.*; import java.util.Date; +import java.util.*; public class AccountingRules extends QueryRules { @@ -138,7 +137,7 @@ public class AccountingRules extends QueryRules { public static Integer completeNumDocMov(Connection conn, CtbMovt entity) throws Exception { return DocumentRules.nextNumDoc(conn, - UtilityLocalDate.localDateFromDate(entity.getDataDoc()), + entity.getDataDoc(), entity.getCodIreg(), entity.getSerDoc(), entity.getNumIreg(), @@ -146,7 +145,7 @@ public class AccountingRules extends QueryRules { } - public static Integer getAnnoComp(Connection conn, LocalDate dataCmov) throws SQLException { + public static Integer getAnnoComp(Connection conn, Date dataCmov) throws SQLException { if (dataCmov == null) return UtilityLocalDate.getNow().getYear(); @@ -200,7 +199,7 @@ public class AccountingRules extends QueryRules { String setCompetenzaDaDoc = setupGest.getSetup(connection, "CTB_MOVI", "SETUP", "COMPETENZA_IVA_" + gestione); - sql = "SELECT dbo.f_getDataLiquidazioneIva(" + UtilityDB.valueDateToString(ctbMovt.getDataDoc(), CommonConstants.DATE_FORMAT_YMD_DASHED) + ")"; + sql = "SELECT dbo.f_getDataLiquidazioneIva(" + UtilityDB.valueDateToString(ctbMovt.getDataDoc(), CommonConstants.DATE_FORMAT_YMD) + ")"; Date dataCheck = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql); @@ -725,7 +724,12 @@ public class AccountingRules extends QueryRules { "ser_doc = %s AND " + "num_doc = %s AND " + "id_riga = %s ", - ctbMovr.getCodAnag(), ctbMovr.getTipoAnag(), ctbMovr.getAnnoPart(), ctbMovr.getSerDoc(), ctbMovr.getNumDoc(), ctbMovr.getIdRiga()); + ctbMovr.getCodAnag(), + ctbMovr.getTipoAnag(), + ctbMovr.getAnnoPart(), + ctbMovr.getSerDoc(), + ctbMovr.getNumDoc(), + ctbMovr.getIdRiga()); boolean existRow = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);