Finish Hotfix-43

This commit is contained in:
2024-01-16 12:46:38 +01:00
2 changed files with 33 additions and 7 deletions

View File

@@ -647,12 +647,14 @@ public class DocumentBusinessLogic {
}
//RIGHE COSTI
if (!isAutofattura) {
if (dtbDoct.getGestione().equalsIgnoreCase("A")) {
if (dtbDoct.getGestione().equalsIgnoreCase("A") &&
!UtilityString.isNullOrEmpty(codCconDocAp) && dtbDoct.getGestione().equalsIgnoreCase("A")) {
listaCosti = Stream.of(listaCosti)
.filter(value -> !value.getCostoAP())
.sorted((o1, o2) -> o1.getCodCcon().compareTo(o2.getCodCcon())).toList();
.filter(value -> !value.getCostoAP()).toList();
}
//listaCosti = Coollection.from(listaCosti).orderBy("dataInizComp").orderBy("codCcon").all();
listaCosti = Stream.of(listaCosti)
.sorted(Comparator.comparing(CostiDTO::getCodCcon)).toList();
String codCconCosto, codCconCostoOld = "";
List<CtbMovrCoan> costiCoan = null;

View File

@@ -3546,7 +3546,15 @@ public class DocumentProdService {
String sql = "Select * from dtb_doct " +
" where activity_id IS NULL " +
" AND cod_mdep = " + UtilityDB.valueToString(girocontoLavorazioneDTO.getCodMdep()) +
" AND cod_dtip = " + UtilityDB.valueToString(girocontoLavorazioneDTO.getCodDtip());
" AND cod_dtip = " + UtilityDB.valueToString(girocontoLavorazioneDTO.getCodDtip()) +
" AND EXISTS (SELECT * \n" +
" FROM dtb_docr \n" +
" WHERE dtb_doct.cod_anag = dtb_docr.cod_anag AND \n" +
" dtb_doct.cod_dtip = dtb_docr.cod_dtip AND \n" +
" dtb_doct.data_doc = dtb_docr.data_doc AND \n" +
" dtb_doct.ser_doc = dtb_docr.ser_doc AND \n" +
" dtb_doct.num_doc = dtb_docr.num_doc AND \n" +
" dtb_docr.cod_mart is not null )";
List<DtbDoct> docList = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbDoct.class);
@@ -3605,7 +3613,7 @@ public class DocumentProdService {
}
entityProcessor.processEntityList(docsToPersist, true);
UtilityEntity.throwEntitiesException(entityProcessor.processEntityList(docsToPersist, false));
}
@@ -3623,9 +3631,25 @@ public class DocumentProdService {
for (MaterialiDaDistintaDTO materiaPrima : documentiLavDaDist.sviluppaDistinta(row.getCodMart(), row.getQtaDoc())) {
DtbDocr slavRow = new DtbDocr();
slavRow.setOperation(OperationType.INSERT);
String sql =
it.integry.ems_model.utility.Query.format(
"SELECT cast(count(*) as bit) FROM mtb_partita_mag WHERE cod_mart = %s and partita_mag = %s",
materiaPrima.getCodMart(), row.getPartitaMag());
boolean existLotto = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
String partitaMag = null;
if (existLotto)
partitaMag = row.getPartitaMag();
else {
sql =
it.integry.ems_model.utility.Query.format(
"SELECT partita_mag FROM mtb_partita_mag WHERE cod_mart = %s and data_scad in (select data_scad from mtb_partita_mag WHERE cod_mart = %s AND partita_mag = %s)",
materiaPrima.getCodMart(), row.getCodMart(), row.getPartitaMag());
partitaMag = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
}
slavRow.setCodMart(materiaPrima.getCodMart());
slavRow.setQtaDoc(materiaPrima.getQtaProd());
slavRow.setPartitaMag(row.getPartitaMag());
slavRow.setPartitaMag(partitaMag);
slavRow.setUntDoc(materiaPrima.getUntMisProd());
slavRow.setRapConv(materiaPrima.getRapConvProd());
slav.getDtbDocr().add(slavRow);