Merge branch 'develop' into feature/JDK11
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -193,7 +193,7 @@ public class LicorProductionService {
|
||||
.setPartitaMag(scarico.getPartitaMag())
|
||||
.setTargetMtbColt(scaricoMaterialiAgg)
|
||||
.setQtaCnf(scarico.getQtaCnf())
|
||||
.setDataOrd(chiusuraLavorazioneDTO.getOrdine().getDataOrd())
|
||||
.setDataOrd(UtilityLocalDate.localDateFromDate(chiusuraLavorazioneDTO.getOrdine().getDataOrd()))
|
||||
.setRigaOrd(rigaOrd)
|
||||
.setNumOrd(chiusuraLavorazioneDTO.getOrdine().getNumOrd());
|
||||
wmsLavorazioneService.insertUDSRow(insertRequestDto);
|
||||
@@ -419,7 +419,7 @@ public class LicorProductionService {
|
||||
requestDTO.setQtaCnf(rigaOrdine.getQtaCnf());
|
||||
requestDTO.setNumCnf(UtilityBigDecimal.divide(inventarioDTO.getQtaCol(), rigaOrdine.getQtaCnf()));
|
||||
|
||||
requestDTO.setDataOrd(rigaOrdine.getDataOrd());
|
||||
requestDTO.setDataOrd(UtilityLocalDate.localDateFromDate(rigaOrdine.getDataOrd()));
|
||||
requestDTO.setNumOrd(rigaOrdine.getNumOrd());
|
||||
requestDTO.setRigaOrd(rigaOrdine.getRigaOrd());
|
||||
|
||||
@@ -443,7 +443,7 @@ public class LicorProductionService {
|
||||
requestDTO.setQtaCnf(rigaOrdine.getQtaCnf());
|
||||
requestDTO.setNumCnf(UtilityBigDecimal.divide(disp.getQta(), rigaOrdine.getQtaCnf()));
|
||||
|
||||
requestDTO.setDataOrd(rigaOrdine.getDataOrd());
|
||||
requestDTO.setDataOrd(UtilityLocalDate.localDateFromDate(rigaOrdine.getDataOrd()));
|
||||
requestDTO.setNumOrd(rigaOrdine.getNumOrd());
|
||||
requestDTO.setRigaOrd(rigaOrdine.getRigaOrd());
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import it.integry.ems.document.dto.ULRowDTO;
|
||||
import it.integry.ems.document.dto.UlVenditaDTO;
|
||||
import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.menu.dto.StbMenuDTO;
|
||||
import it.integry.ems.retail.wms.accettazione.service.WMSAccettazioneService;
|
||||
import it.integry.ems.retail.wms.dto.*;
|
||||
import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO;
|
||||
@@ -25,7 +24,6 @@ import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -852,7 +850,7 @@ public class DocumentiDirettiService {
|
||||
.setCodMart(ulRowDTO.getCodMart())
|
||||
.setPartitaMag(ulRowDTO.getPartitaMag())
|
||||
.setQtaTot(ulRowDTO.getQtaCol())
|
||||
.setDataOrd(ulRowDTO.getDataOrd() != null ? UtilityLocalDate.localDateToDate(ulRowDTO.getDataOrd()) : null)
|
||||
.setDataOrd(ulRowDTO.getDataOrd() != null ? ulRowDTO.getDataOrd() : null)
|
||||
.setNumOrd(ulRowDTO.getNumOrd())
|
||||
.setRigaOrd(ulRowDTO.getRigaOrd())
|
||||
.setTargetMtbColt(uds)
|
||||
|
||||
@@ -1753,7 +1753,7 @@ public class MesProductionServiceV2 {
|
||||
.setSourceMtbColr(sourceMtbColr)
|
||||
.setTargetMtbColt(uds)
|
||||
.setQtaCnf(scarico.getQtaCnf())
|
||||
.setDataOrd(ordine.getDataOrd())
|
||||
.setDataOrd(UtilityLocalDate.localDateFromDate(ordine.getDataOrd()))
|
||||
.setRigaOrd(rigaOrd)
|
||||
.setNumOrd(ordine.getNumOrd());
|
||||
wmsLavorazioneService.insertUDSRow(insertRequestDto);
|
||||
|
||||
@@ -4,20 +4,24 @@ import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.ems._context.ApplicationContextProvider;
|
||||
import it.integry.ems.dynamic_cache.EntityCacheComponent;
|
||||
import it.integry.ems.exception.MissingDataException;
|
||||
import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.retail.wms.dto.InsertUDCRowRequestDTO;
|
||||
import it.integry.ems.retail.wms.dto.InsertUDCRowResponseDTO;
|
||||
import it.integry.ems.retail.wms.dto.*;
|
||||
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
||||
import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO;
|
||||
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.service.dto.production.OrdineLavorazioneDTO;
|
||||
import it.integry.ems.service.production.ProductionOrderDataHandlerService;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.entity._enum.GestioneEnum;
|
||||
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -26,10 +30,7 @@ import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.SQLException;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class WMSUtility {
|
||||
@@ -117,6 +118,232 @@ public class WMSUtility {
|
||||
return listaPedane;
|
||||
}
|
||||
|
||||
|
||||
public static MtbColt createUDSLavorazioneMovement(MultiDBTransactionManager multiDBTransactionManager, CreateUDSRequestDTO createUDSRequestDTO, String username) throws Exception {
|
||||
DroolsDataCompleting droolsDataCompleting = ApplicationContextProvider.getApplicationContext().getBean(DroolsDataCompleting.class);
|
||||
EntityProcessor entityProcessor = ApplicationContextProvider.getApplicationContext().getBean(EntityProcessor.class);
|
||||
ProductionOrderDataHandlerService productionOrderDataHandlerService = ApplicationContextProvider.getApplicationContext().getBean(ProductionOrderDataHandlerService.class);
|
||||
|
||||
if (createUDSRequestDTO.getCausaleCollo() == null) {
|
||||
throw new MissingDataException("Causale collo non specificata");
|
||||
}
|
||||
|
||||
List<DtbOrdt> foundDtbOrdts = new ArrayList<>();
|
||||
|
||||
if (createUDSRequestDTO.getOrders() != null) {
|
||||
for (CreateUDSRequestOrderDTO orderDTO : createUDSRequestDTO.getOrders()) {
|
||||
DtbOrdt dtbOrdt = orderDTO.toDtbOrdtEntity();
|
||||
dtbOrdt.setOperation(OperationType.SELECT_OBJECT);
|
||||
|
||||
entityProcessor.processEntity(dtbOrdt, true, multiDBTransactionManager);
|
||||
foundDtbOrdts.add(dtbOrdt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MtbColt udsMtbColt = new MtbColt()
|
||||
.setGestione(GestioneEnum.LAVORAZIONE.getText())
|
||||
.setDataCollo(createUDSRequestDTO.getDataCollo() != null ? createUDSRequestDTO.getDataCollo() : UtilityLocalDate.getNow())
|
||||
.setNumCollo(createUDSRequestDTO.getNumCollo())
|
||||
.setSerCollo(createUDSRequestDTO.getSerCollo())
|
||||
.setCodMdep(createUDSRequestDTO.getCodMdep())
|
||||
.setSegno(createUDSRequestDTO.getSegno())
|
||||
.setAnnotazioni(createUDSRequestDTO.getAnnotazioni())
|
||||
.setOraInizPrep(UtilityDate.isNull(UtilityLocalDate.localDateTimeToDate(createUDSRequestDTO.getOraInizPrep()), new Date()))
|
||||
.setPreparatoDa(username)
|
||||
.setPosizione(createUDSRequestDTO.getPosizione())
|
||||
.setCodJfas(createUDSRequestDTO.getCodJfas())
|
||||
.setRifOrd(createUDSRequestDTO.getRifOrd())
|
||||
.setCodAnag(createUDSRequestDTO.getCodAnag())
|
||||
.setCodVdes(createUDSRequestDTO.getCodVdes())
|
||||
.setCodTcol(createUDSRequestDTO.getCodTcol())
|
||||
.setIdLotto(createUDSRequestDTO.getIdLotto());
|
||||
udsMtbColt.setOperation(OperationType.INSERT);
|
||||
|
||||
switch (createUDSRequestDTO.getCausaleCollo()) {
|
||||
case SCARICO:
|
||||
final List<String> foundCodJfasList = foundDtbOrdts.stream()
|
||||
.map(DtbOrdt::getCodJfas)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (foundCodJfasList.size() == 1)
|
||||
udsMtbColt.setCodJfas(foundCodJfasList.get(0));
|
||||
|
||||
udsMtbColt.setSegno(-1);
|
||||
break;
|
||||
|
||||
case POSIZIONAMENTO:
|
||||
udsMtbColt.setSegno(1);
|
||||
break;
|
||||
}
|
||||
|
||||
if (UtilityString.isNullOrEmpty(udsMtbColt.getSerCollo())) {
|
||||
udsMtbColt.setSerCollo(PackagesRules.getSerCollo(
|
||||
multiDBTransactionManager.getPrimaryConnection(),
|
||||
createUDSRequestDTO.getCodMdep()));
|
||||
}
|
||||
|
||||
if (foundDtbOrdts.size() == 1) {
|
||||
DtbOrdt foundDtbOrdt = foundDtbOrdts.get(0);
|
||||
|
||||
udsMtbColt.setNumOrd(foundDtbOrdt.getNumOrd())
|
||||
.setDataOrd(UtilityLocalDate.localDateFromDate(foundDtbOrdt.getDataOrd()))
|
||||
.setRifOrd(foundDtbOrdt.getRifOrd())
|
||||
.setCodAnag(foundDtbOrdt.getCodAnag());
|
||||
}
|
||||
|
||||
if (createUDSRequestDTO.getOrders() != null) {
|
||||
String filtroOrdini = MtbColtUtils.generaFiltroOrdini(null,
|
||||
createUDSRequestDTO.getOrders().stream()
|
||||
.map(CreateUDSRequestOrderDTO::toDtbOrdrEntity)
|
||||
.collect(Collectors.toList()));
|
||||
|
||||
udsMtbColt.setFiltroOrdini(filtroOrdini);
|
||||
}
|
||||
|
||||
if (createUDSRequestDTO.isOrderRequired() && foundDtbOrdts.isEmpty()) {
|
||||
|
||||
final List<OrdineLavorazioneDTO> ordiniLavorazioneInCorso = productionOrderDataHandlerService.getOrdiniLavorazioneInCorso(createUDSRequestDTO.getCodJfas());
|
||||
//Try to retrieve
|
||||
|
||||
//Se non trovo niente allora eccezione
|
||||
if (ordiniLavorazioneInCorso == null || ordiniLavorazioneInCorso.isEmpty()) {
|
||||
throw new Exception("Nessun ordine in corso sulla linea " + createUDSRequestDTO.getCodJfas());
|
||||
}
|
||||
|
||||
if (udsMtbColt.getIdLotto() == null) {
|
||||
List<Integer> idLotto = Stream.of(ordiniLavorazioneInCorso)
|
||||
.map(OrdineLavorazioneDTO::getIdLotto)
|
||||
.withoutNulls()
|
||||
.distinct()
|
||||
.toList();
|
||||
|
||||
if (idLotto.size() == 1) {
|
||||
//Assegnare l'ordine o l'id lotto al collo appena creato
|
||||
udsMtbColt
|
||||
.setIdLotto(idLotto.get(0));
|
||||
}
|
||||
}
|
||||
|
||||
final List<Integer> foundInCorsoOrders = ordiniLavorazioneInCorso.stream()
|
||||
.map(OrdineLavorazioneDTO::getNumOrd)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (foundInCorsoOrders.size() == 1) {
|
||||
OrdineLavorazioneDTO ordineLavorazioneDTO = ordiniLavorazioneInCorso.get(0);
|
||||
udsMtbColt
|
||||
.setDataOrd(ordineLavorazioneDTO.getDataOrd())
|
||||
.setNumOrd(ordineLavorazioneDTO.getNumOrd());
|
||||
}
|
||||
}
|
||||
|
||||
droolsDataCompleting.complete(udsMtbColt, multiDBTransactionManager.getPrimaryConnection(), username);
|
||||
|
||||
return udsMtbColt;
|
||||
}
|
||||
|
||||
public static InsertUDSRowResponseDTO insertUDSLavorazioneRowMovement(Connection connection, InsertUDSRowRequestDTO insertUDSRowRequestDTO, String username) throws Exception {
|
||||
DroolsDataCompleting droolsDataCompleting = ApplicationContextProvider.getApplicationContext().getBean(DroolsDataCompleting.class);
|
||||
|
||||
//Prendo solo la chiave
|
||||
MtbColt targetMtbColt = insertUDSRowRequestDTO.getTargetMtbColt();
|
||||
if (targetMtbColt == null)
|
||||
throw new Exception("Nessun collo di destinazione specificato durante l'inserimento di una riga in una UDS (targetMtbColt null)");
|
||||
|
||||
MtbAart mtbAart = WMSUtility.getArticoloByCodMart(insertUDSRowRequestDTO.getCodMart(), connection);
|
||||
if (mtbAart == null)
|
||||
throw new InvalidArticoloException(insertUDSRowRequestDTO.getCodMart());
|
||||
|
||||
MtbColrInfoProd mtbColrInfoProd = null;
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(insertUDSRowRequestDTO.getContrassegnoDa())) {
|
||||
mtbColrInfoProd = new MtbColrInfoProd()
|
||||
.setContrassegnoDa(insertUDSRowRequestDTO.getContrassegnoDa());
|
||||
mtbColrInfoProd.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
}
|
||||
|
||||
final MtbColr targetMtbColr = new MtbColr()
|
||||
.setCausale(MtbColr.Causale.DEFAULT)
|
||||
.setCodMart(mtbAart.getCodMart())
|
||||
.setPartitaMag(insertUDSRowRequestDTO.getPartitaMag())
|
||||
.setDataScadPartita(UtilityLocalDate.localDateToDate(insertUDSRowRequestDTO.getDataScad()))
|
||||
.setQtaCol(insertUDSRowRequestDTO.getQtaTot())
|
||||
.setQtaCnf(insertUDSRowRequestDTO.getQtaCnf())
|
||||
.setNumCnf(insertUDSRowRequestDTO.getNumCnf())
|
||||
.setDescrizione(mtbAart.getDescrizioneEstesa())
|
||||
.setUtente(username)
|
||||
.setDataOrd(insertUDSRowRequestDTO.getDataOrd())
|
||||
.setNumOrd(insertUDSRowRequestDTO.getNumOrd())
|
||||
.setRigaOrd(insertUDSRowRequestDTO.getRigaOrd())
|
||||
.setDatetimeRow(UtilityLocalDate.isNull(insertUDSRowRequestDTO.getDatetimeRow(), UtilityLocalDate.getNowTime()))
|
||||
.setCodJcom(insertUDSRowRequestDTO.getCodJcom())
|
||||
.setMtbColrInfoProd(mtbColrInfoProd);
|
||||
targetMtbColr.setOperation(OperationType.INSERT);
|
||||
targetMtbColt.getMtbColr().add(targetMtbColr);
|
||||
|
||||
if (insertUDSRowRequestDTO.getSourceMtbColr() != null) {
|
||||
MtbColr sourceMtbColr = insertUDSRowRequestDTO.getSourceMtbColr();
|
||||
|
||||
String sqlCodTcol = Query.format("SELECT cod_tcol\n" +
|
||||
"FROM mtb_colt\n" +
|
||||
"WHERE gestione = {}\n" +
|
||||
" AND data_collo = {}\n" +
|
||||
" AND num_collo = {}\n" +
|
||||
" AND ser_collo = {}",
|
||||
sourceMtbColr.getGestione(),
|
||||
sourceMtbColr.getDataCollo(),
|
||||
sourceMtbColr.getNumCollo(),
|
||||
sourceMtbColr.getSerCollo());
|
||||
|
||||
final String sourceCodTcol = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sqlCodTcol);
|
||||
|
||||
if (UtilityString.isNullOrEmpty(targetMtbColt.getCodTcol()) && !UtilityString.isNullOrEmpty(sourceCodTcol)) {
|
||||
targetMtbColt.setCodTcol(sourceCodTcol);
|
||||
|
||||
if (targetMtbColt.getOperation() == OperationType.SELECT_OBJECT ||
|
||||
targetMtbColt.getOperation() == OperationType.SELECT ||
|
||||
targetMtbColt.getOperation() == OperationType.NO_OP)
|
||||
targetMtbColt.setOperation(OperationType.UPDATE);
|
||||
}
|
||||
|
||||
targetMtbColr
|
||||
// .setCodJcom(UtilityString.emptyStr2Null(sourceMtbColr.getCodJcom()))
|
||||
.setSerColloRif(sourceMtbColr.getSerCollo())
|
||||
.setDataColloRif(sourceMtbColr.getDataCollo())
|
||||
.setNumColloRif(sourceMtbColr.getNumCollo())
|
||||
.setGestioneRif(sourceMtbColr.getGestione());
|
||||
|
||||
if (sourceMtbColr.getPesoNettoKg() != null) {
|
||||
//Proporzione
|
||||
BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(insertUDSRowRequestDTO.getQtaTot(), sourceMtbColr.getPesoNettoKg()), sourceMtbColr.getQtaCol());
|
||||
targetMtbColr.setPesoNettoKg(pesoNettoKg);
|
||||
}
|
||||
|
||||
if (sourceMtbColr.getPesoLordoKg() != null) {
|
||||
//Proporzione
|
||||
BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(insertUDSRowRequestDTO.getQtaTot(), sourceMtbColr.getPesoLordoKg()), sourceMtbColr.getQtaCol());
|
||||
targetMtbColr.setPesoLordoKg(pesoLordoKg);
|
||||
}
|
||||
|
||||
targetMtbColr
|
||||
.setPosizioneOut(sourceMtbColr.getPosizioneIn())
|
||||
.setCodMdepOut(sourceMtbColr.getCodMdepIn())
|
||||
.setBarcodeUlOut(sourceMtbColr.getBarcodeUlIn());
|
||||
|
||||
//Non valorizzo i campi IN perchè si è ritenuto errato negli L-
|
||||
// .setBarcodeUlIn(targetMtbColt.getBarcodeUl())
|
||||
// .setPosizioneIn(targetMtbColt.getPosizione())
|
||||
// .setCodMdepIn(targetMtbColt.getCodMdep());
|
||||
}
|
||||
|
||||
droolsDataCompleting.complete(targetMtbColt, connection, username);
|
||||
|
||||
return new InsertUDSRowResponseDTO()
|
||||
.setSavedMtbColr(targetMtbColr);
|
||||
}
|
||||
|
||||
public static boolean canULBeDeleted(MtbColt mtbColt, MultiDBTransactionManager multiDBTransactionManager) throws Exception {
|
||||
HashMap<String, Object> params = new HashMap<>();
|
||||
params.put("mtb_colt.gestione", mtbColt.getGestione());
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import it.integry.ems_model.entity._enum.IBaseEnum;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
public class CreateUDSRequestDTO {
|
||||
@@ -21,12 +22,16 @@ public class CreateUDSRequestDTO {
|
||||
private String codJfas;
|
||||
private String codAnag;
|
||||
private String codVdes;
|
||||
private String codTcol;
|
||||
|
||||
private Integer idLotto;
|
||||
private String rifOrd;
|
||||
private String barcodeUl;
|
||||
private LocalDateTime oraInizPrep;
|
||||
private boolean orderRequired;
|
||||
|
||||
private boolean reso;
|
||||
|
||||
private List<CreateUDSRequestOrderDTO> orders;
|
||||
|
||||
|
||||
@@ -138,6 +143,15 @@ public class CreateUDSRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodTcol() {
|
||||
return codTcol;
|
||||
}
|
||||
|
||||
public CreateUDSRequestDTO setCodTcol(String codTcol) {
|
||||
this.codTcol = codTcol;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<CreateUDSRequestOrderDTO> getOrders() {
|
||||
return orders;
|
||||
}
|
||||
@@ -165,6 +179,15 @@ public class CreateUDSRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isReso() {
|
||||
return reso;
|
||||
}
|
||||
|
||||
public CreateUDSRequestDTO setReso(boolean reso) {
|
||||
this.reso = reso;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getIdLotto() {
|
||||
return idLotto;
|
||||
}
|
||||
@@ -183,6 +206,15 @@ public class CreateUDSRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDateTime getOraInizPrep() {
|
||||
return oraInizPrep;
|
||||
}
|
||||
|
||||
public CreateUDSRequestDTO setOraInizPrep(LocalDateTime oraInizPrep) {
|
||||
this.oraInizPrep = oraInizPrep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public enum Causale implements IBaseEnum<Causale> {
|
||||
SCARICO(0),
|
||||
POSIZIONAMENTO(1);
|
||||
|
||||
@@ -4,7 +4,8 @@ import it.integry.ems_model.entity.MtbColr;
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class InsertUDSRowRequestDTO {
|
||||
|
||||
@@ -16,12 +17,12 @@ public class InsertUDSRowRequestDTO {
|
||||
private BigDecimal qtaCnf;
|
||||
private BigDecimal numCnf;
|
||||
private String partitaMag;
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
|
||||
private Date dataOrd;
|
||||
private LocalDate dataOrd;
|
||||
private Integer numOrd;
|
||||
private Integer rigaOrd;
|
||||
|
||||
private LocalDateTime datetimeRow;
|
||||
private String codJcom;
|
||||
|
||||
private String contrassegnoDa;
|
||||
@@ -56,7 +57,7 @@ public class InsertUDSRowRequestDTO {
|
||||
return partitaMag;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
@@ -96,16 +97,16 @@ public class InsertUDSRowRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public InsertUDSRowRequestDTO setDataScad(Date dataScad) {
|
||||
public InsertUDSRowRequestDTO setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
public LocalDate getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public InsertUDSRowRequestDTO setDataOrd(Date dataOrd) {
|
||||
public InsertUDSRowRequestDTO setDataOrd(LocalDate dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
@@ -128,6 +129,15 @@ public class InsertUDSRowRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDateTime getDatetimeRow() {
|
||||
return datetimeRow;
|
||||
}
|
||||
|
||||
public InsertUDSRowRequestDTO setDatetimeRow(LocalDateTime datetimeRow) {
|
||||
this.datetimeRow = datetimeRow;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodJcom() {
|
||||
return codJcom;
|
||||
}
|
||||
|
||||
@@ -1584,18 +1584,18 @@ public class WMSGenericService {
|
||||
mtbColtToInsert.setOperation(OperationType.NO_OP);
|
||||
} else {
|
||||
|
||||
|
||||
mtbColtToInsert = new MtbColt()
|
||||
.setMtbColr(new ArrayList<>())
|
||||
.setGestione("L")
|
||||
.setSegno(-1)
|
||||
mtbColtToInsert = WMSUtility.createUDSLavorazioneMovement(multiDBTransactionManager,
|
||||
new CreateUDSRequestDTO()
|
||||
.setCausaleCollo(CreateUDSRequestDTO.Causale.SCARICO)
|
||||
.setCodMdep(codMdep)
|
||||
.setCodJfas(codJfas == null ? scaricoMateriaPrimaDTO.getCodJfas() : codJfas)
|
||||
.setPosizione(scaricoMateriaPrimaDTO.getPosizione())
|
||||
.setCodAnag(codAnag)
|
||||
.setOrders(Collections.singletonList(new CreateUDSRequestOrderDTO()
|
||||
.setDataOrd(scaricoMateriaPrimaDTO.getDataOrd())
|
||||
.setNumOrd(scaricoMateriaPrimaDTO.getNumOrd())
|
||||
.setCodAnag(codAnag);
|
||||
mtbColtToInsert.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
.setGestione(scaricoMateriaPrimaDTO.getGestioneOrd()))),
|
||||
userSession.getUsername());
|
||||
}
|
||||
|
||||
|
||||
@@ -1629,21 +1629,19 @@ public class WMSGenericService {
|
||||
|
||||
if (UtilityBigDecimal.equalsOrLowerThan(qtaToTake, BigDecimal.ZERO)) continue;
|
||||
|
||||
MtbColr mtbColr = new MtbColr()
|
||||
final InsertUDSRowResponseDTO insertedUds = WMSUtility.insertUDSLavorazioneRowMovement(multiDBTransactionManager.getPrimaryConnection(),
|
||||
new InsertUDSRowRequestDTO()
|
||||
.setTargetMtbColt(mtbColtToInsert)
|
||||
.setCodMart(giacInPosizioneItem.getCodMart())
|
||||
.setCodJcom(giacInPosizioneItem.getCodJcom())
|
||||
.setNumOrd(scaricoMateriaPrimaDTO.getNumOrd())
|
||||
.setDataOrd(scaricoMateriaPrimaDTO.getDataOrd())
|
||||
.setRigaOrd(giacInPosizioneItem.getRigaOrd())
|
||||
.setQtaCol(qtaToTake)
|
||||
.setQtaTot(qtaToTake)
|
||||
.setPartitaMag(giacInPosizioneItem.getPartitaMag())
|
||||
.setNumColloRif(giacInPosizioneItem.getNumCollo())
|
||||
.setDataColloRif(giacInPosizioneItem.getDataCollo())
|
||||
.setSerColloRif(giacInPosizioneItem.getSerCollo())
|
||||
.setGestioneRif(giacInPosizioneItem.getGestione())
|
||||
.setDatetimeRow(UtilityLocalDate.getNowTime());
|
||||
mtbColr.setOperation(OperationType.INSERT);
|
||||
mtbColtToInsert.getMtbColr().add(mtbColr);
|
||||
.setSourceMtbColr(WMSUtility.convertMvwItemToMtbColr(giacInPosizioneItem))
|
||||
.setDatetimeRow(UtilityLocalDate.getNowTime()),
|
||||
userSession.getUsername());
|
||||
|
||||
qtaScaricata = qtaScaricata.add(qtaToTake);
|
||||
}
|
||||
@@ -1731,11 +1729,16 @@ public class WMSGenericService {
|
||||
break;
|
||||
}
|
||||
|
||||
MtbColt mtbColt = Stream.of(mtbColtsToInsert).filter(x -> scaricoDaOrdine.getDataOrd().equals(x.getDataOrd()) &&
|
||||
MtbColt mtbColt = mtbColtsToInsert
|
||||
.stream()
|
||||
.filter(x -> scaricoDaOrdine.getDataOrd().equals(x.getDataOrd()) &&
|
||||
scaricoDaOrdine.getNumOrd().equals(x.getNumOrd()) &&
|
||||
scaricoDaOrdine.getGestioneOrd().equals(x.getGestione()) &&
|
||||
giacenza.getPosizione().equals(x.getPosizione()) &&
|
||||
(codJfasScarico != null && codJfasScarico.equalsIgnoreCase(x.getCodJfas()))).findFirst().orElse(null);
|
||||
(codJfasScarico != null && codJfasScarico.equalsIgnoreCase(x.getCodJfas())))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
if (mtbColt == null) {
|
||||
String queryMtbColt = "SELECT *" +
|
||||
" FROM mtb_colt" +
|
||||
@@ -1756,18 +1759,18 @@ public class WMSGenericService {
|
||||
mtbColt = alreadyPresentMtbColts.get(0);
|
||||
mtbColt.setOperation(OperationType.NO_OP);
|
||||
} else {
|
||||
|
||||
mtbColt = new MtbColt()
|
||||
.setMtbColr(new ArrayList<>())
|
||||
.setGestione("L")
|
||||
.setSegno(-1)
|
||||
mtbColt = WMSUtility.createUDSLavorazioneMovement(multiDBTransactionManager,
|
||||
new CreateUDSRequestDTO()
|
||||
.setCodMdep(codMdep)
|
||||
.setCodJfas(codJfasScarico)
|
||||
.setPosizione(giacenza.getPosizione())
|
||||
.setCodAnag(codAnag)
|
||||
.setCausaleCollo(CreateUDSRequestDTO.Causale.SCARICO)
|
||||
.setOrders(Collections.singletonList(new CreateUDSRequestOrderDTO()
|
||||
.setDataOrd(scaricoDaOrdine.getDataOrd())
|
||||
.setNumOrd(scaricoDaOrdine.getNumOrd())
|
||||
.setCodAnag(codAnag);
|
||||
mtbColt.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
.setGestione(scaricoDaOrdine.getGestioneOrd()))),
|
||||
userSession.getUsername());
|
||||
}
|
||||
mtbColtsToInsert.add(mtbColt);
|
||||
}
|
||||
@@ -1781,21 +1784,20 @@ public class WMSGenericService {
|
||||
|
||||
if (UtilityBigDecimal.equalsOrLowerThan(qtaToTake, BigDecimal.ZERO)) continue;
|
||||
|
||||
MtbColr mtbColr = new MtbColr()
|
||||
|
||||
WMSUtility.insertUDSLavorazioneRowMovement(multiDBTransactionManager.getPrimaryConnection(),
|
||||
new InsertUDSRowRequestDTO()
|
||||
.setTargetMtbColt(mtbColt)
|
||||
.setCodMart(giacenza.getCodMart())
|
||||
.setCodJcom(giacenza.getCodJcom())
|
||||
.setNumOrd(scaricoDaOrdine.getNumOrd())
|
||||
.setDataOrd(scaricoDaOrdine.getDataOrd())
|
||||
.setRigaOrd(giacenza.getRigaOrd())
|
||||
.setQtaCol(qtaToTake)
|
||||
.setQtaTot(qtaToTake)
|
||||
.setPartitaMag(giacenza.getPartitaMag())
|
||||
.setNumColloRif(giacenza.getNumCollo())
|
||||
.setDataColloRif(giacenza.getDataCollo())
|
||||
.setSerColloRif(giacenza.getSerCollo())
|
||||
.setGestioneRif(giacenza.getGestione())
|
||||
.setDatetimeRow(UtilityLocalDate.getNowTime());
|
||||
mtbColr.setOperation(OperationType.INSERT);
|
||||
mtbColt.getMtbColr().add(mtbColr);
|
||||
.setSourceMtbColr(WMSUtility.convertMvwItemToMtbColr(giacenza))
|
||||
.setDatetimeRow(UtilityLocalDate.getNowTime()),
|
||||
userSession.getUsername());
|
||||
|
||||
qtaRimanente = qtaRimanente.subtract(qtaToTake);
|
||||
}
|
||||
@@ -2132,7 +2134,7 @@ public class WMSGenericService {
|
||||
.setQtaCnf(mtbColr.getQtaCnf())
|
||||
.setNumCnf(mtbColr.getNumCnf())
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
.setDataScad(mtbColr.getDataScadPartita())
|
||||
.setDataScad(UtilityLocalDate.localDateFromDate(mtbColr.getDataScadPartita()))
|
||||
.setTargetMtbColt(uds);
|
||||
|
||||
WMSUtility.createDtbDocrFromMtbColr(
|
||||
|
||||
@@ -280,13 +280,13 @@ public class WMSLavorazioneService {
|
||||
.setCausale(MtbColr.Causale.DEFAULT)
|
||||
.setCodMart(mtbAart.getCodMart())
|
||||
.setPartitaMag(insertUDSRowRequestDTO.getPartitaMag())
|
||||
.setDataScadPartita(insertUDSRowRequestDTO.getDataScad())
|
||||
.setDataScadPartita(UtilityLocalDate.localDateToDate(insertUDSRowRequestDTO.getDataScad()))
|
||||
.setQtaCol(insertUDSRowRequestDTO.getQtaTot())
|
||||
.setQtaCnf(insertUDSRowRequestDTO.getQtaCnf())
|
||||
.setNumCnf(insertUDSRowRequestDTO.getNumCnf())
|
||||
.setDescrizione(mtbAart.getDescrizioneEstesa())
|
||||
.setUtente(userSession.getFullname())
|
||||
.setDataOrd(UtilityLocalDate.localDateFromDate(insertUDSRowRequestDTO.getDataOrd()))
|
||||
.setDataOrd(insertUDSRowRequestDTO.getDataOrd())
|
||||
.setNumOrd(insertUDSRowRequestDTO.getNumOrd())
|
||||
.setRigaOrd(insertUDSRowRequestDTO.getRigaOrd())
|
||||
.setDatetimeRow(UtilityLocalDate.getNowTime())
|
||||
@@ -382,13 +382,13 @@ public class WMSLavorazioneService {
|
||||
.setCausale(MtbColr.Causale.DEFAULT)
|
||||
.setCodMart(mtbAart.getCodMart())
|
||||
.setPartitaMag(row.getPartitaMag())
|
||||
.setDataScadPartita(row.getDataScad())
|
||||
.setDataScadPartita(UtilityLocalDate.localDateToDate(row.getDataScad()))
|
||||
.setQtaCol(row.getQtaTot())
|
||||
.setQtaCnf(row.getQtaCnf())
|
||||
.setNumCnf(row.getNumCnf())
|
||||
.setDescrizione(mtbAart.getDescrizioneEstesa())
|
||||
.setUtente(userSession.getFullname())
|
||||
.setDataOrd(UtilityLocalDate.localDateFromDate(row.getDataOrd()))
|
||||
.setDataOrd(row.getDataOrd())
|
||||
.setNumOrd(row.getNumOrd())
|
||||
.setRigaOrd(row.getRigaOrd())
|
||||
.setDatetimeRow(UtilityLocalDate.getNowTime())
|
||||
|
||||
@@ -253,7 +253,7 @@ public class WMSSpedizioneService {
|
||||
.setCausale(MtbColr.Causale.DEFAULT)
|
||||
.setCodMart(mtbAart.getCodMart())
|
||||
.setPartitaMag(insertUDSRowRequestDTO.getPartitaMag())
|
||||
.setDataScadPartita(insertUDSRowRequestDTO.getDataScad())
|
||||
.setDataScadPartita(UtilityLocalDate.localDateToDate(insertUDSRowRequestDTO.getDataScad()))
|
||||
.setQtaCol(insertUDSRowRequestDTO.getQtaTot())
|
||||
.setQtaCnf(insertUDSRowRequestDTO.getQtaCnf())
|
||||
.setNumCnf(insertUDSRowRequestDTO.getNumCnf())
|
||||
|
||||
Reference in New Issue
Block a user