Permettere la duplicazione delle uds

This commit is contained in:
2024-06-21 17:54:54 +02:00
parent 7da201e24f
commit b347cf1aff
5 changed files with 56 additions and 15 deletions

View File

@@ -0,0 +1,21 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240621094545 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("PICKING", "SPEDIZIONE", "FLAG_ASK_DUPLICATE_UDS", "N", "Questo flag permetta all'utente di creare nel picking di vendita più UDS partendo da una già creata solo se l'UDS non ha riferimenti a colli di carico.", "SI_NO");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -419,7 +419,7 @@ public class PackagesRules extends QueryRules {
BigDecimal rapPesoLordo = mtbColt.getPesoKg().divide(pesoLordo, 5, RoundingMode.HALF_UP);
BigDecimal rapPesoNetto = mtbColt.getPesoNettoKg().divide(pesoNetto, 5, RoundingMode.HALF_UP);
for (MtbColr mtbColr : righe) {
if (mtbColr.getOperation() != OperationType.DELETE) {
if (mtbColr.getOperation() != OperationType.DELETE && mtbColr.getCodMart() != null) {
BigDecimal pesoNettoRiga = mtbColr.getPesoNettoKg().multiply(rapPesoNetto).setScale(5, RoundingMode.HALF_UP);
BigDecimal pesoLordoRiga = mtbColr.getPesoLordoKg().multiply(rapPesoLordo).setScale(5, RoundingMode.HALF_UP);

View File

@@ -544,8 +544,9 @@ public class MtbColt extends EntityBase implements EquatableEntityInterface<MtbC
return dataDistribuzione;
}
public void setDataDistribuzione(Date dataDistribuzione) {
public MtbColt setDataDistribuzione(Date dataDistribuzione) {
this.dataDistribuzione = dataDistribuzione;
return this;
}
public String getFlagColloAnonimo() {

View File

@@ -86,11 +86,11 @@ public class WMSSpedizioneController {
}
@RequestMapping(value = "duplicateUDSRow", method = RequestMethod.POST)
@RequestMapping(value = "duplicateUDS", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse duplicateUDSRow(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
@RequestBody DuplicateUDSRequestDTO duplicateUDSRowRequestDTO) throws Exception {
ServiceRestResponse duplicateUDS(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
@RequestBody DuplicateUDSRequestDTO duplicateUDSRequestDTO) throws Exception {
return ServiceRestResponse.createPositiveResponse(wmsSpedizioneService.duplicateUDSRow(duplicateUDSRowRequestDTO));
return ServiceRestResponse.createPositiveResponse(wmsSpedizioneService.duplicateUDS(duplicateUDSRequestDTO));
}
}

View File

@@ -499,19 +499,38 @@ public class WMSSpedizioneService {
entityProcessor.processEntity(mtbColt, multiDBTransactionManager);
}
public DuplicateUDSResponseDTO duplicateUDSRow(DuplicateUDSRequestDTO deleteUDSRowRequestDTO) throws Exception {
List<MtbColt> mtbColtList = new ArrayList<>();
public DuplicateUDSResponseDTO duplicateUDS(DuplicateUDSRequestDTO duplicateUDSRequest) throws Exception {
List<MtbColt> mtbColtListToReturn = new ArrayList<>();
for (int i = 0; i < duplicateUDSRequest.getNumOfDuplicates(); i++) {
MtbColt mtbColt = (MtbColt) duplicateUDSRequest.getMtbColt().clone();
MtbColt mtbColt = deleteUDSRowRequestDTO.getMtbColt();
mtbColt.setOperation(OperationType.INSERT);
mtbColt.setNumCollo(null)
.setDataDistribuzione(null)
.setDataVers(null)
.setDataOrd(null)
.setNumOrd(null)
.setOperation(OperationType.INSERT);
for (int i = 0; i < deleteUDSRowRequestDTO.getNumOfDuplicates(); i++) {
mtbColtList.add(mtbColt.setNumCollo(null));
mtbColt.getMtbColr().stream().peek(x -> {
x.setNumCollo(null)
.setDataOrd(null)
.setNumOrd(null)
.setRigaOrd(null);
});
entityProcessor.processEntity(mtbColt, multiDBTransactionManager);
List<MtbColt> distributedUDS = wmsColliService.distribuisciUL(new FiltroDistribuzioneColloDTO()
.setDataCollo(mtbColt.getDataCollo())
.setSerCollo(mtbColt.getSerCollo())
.setGestione(mtbColt.getGestione())
.setNumCollo(mtbColt.getNumCollo())
.setCriterioDistribuzione(FiltroDistribuzioneColloDTO.CriterioDistribuzioneEnum.U.getText()));
mtbColtListToReturn.addAll(distributedUDS);
}
entityProcessor.processEntityList(mtbColtList, true);
return new DuplicateUDSResponseDTO().setMtbColtList(mtbColtList);
return new DuplicateUDSResponseDTO().setMtbColtList(mtbColtListToReturn);
}
}