aggiunta codice pagamento su scadenze se sono null
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-06-20 17:36:46 +02:00
parent e2d4b47ca6
commit fc1a1a7f01
3 changed files with 41 additions and 28 deletions

View File

@@ -23,8 +23,8 @@ public class AccountingRules extends QueryRules {
public static String completeCodBene(Connection conn, CtbBeni ctbBeni) throws SQLException {
String sql =
Query.format(
"SELECT dbo.f_suggestCodeCodBene(%s)", ctbBeni.getCodCatbene());
Query.format(
"SELECT dbo.f_suggestCodeCodBene(%s)", ctbBeni.getCodCatbene());
String codBene = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
@@ -34,8 +34,8 @@ public class AccountingRules extends QueryRules {
sql =
Query.format(
"SELECT ISNULL( max(cast(right(cod_bene, [LUNGHEZZA] ) as int)) ,0)\n" +
" FROM ctb_beni\n" +
" WHERE cod_bene like %S AND ISNUMERIC(right(cod_bene, [LUNGHEZZA])) = 1", partialCode);
" FROM ctb_beni\n" +
" WHERE cod_bene like %S AND ISNUMERIC(right(cod_bene, [LUNGHEZZA])) = 1", partialCode);
sql = sql.replace("[LUNGHEZZA]", UtilityDB.valueToString(len));
Integer maxCode = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
codBene = ctbBeni.getCodCatbene() + String.format("%0" + len + "d", maxCode + 1);
@@ -523,8 +523,8 @@ public class AccountingRules extends QueryRules {
String sql =
Query.format(
"SELECT * " +
" FROM ctb_parr " +
" WHERE num_cmov = %S AND " +
" FROM ctb_parr " +
" WHERE num_cmov = %S AND " +
"anno_part = %S AND " +
"ser_doc = %S AND " +
"num_doc = %S AND " +
@@ -664,15 +664,15 @@ public class AccountingRules extends QueryRules {
} else {
sql =
Query.format(
"SELECT cast(case when count(*) > 1 THEN 1 ELSE 0 eND as bit) " +
" FROM ctb_parr " +
" WHERE cod_anag = %s AND " +
"tipo_anag = %s AND " +
"anno_part = %s AND " +
"ser_doc = %s AND " +
"num_doc = %s AND " +
"id_riga = %s ",
ctbMovr.getCodAnag(), ctbMovr.getTipoAnag(), ctbMovr.getAnnoPart(), ctbMovr.getSerDoc(), ctbMovr.getNumDoc(), ctbMovr.getIdRiga());
"SELECT cast(case when count(*) > 1 THEN 1 ELSE 0 eND as bit) " +
" FROM ctb_parr " +
" WHERE cod_anag = %s AND " +
"tipo_anag = %s AND " +
"anno_part = %s AND " +
"ser_doc = %s AND " +
"num_doc = %s AND " +
"id_riga = %s ",
ctbMovr.getCodAnag(), ctbMovr.getTipoAnag(), ctbMovr.getAnnoPart(), ctbMovr.getSerDoc(), ctbMovr.getNumDoc(), ctbMovr.getIdRiga());
boolean existRow = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
@@ -855,6 +855,17 @@ public class AccountingRules extends QueryRules {
}
public static void completeCtbScadCtbPart(Connection conn, CtbPart ctbPart) throws Exception {
String sql = Query.format("SELECT descrizione FROM gtb_paga WHERE cod_paga = %s",
ctbPart.getCodPaga());
String descizione = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
ctbPart.getCtbScad()
.stream()
.filter(x -> x.getCodPaga() == null)
.forEach(x ->
x.setCodPaga(ctbPart.getCodPaga()).setDescrizPag(descizione));
}
public static Date completeDataRicezione(Connection connection, CtbMovt ctbMovt) throws Exception {
Date dataRicezione = null;
String idAttach = ctbMovt.getCrlMovAttached().get(0).getIdAttach();
@@ -1038,19 +1049,19 @@ public class AccountingRules extends QueryRules {
public static Boolean completeVentilazione(Connection connection, CtbMovi ctbMovi) throws SQLException {
boolean ventilazione;
if ( ctbMovi.getParent() instanceof CtbMovt) {
if (ctbMovi.getParent() instanceof CtbMovt) {
String sql =
Query.format(
"SELECT CAST(IIF((registro.segno_liquid = -1 AND flag_iva_acq_merci = 'S') OR ( registro.segno_liquid = 1 AND flag_iva_da_ventilare = 'S'), 1, 0) AS BIT)\n" +
"FROM gtb_aliq,\n" +
" (SELECT segno_liquid FROM ctb_ireg WHERE cod_ireg = %s) registro \n" +
"WHERE cod_aliq = %s",
"SELECT CAST(IIF((registro.segno_liquid = -1 AND flag_iva_acq_merci = 'S') OR ( registro.segno_liquid = 1 AND flag_iva_da_ventilare = 'S'), 1, 0) AS BIT)\n" +
"FROM gtb_aliq,\n" +
" (SELECT segno_liquid FROM ctb_ireg WHERE cod_ireg = %s) registro \n" +
"WHERE cod_aliq = %s",
((CtbMovt) ctbMovi.getParent()).getCodIreg(),
ctbMovi.getCodAliq());
ventilazione = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
} else {
ventilazione = ctbMovi.getVentilazione()==null?false:ctbMovi.getVentilazione();
ventilazione = ctbMovi.getVentilazione() == null ? false : ctbMovi.getVentilazione();
}
return ventilazione;
}

View File

@@ -131,6 +131,15 @@ then
AccountingRules.completeIdRigaScad(conn, $ctbScad);
end
rule "completeCtbPart"
no-loop
when
eval(postRulesEnabled)
$ctbPart: CtbPart( codPaga != null && ctbScad.size() > 0)
then
AccountingRules.completeCtbScadCtbPart(conn, $ctbPart);
end
rule "completeRigaMtbColr"
no-loop

View File

@@ -80,12 +80,6 @@ public class ScadenzeImportService {
String diacod = line.substring(92, 108).trim();
Integer numDoc = UtilityString.isIntNumber(line.substring(185, 197).trim()) ? UtilityInteger.stringToInteger(line.substring(185, 197).trim()) : null;
String intercode = line.substring(197, 223);
sql = Query.format(
"SELECT CAST(COUNT(*) AS BIT) AS exist FROM gtb_paga WHERE cod_paga = %s",
codPaga
);
codPaga = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql) ? codPaga : null;
sql = Query.format(
"SELECT cod_anag FROM gtb_anag WHERE diacod = %s",
diacod
@@ -218,7 +212,6 @@ public class ScadenzeImportService {
ctbScad.setDataScad(dataScad)
.setImpAvere(impAvere)
.setImpDare(impDare)
.setCodPaga(codPaga)
.setIntercode(intercode)
.setOperation(OperationType.INSERT);
}