movimenti contabili ripertura scadenze

This commit is contained in:
2024-07-26 17:09:39 +02:00
parent 50a9e940f1
commit e0b31bef6d
6 changed files with 116 additions and 7 deletions

View File

@@ -431,6 +431,60 @@ public class AccountingRules extends QueryRules {
}
public static List<CrlScadParr> completeCrlParrScadScad(Connection conn, CtbScad ctbScad) throws Exception {
String sql =
Query.format(
"SELECT *\n" +
"FROM crl_scad_parr\n" +
"where tipo_anag = %s \n" +
" and cod_anag = %s\n" +
" and anno_part = %s\n" +
" and ser_doc = %s\n" +
" and num_doc = %s\n" +
" and id_riga_scad = %s\n" +
" and num_cmov = %s\n" +
" and id_riga_mov = %s ",
ctbScad.getTipoAnag(),
ctbScad.getCodAnag(),
ctbScad.getAnnoPart(),
ctbScad.getSerDoc(),
ctbScad.getNumDoc(),
ctbScad.getIdRiga(),
ctbScad.getNumCmov(),
ctbScad.getIdRigaMov());
List<CrlScadParr> crlScadParrs = UtilityDB.executeSimpleQueryDTO(conn, sql, CrlScadParr.class);
crlScadParrs.stream().forEach(x->x.setOperation(OperationType.DELETE));
if (crlScadParrs != null && crlScadParrs.size() > 0 ){
sql =
Query.format(
"SELECT *\n" +
"FROM ctb_parr\n" +
"where tipo_anag = %s \n" +
" and cod_anag = %s\n" +
" and anno_part = %s\n" +
" and ser_doc = %s\n" +
" and num_doc = %s\n" +
" and num_cmov = %s\n" +
" and id_riga = %s ",
ctbScad.getTipoAnag(),
ctbScad.getCodAnag(),
ctbScad.getAnnoPart(),
ctbScad.getSerDoc(),
ctbScad.getNumDoc(),
ctbScad.getNumCmov(),
ctbScad.getIdRigaMov());
List<CtbParr> ctbParr = UtilityDB.executeSimpleQueryDTO(conn, sql, CtbParr.class);
ctbParr.stream().forEach(x->x.setOperation(OperationType.DELETE));
ctbScad.setCtbParr(ctbParr);
}
return crlScadParrs;
}
public static List<CtbParr> InsertCtbParr(Connection conn, CtbMovr ctbMovr) throws Exception {
String desAgg;
@@ -538,7 +592,18 @@ public class AccountingRules extends QueryRules {
.setIdRigaScad(ctbScad.getIdRiga())
.setIdRigaMov(ctbMovr.getIdRiga())
.setNumCmov(ctbMovr.getNumCmov());
crlScadParr.setOperation(OperationType.INSERT);
String where = crlScadParr.getEntityHolder().getWhereCondFields(crlScadParr);
String sql = "SELECT id FROM " + crlScadParr.getTableName();
sql = UtilityDB.addwhereCond(sql, where, true);
Long id = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
if (id == null )
crlScadParr.setOperation(OperationType.INSERT);
else {
crlScadParr.setId(id);
crlScadParr.setOperation(OperationType.UPDATE);
}
ctbScad
.setIdRigaMov(ctbMovr.getIdRiga())
.setCrlScadParr(new ArrayList<>()).getCrlScadParr().add(crlScadParr);

View File

@@ -15,10 +15,10 @@ public class CrlScadParr extends EntityBase {
private static final long serialVersionUID = 1L;
public static final String ENTITY = "crl_scad_parr";
@Unique
@SqlField(value = "anno_part")
private Integer annoPart;
@Unique
@SqlField(value = "cod_anag")
private String codAnag;
@@ -27,22 +27,28 @@ public class CrlScadParr extends EntityBase {
@SqlField(value = "id")
private Long id;
@Unique
@SqlField(value = "id_riga_mov")
private Integer idRigaMov;
@Unique
@ImportFromParent(value = "idRiga")
@SqlField(value = "id_riga_scad")
private Integer idRigaScad;
@Unique
@SqlField(value = "num_cmov")
private Integer numCmov;
@Unique
@SqlField(value = "num_doc")
private Integer numDoc;
@Unique
@SqlField(value = "ser_doc")
private String serDoc;
@Unique
@SqlField(value = "tipo_anag")
private String tipoAnag;

View File

@@ -111,9 +111,14 @@ public class CtbScad extends EntityBase {
@JsonProperty(value = "is_insoluto")
private Boolean isInsoluto;
private Boolean riaperta;
@EntityChild
private List<CrlScadParr> crlScadParr;
@Priority(value = 101, copyPk = false)
private List<CtbParr> ctbParr;
public CtbScad() {
super();
}
@@ -361,6 +366,15 @@ public class CtbScad extends EntityBase {
return this;
}
public Boolean getRiaperta() {
return riaperta;
}
public CtbScad setRiaperta(Boolean riaperta) {
this.riaperta = riaperta;
return this;
}
public List<CrlScadParr> getCrlScadParr() {
return crlScadParr;
}
@@ -370,14 +384,21 @@ public class CtbScad extends EntityBase {
return this;
}
public List<CtbParr> getCtbParr() {
return ctbParr;
}
public CtbScad setCtbParr(List<CtbParr> ctbParr) {
this.ctbParr = ctbParr;
return this;
}
@Override
protected void insertChilds() throws Exception {
if (getCrlScadParr() != null) {
for (CrlScadParr crlScadParr : getCrlScadParr()) {
if (crlScadParr.getIdRigaScad() == null)
crlScadParr.setIdRigaScad(getIdRiga());
if (crlScadParr.getIdRigaMov() == null)
crlScadParr.setIdRigaMov(getIdRigaMov());
if (crlScadParr.getIdRigaScad() == null) crlScadParr.setIdRigaScad(getIdRiga());
if (crlScadParr.getIdRigaMov() == null) crlScadParr.setIdRigaMov(getIdRigaMov());
crlScadParr.manageWithParentConnection(connection, crlScadParr.getOperation(), dataCompleting, entityHolder);
}
}

View File

@@ -390,6 +390,19 @@ then
modify ( $entity ) { setDataDoc(dataDoc) }
end
rule "completeCrlParrScad"
no-loop
when
eval(completeRulesEnabled)
$entity: CtbScad(riaperta != null && riaperta && numCmov !=null)
then
List<CrlScadParr> crlScadParrs = AccountingRules.completeCrlParrScadScad(conn, $entity);
modify ( $entity ) { setCrlScadParr(crlScadParrs) }
end
rule "completeCodPagaMov"
no-loop
when

View File

@@ -0,0 +1,2 @@
package it.integry.ems.document.controller;public class DocumentiDifferitiController {
}

View File

@@ -0,0 +1,2 @@
package it.integry.ems.document.service;public class DocumentiDifferitiService {
}