Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
This commit is contained in:
@@ -8,7 +8,7 @@ import java.util.List;
|
||||
public class UpdatePesoArticoloRequestDTO {
|
||||
private String codMart;
|
||||
private BigDecimal taraKg;
|
||||
private List<DtbOrdt> ordersToUpdate;
|
||||
private boolean updateOpenOrdersULs = true;
|
||||
|
||||
|
||||
public String getCodMart() {
|
||||
@@ -29,12 +29,12 @@ public class UpdatePesoArticoloRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<DtbOrdt> getOrdersToUpdate() {
|
||||
return ordersToUpdate;
|
||||
public boolean isUpdateOpenOrdersULs() {
|
||||
return updateOpenOrdersULs;
|
||||
}
|
||||
|
||||
public UpdatePesoArticoloRequestDTO setOrdersToUpdate(List<DtbOrdt> ordersToUpdate) {
|
||||
this.ordersToUpdate = ordersToUpdate;
|
||||
public UpdatePesoArticoloRequestDTO setUpdateOpenOrdersULs(boolean updateOpenOrdersULs) {
|
||||
this.updateOpenOrdersULs = updateOpenOrdersULs;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1315,35 +1315,68 @@ public class ProductServices {
|
||||
return barcode;
|
||||
}
|
||||
|
||||
public List<EntityBase> updatePesoArticolo(UpdatePesoArticoloRequestDTO dto) throws Exception {
|
||||
List<EntityBase> entities = new ArrayList<>();
|
||||
public MtbAart updatePesoArticolo(UpdatePesoArticoloRequestDTO dto) throws Exception {
|
||||
try {
|
||||
MtbAart mtbAart = new MtbAart();
|
||||
mtbAart.setCodMart(dto.getCodMart())
|
||||
.setTaraKg(dto.getTaraKg())
|
||||
.setOperation(OperationType.UPDATE);
|
||||
entities.add(mtbAart);
|
||||
if (!UtilityList.isNullOrEmpty(dto.getOrdersToUpdate())) {
|
||||
for (DtbOrdt ordLav : dto.getOrdersToUpdate()) {
|
||||
String sql = it.integry.ems_model.utility.Query.format("SELECT * from mtb_colt where data_ord = {} and gestione = {} and num_ord = {}",
|
||||
ordLav.getDataOrd(), ordLav.getGestione(), ordLav.getNumOrd());
|
||||
entityProcessor.processEntity(mtbAart, true, multiDBTransactionManager);
|
||||
|
||||
List<MtbColt> coltsToUpdate = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, MtbColt.class);
|
||||
if (UtilityList.isNullOrEmpty(coltsToUpdate)) {
|
||||
continue;
|
||||
if (dto.isUpdateOpenOrdersULs()) {
|
||||
updateOperOrdersForArt(dto.getCodMart());
|
||||
}
|
||||
entities.addAll(coltsToUpdate.stream().map(ul -> {
|
||||
ul.setCalcPeso(true).setOperation(OperationType.UPDATE);
|
||||
return ul;
|
||||
}).collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
|
||||
entityProcessor.processEntityList(entities, true);
|
||||
return mtbAart;
|
||||
} catch (Exception e) {
|
||||
multiDBTransactionManager.rollbackAll();
|
||||
throw e;
|
||||
}
|
||||
return entities;
|
||||
}
|
||||
|
||||
private void updateOperOrdersForArt(String codMart) throws Exception {
|
||||
UtilityDB.executeSimpleUpdate(multiDBTransactionManager.getPrimaryConnection(), it.integry.ems_model.utility.Query.format("\n" +
|
||||
"UPDATE mtb_colr\n" +
|
||||
"SET mtb_colr.peso_lordo_kg = mtb_colr.peso_netto_kg + (mtb_colr.num_cnf * mtb_aart.tara_kg)\n" +
|
||||
"FROM mtb_colr\n" +
|
||||
" INNER JOIN mtb_aart ON mtb_colr.cod_mart = mtb_aart.cod_mart\n" +
|
||||
" INNER JOIN mtb_colt ON mtb_colr.gestione = mtb_colt.gestione AND mtb_colr.data_collo = mtb_colt.data_collo AND\n" +
|
||||
" mtb_colr.ser_collo = mtb_colt.ser_collo AND mtb_colr.num_collo = mtb_colt.num_collo\n" +
|
||||
" INNER JOIN dtb_ordt\n" +
|
||||
" ON dtb_ordt.data_ord = mtb_colt.data_ord AND dtb_ordt.num_ord = mtb_colt.num_ord AND\n" +
|
||||
" dtb_ordt.gestione = mtb_colt.gestione\n" +
|
||||
"WHERE mtb_colt.data_doc IS NULL\n" +
|
||||
" AND mtb_colt.num_doc IS NULL\n" +
|
||||
" AND mtb_colt.gestione = 'L'\n" +
|
||||
" AND segno = 1\n" +
|
||||
" AND mtb_aart.cod_mart = {}\n" +
|
||||
"and dtb_ordt.flag_evaso_prod = 'I'\n" +
|
||||
"and dtb_ordt.flag_evaso_forzato = 'N'", codMart));
|
||||
|
||||
UtilityDB.executeSimpleUpdate(multiDBTransactionManager.getPrimaryConnection(), it.integry.ems_model.utility.Query.format("UPDATE mtb_colt\n" +
|
||||
"SET mtb_colt.peso_kg = mtb_colr.peso_lordo_kg,\n" +
|
||||
" mtb_colt.peso_netto_kg = mtb_colr.peso_netto_kg\n" +
|
||||
"FROM mtb_colt\n" +
|
||||
" INNER JOIN dtb_ordt\n" +
|
||||
" ON dtb_ordt.data_ord = mtb_colt.data_ord AND dtb_ordt.num_ord = mtb_colt.num_ord AND\n" +
|
||||
" dtb_ordt.gestione = mtb_colt.gestione\n" +
|
||||
" INNER JOIN (SELECT data_collo,\n" +
|
||||
" ser_collo,\n" +
|
||||
" gestione,\n" +
|
||||
" num_collo,\n" +
|
||||
" SUM(peso_netto_kg) AS peso_netto_kg,\n" +
|
||||
" SUM(peso_lordo_kg) AS peso_lordo_kg\n" +
|
||||
" FROM mtb_colr\n" +
|
||||
" WHERE gestione = 'L'\n" +
|
||||
" GROUP BY data_collo, ser_collo, gestione, num_collo) mtb_colr\n" +
|
||||
" ON mtb_colr.gestione = mtb_colt.gestione AND mtb_colr.data_collo = mtb_colt.data_collo AND\n" +
|
||||
" mtb_colr.ser_collo = mtb_colt.ser_collo AND mtb_colr.num_collo = mtb_colt.num_collo\n" +
|
||||
"\n" +
|
||||
"WHERE mtb_colt.data_doc IS NULL\n" +
|
||||
" AND mtb_colt.num_doc IS NULL\n" +
|
||||
" AND mtb_colt.gestione = 'L'\n" +
|
||||
" AND dtb_ordt.cod_prod = {}\n" +
|
||||
" AND segno = 1\n" +
|
||||
"and dtb_ordt.flag_evaso_prod = 'I'\n" +
|
||||
"and dtb_ordt.flag_evaso_forzato = 'N'", codMart));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user