Sistemato sposta ul in caso di collo l+

This commit is contained in:
2025-02-19 13:37:00 +01:00
parent c7eeacc8f1
commit 5dba36cd15
4 changed files with 52 additions and 30 deletions

View File

@@ -309,7 +309,7 @@ public class LoadColliService {
.ifPresent(docr -> dtbDoct
.setDataOrd(docr.getDataOrd())
.setNumOrd(docr.getNumOrd()));
dtbDocr.stream().forEach(x->x.setFlagSezione(FlagSezione.RIGHE_COLLO.getValue()));
dtbDocr.stream().forEach(x->x.setFlagSezione(FlagSezione.RIGHE_COLLO));
}
if (!loadColli.isSaveDoc()) {

View File

@@ -1173,13 +1173,14 @@ public class DtbDocr extends DtbBaseDocR implements EquatableEntityInterface<Dtb
return flagSezione;
}
public void setFlagSezione(Integer flagSezione) {
public DtbDocr setFlagSezione(Integer flagSezione) {
this.flagSezione = flagSezione;
return this;
}
// public void setFlagSezione (FlagSezione flagSezione) {
// this.setFlagSezione(flagSezione.getValue());
// }
public DtbDocr setFlagSezione (FlagSezione flagSezione) {
return setFlagSezione(flagSezione.getValue());
}
public String getReso() {
return reso;

View File

@@ -2,6 +2,7 @@ package it.integry.ems.retail.wms.Utility;
import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.retail.wms.generic.dto.SpostaArtsTraULResponseDTO;
import it.integry.ems.rules.businessLogic.enums.FlagSezione;
import it.integry.ems.rules.completing.PackagesRules;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -32,6 +33,12 @@ public class WMSUtility {
return mtbDepoTipi.getGestisciColli();
}
public static void createDtbDocrFromMtbColrList(DtbDoct dtbDoct, List<MtbColr> mtbColrList) throws Exception {
for (MtbColr mtbColr : mtbColrList){
createDtbDocrFromMtbColr(dtbDoct, mtbColr);
}
}
public static void createDtbDocrFromMtbColr(DtbDoct dtbDoct, MtbColr mtbColr) throws Exception {
DtbDocr docr = dtbDoct.getDtbDocr().stream()
.filter(row -> row.getCodMart().equalsIgnoreCase(mtbColr.getCodMart()) && row.getPartitaMag().equalsIgnoreCase(mtbColr.getPartitaMag()))
@@ -43,6 +50,7 @@ public class WMSUtility {
.setPartitaMag(mtbColr.getPartitaMag())
.setQtaDoc(BigDecimal.ZERO)
.setNumCnf(BigDecimal.ZERO)
.setFlagSezione(FlagSezione.RIGHE_COLLO)
.setOperation(OperationType.INSERT);
dtbDoct.getDtbDocr().add(docr);

View File

@@ -2042,7 +2042,7 @@ public class WMSGenericService {
short segno = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
if (segno < 0){
if (segno < 0) {
codMdepDoc = mtbDepo.getCodMdep();
MtbDepo mtbDepoPartenza = new MtbDepo();
@@ -2081,8 +2081,8 @@ public class WMSGenericService {
}
for (MtbColt mtbColtToMove : mtbCotlList) {
MtbColt udc = null;
if (gestisciColli) {
CreateUDCRequestDTO CreateUDCRequest = new CreateUDCRequestDTO();
CreateUDCRequest.setCodMdep(mtbDepo.getCodMdep())
@@ -2090,32 +2090,12 @@ public class WMSGenericService {
udc = wmsLavorazioneService.createUDC(CreateUDCRequest);
if (udc.getMtbCols() != null){
udc.getMtbCols().forEach(x -> x.setOperation(OperationType.NO_OP));
}
mtbColtToDoc.add(udc);
}
if (dtbDoct != null) {
for (MtbColr mtbColr : mtbColtToMove.getMtbColr()) {
if (gestisciColli){
InsertUDCRowRequestDTO InsertUDCRowRequest = new InsertUDCRowRequestDTO();
InsertUDCRowRequest
.setCodMart(mtbColr.getCodMart())
.setQtaTot(mtbColr.getQtaCol())
.setQtaCnf(mtbColr.getQtaCnf())
.setNumCnf(mtbColr.getNumCnf())
.setPartitaMag(mtbColr.getPartitaMag())
.setTargetMtbColt(udc);
WMSUtility.createDtbDocrFromMtbColr(
dtbDoct,
wmsAccettazioneService.insertUDCRow(InsertUDCRowRequest).getSavedMtbColr()
);
udc.setOperation(OperationType.UPDATE);
} else {
if (!gestisciColli) {
for (MtbColr mtbColr : mtbColtToMove.getMtbColr()) {
InsertUDSRowRequestDTO insertUDSRowRequest = new InsertUDSRowRequestDTO();
insertUDSRowRequest
.setSourceMtbColr(mtbColr)
@@ -2134,10 +2114,43 @@ public class WMSGenericService {
uds.setOperation(OperationType.UPDATE);
}
} else {
WMSUtility.createDtbDocrFromMtbColrList(
dtbDoct,
WMSUtility.spostaArtsTraUL(mtbColtToMove, udc, false, entityProcessor, requestDataDTO).getGeneratedMtbColr()
);
if (udc.getMtbCols() != null) {
udc.getMtbCols().forEach(x -> x.setOperation(OperationType.NO_OP));
}
}
WMSUtility.trasferisciPedane(mtbColtToMove, listaPedane, dtbDoct);
}
String sql = Query.format(
"SELECT cod_mart\n" +
"FROM mvw_sitart_udc_det_all\n" +
"WHERE num_collo = %s\n" +
" AND data_collo = %s\n" +
" AND ser_collo = %s\n" +
" AND gestione = %s",
mtbColtToMove.getNumCollo(), mtbColtToMove.getDataCollo(), mtbColtToMove.getSerCollo(), mtbColtToMove.getGestione()
);
List<String> listCodMart = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
boolean sameArts = mtbColtToMove.getMtbColr().stream().map(MtbColr::getCodMart).collect(Collectors.toSet()).equals(new HashSet<>(listCodMart));
if (!sameArts) {
if (gestisciColli) {
udc.setCodJfas(mtbColtToMove.getCodJfas())
.setDataVers(mtbColtToMove.getDataVers())
.setBarcodeUl(mtbColtToMove.getBarcodeUl());
} else {
uds.setCodJfas(mtbColtToMove.getCodJfas())
.setDataVers(mtbColtToMove.getDataVers())
.setBarcodeUl(mtbColtToMove.getBarcodeUl());
}
}
}
if (dtbDoct != null && !UtilityString.isNullOrEmpty(requestDTO.getAnnotazioni())) {
@@ -2149,7 +2162,7 @@ public class WMSGenericService {
dtbDoct.getDtbDocr().add(dtbDocr);
}
if (dtbDoct != null && !mtbColtToDoc.isEmpty()){
if (dtbDoct != null && !mtbColtToDoc.isEmpty()) {
dtbDoct.setMtbColt(mtbColtToDoc);
}