Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2024-11-04 17:32:09 +01:00
2 changed files with 90 additions and 35 deletions

View File

@@ -10,6 +10,8 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import it.integry.ems_model.annotation.FK; import it.integry.ems_model.annotation.FK;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Objects;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@@ -78,6 +80,8 @@ public class VtbRiba extends EntityBase {
@SqlField(value = "tipo_anag", maxLength = 1, nullable = false) @SqlField(value = "tipo_anag", maxLength = 1, nullable = false)
private String tipoAnag; private String tipoAnag;
private int segno;
public VtbRiba() { public VtbRiba() {
super(logger); super(logger);
} }
@@ -86,135 +90,174 @@ public class VtbRiba extends EntityBase {
return dataDist; return dataDist;
} }
public void setDataDist(Date dataDist) { public VtbRiba setDataDist(Date dataDist) {
this.dataDist = dataDist; this.dataDist = dataDist;
return this;
} }
public Integer getRifDist() { public Integer getRifDist() {
return rifDist; return rifDist;
} }
public void setRifDist(Integer rifDist) { public VtbRiba setRifDist(Integer rifDist) {
this.rifDist = rifDist; this.rifDist = rifDist;
return this;
} }
public Integer getRiga() { public Integer getRiga() {
return riga; return riga;
} }
public void setRiga(Integer riga) { public VtbRiba setRiga(Integer riga) {
this.riga = riga; this.riga = riga;
return this;
} }
public BigDecimal getCambioDiviCont() { public BigDecimal getCambioDiviCont() {
return cambioDiviCont; return cambioDiviCont;
} }
public void setCambioDiviCont(BigDecimal cambioDiviCont) { public VtbRiba setCambioDiviCont(BigDecimal cambioDiviCont) {
this.cambioDiviCont = cambioDiviCont; this.cambioDiviCont = cambioDiviCont;
return this;
} }
public String getCodAnag() { public String getCodAnag() {
return codAnag; return codAnag;
} }
public void setCodAnag(String codAnag) { public VtbRiba setCodAnag(String codAnag) {
this.codAnag = codAnag; this.codAnag = codAnag;
return this;
} }
public String getCodDiviCont() { public String getCodDiviCont() {
return codDiviCont; return codDiviCont;
} }
public void setCodDiviCont(String codDiviCont) { public VtbRiba setCodDiviCont(String codDiviCont) {
this.codDiviCont = codDiviCont; this.codDiviCont = codDiviCont;
return this;
} }
public Date getDataDoc() { public Date getDataDoc() {
return dataDoc; return dataDoc;
} }
public void setDataDoc(Date dataDoc) { public VtbRiba setDataDoc(Date dataDoc) {
this.dataDoc = dataDoc; this.dataDoc = dataDoc;
return this;
} }
public Date getDataRientroCast() { public Date getDataRientroCast() {
return dataRientroCast; return dataRientroCast;
} }
public void setDataRientroCast(Date dataRientroCast) { public VtbRiba setDataRientroCast(Date dataRientroCast) {
this.dataRientroCast = dataRientroCast; this.dataRientroCast = dataRientroCast;
return this;
} }
public Date getDataScad() { public Date getDataScad() {
return dataScad; return dataScad;
} }
public void setDataScad(Date dataScad) { public VtbRiba setDataScad(Date dataScad) {
this.dataScad = dataScad; this.dataScad = dataScad;
return this;
} }
public Date getDataValuta() { public Date getDataValuta() {
return dataValuta; return dataValuta;
} }
public void setDataValuta(Date dataValuta) { public VtbRiba setDataValuta(Date dataValuta) {
this.dataValuta = dataValuta; this.dataValuta = dataValuta;
return this;
} }
public Integer getIdGruppo() { public Integer getIdGruppo() {
return idGruppo; return idGruppo;
} }
public void setIdGruppo(Integer idGruppo) { public VtbRiba setIdGruppo(Integer idGruppo) {
this.idGruppo = idGruppo; this.idGruppo = idGruppo;
return this;
} }
public BigDecimal getImpScad() { public BigDecimal getImpScad() {
return impScad; return impScad;
} }
public void setImpScad(BigDecimal impScad) { public VtbRiba setImpScad(BigDecimal impScad) {
this.impScad = impScad; this.impScad = impScad;
return this;
} }
public Integer getNumDoc() { public Integer getNumDoc() {
return numDoc; return numDoc;
} }
public void setNumDoc(Integer numDoc) { public VtbRiba setNumDoc(Integer numDoc) {
this.numDoc = numDoc; this.numDoc = numDoc;
return this;
} }
public Integer getNumScad() { public Integer getNumScad() {
return numScad; return numScad;
} }
public void setNumScad(Integer numScad) { public VtbRiba setNumScad(Integer numScad) {
this.numScad = numScad; this.numScad = numScad;
return this;
} }
public String getRifDebito() { public String getRifDebito() {
return rifDebito; return rifDebito;
} }
public void setRifDebito(String rifDebito) { public VtbRiba setRifDebito(String rifDebito) {
this.rifDebito = rifDebito; this.rifDebito = rifDebito;
return this;
} }
public String getSerDoc() { public String getSerDoc() {
return serDoc; return serDoc;
} }
public void setSerDoc(String serDoc) { public VtbRiba setSerDoc(String serDoc) {
this.serDoc = serDoc; this.serDoc = serDoc;
return this;
} }
public String getTipoAnag() { public String getTipoAnag() {
return tipoAnag; return tipoAnag;
} }
public void setTipoAnag(String tipoAnag) { public VtbRiba setTipoAnag(String tipoAnag) {
this.tipoAnag = tipoAnag; this.tipoAnag = tipoAnag;
return this;
}
public int getSegno() {
return segno;
}
public VtbRiba setSegno(int segno) {
this.segno = segno;
return this;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof VtbRiba)) return false;
VtbRiba vtbRiba = (VtbRiba) o;
return getSegno() == vtbRiba.getSegno() && Objects.equals(getDataDist(), vtbRiba.getDataDist()) && Objects.equals(getRifDist(), vtbRiba.getRifDist()) && Objects.equals(getRiga(), vtbRiba.getRiga()) && Objects.equals(getCambioDiviCont(), vtbRiba.getCambioDiviCont()) && Objects.equals(getCodAnag(), vtbRiba.getCodAnag()) && Objects.equals(getCodDiviCont(), vtbRiba.getCodDiviCont()) && Objects.equals(getDataDoc(), vtbRiba.getDataDoc()) && Objects.equals(getDataRientroCast(), vtbRiba.getDataRientroCast()) && Objects.equals(getDataScad(), vtbRiba.getDataScad()) && Objects.equals(getDataValuta(), vtbRiba.getDataValuta()) && Objects.equals(getIdGruppo(), vtbRiba.getIdGruppo()) && Objects.equals(getImpScad(), vtbRiba.getImpScad()) && Objects.equals(getNumDoc(), vtbRiba.getNumDoc()) && Objects.equals(getNumScad(), vtbRiba.getNumScad()) && Objects.equals(getRifDebito(), vtbRiba.getRifDebito()) && Objects.equals(getSerDoc(), vtbRiba.getSerDoc()) && Objects.equals(getTipoAnag(), vtbRiba.getTipoAnag());
}
@Override
public int hashCode() {
return Objects.hash(getDataDist(), getRifDist(), getRiga(), getCambioDiviCont(), getCodAnag(), getCodDiviCont(), getDataDoc(), getDataRientroCast(), getDataScad(), getDataValuta(), getIdGruppo(), getImpScad(), getNumDoc(), getNumScad(), getRifDebito(), getSerDoc(), getTipoAnag(), getSegno());
} }
} }

View File

@@ -63,6 +63,7 @@ import java.sql.SQLException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
@Service @Service
@Scope("request") @Scope("request")
@@ -956,16 +957,27 @@ public class ContabilService {
ctbMovt.setOperation(OperationType.INSERT); ctbMovt.setOperation(OperationType.INSERT);
List<VtbRiba> listGruppoRiba = Stream.of(listVtbRiba)
.distinctBy(r -> r.getIdGruppo() + r.getTipoAnag() + r.getCodAnag())
.toList();
for (VtbRiba gruppoRiba : listGruppoRiba) { List<Map.Entry<VtbRiba, List<VtbRiba>>> listGruppoRiba = Stream.of(listVtbRiba)
.groupBy(r -> {
return new VtbRiba()
.setIdGruppo(r.getIdGruppo())
.setTipoAnag(r.getTipoAnag())
.setCodAnag(r.getCodAnag())
.setSegno(r.getImpScad().signum());
}).toList();
/*
List<VtbRiba> listGruppoRiba =Stream.of(listVtbRiba)
.distinctBy(r -> r.getIdGruppo() + r.getTipoAnag() + r.getCodAnag() + r.getImpScad().signum())
.toList(); */
for (Map.Entry<VtbRiba, List<VtbRiba>> r : listGruppoRiba) {
BigDecimal impDare, impAvere; BigDecimal impDare, impAvere;
String desAgg; String desAgg;
Integer gruppo = gruppoRiba.getIdGruppo(); Integer gruppo = r.getKey().getIdGruppo();
String tipoAnag = gruppoRiba.getTipoAnag(); String tipoAnag = r.getKey().getTipoAnag();
String codAnag = gruppoRiba.getCodAnag(); String codAnag = r.getKey().getCodAnag();
logger.trace("Elaborazione Cliente : " + codAnag); logger.trace("Elaborazione Cliente : " + codAnag);
@@ -988,12 +1000,12 @@ public class ContabilService {
query = "SELECT rag_soc FROM gtb_anag WHERE cod_anag = " + UtilityDB.valueToString(codAnag); query = "SELECT rag_soc FROM gtb_anag WHERE cod_anag = " + UtilityDB.valueToString(codAnag);
String ragSoc = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query); String ragSoc = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
if ("A".equals(distinta.getFlagEffetti())) { if ("A".equalsIgnoreCase(distinta.getFlagEffetti())) {
desAgg = UtilityString.left("PART.N. " + gruppoRiba.getNumDoc() + desAgg = UtilityString.left("PART.N. " + r.getValue().get(0).getNumDoc() +
' ' + gruppoRiba.getSerDoc() + ' ' + r.getValue().get(0).getSerDoc() +
' ' + UtilityString.streNull(ragSoc), 40); ' ' + UtilityString.streNull(ragSoc), 255);
} else { } else {
desAgg = UtilityString.left(gruppoRiba.getRifDebito(), 40); desAgg = UtilityString.left(r.getValue().get(0).getRifDebito(), 255);
} }
// CTB_MOVR RIGA PARTITE // CTB_MOVR RIGA PARTITE
@@ -1011,19 +1023,19 @@ public class ContabilService {
if (chiudiPartita ) { if (chiudiPartita ) {
ctbMovr ctbMovr
.setAnnoPart(UtilityDate.getYear(gruppoRiba.getDataDoc())) .setAnnoPart(UtilityDate.getYear(r.getValue().get(0).getDataDoc()))
.setSerDoc(gruppoRiba.getSerDoc()) .setSerDoc(r.getValue().get(0).getSerDoc())
.setNumDoc(gruppoRiba.getNumDoc()); .setNumDoc(r.getValue().get(0).getNumDoc());
} }
ctbMovt.getCtbMovr().add(ctbMovr); ctbMovt.getCtbMovr().add(ctbMovr);
List<VtbRiba> listRiba = Stream.of(listVtbRiba).filter(r -> r.getIdGruppo().equals(gruppo) && /* List<VtbRiba> listRiba = Stream.of(listVtbRiba).filter(r -> r.getIdGruppo().equals(gruppo) &&
r.getTipoAnag().equals(tipoAnag) && r.getCodAnag().equals(codAnag)) r.getTipoAnag().equals(tipoAnag) && r.getCodAnag().equals(codAnag))
.toList(); .toList(); */
BigDecimal importoCP = BigDecimal.ZERO; BigDecimal importoCP = BigDecimal.ZERO;
for (VtbRiba riga : listRiba) { for (VtbRiba riga : r.getValue()) {
query = query =
Query.format( Query.format(
"SELECT cambio\n" + "SELECT cambio\n" +