Aggiunto blocco inserimento righe uds in caso di anomalia sulla ul
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:
@@ -1674,8 +1674,6 @@ public class PvmService {
|
||||
if (getColloInGiacResponse != null) {
|
||||
getColloInGiacResponse.getMtbColt().setOnlyPkMaster(false);
|
||||
getColloInGiacResponse.getMtbColt().setOperation(OperationType.SELECT_OBJECT);
|
||||
} else {
|
||||
getColloInGiacResponse = new GetColloInGiacResponseDTO();
|
||||
}
|
||||
|
||||
return getColloInGiacResponse;
|
||||
|
||||
@@ -7,6 +7,7 @@ import it.integry.ems._context.ApplicationContextProvider;
|
||||
import it.integry.ems.dynamic_cache.EntityCacheComponent;
|
||||
import it.integry.ems.exception.MissingDataException;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.retail.wms.accettazione.dto.AnomaliaUlDTO;
|
||||
import it.integry.ems.retail.wms.dto.*;
|
||||
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
||||
import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO;
|
||||
@@ -52,7 +53,8 @@ public class WMSUtility {
|
||||
|
||||
final MtbDepoTipi mtbDepoTipi = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, selectSql, MtbDepoTipi.class);
|
||||
|
||||
if (mtbDepoTipi == null) throw new Exception("Informazioni sul tipo deposito non specificate per il deposito: "+codMdep);
|
||||
if (mtbDepoTipi == null)
|
||||
throw new Exception("Informazioni sul tipo deposito non specificate per il deposito: " + codMdep);
|
||||
|
||||
return mtbDepoTipi.getGestisciColli() == null || mtbDepoTipi.getGestisciColli();
|
||||
}
|
||||
@@ -109,7 +111,7 @@ public class WMSUtility {
|
||||
}
|
||||
|
||||
public static HashMap<String, MtbTcol> getListaTipiColloByBarcodeUls(List<String> barcodeUls, Connection connection) throws Exception {
|
||||
if(barcodeUls == null || barcodeUls.isEmpty()) return new HashMap<>();
|
||||
if (barcodeUls == null || barcodeUls.isEmpty()) return new HashMap<>();
|
||||
|
||||
@NotNull List<HashMap<String, Object>> barcodesWithCodTcol = UtilityDB.executeSimpleQuery(connection,
|
||||
"SELECT DISTINCT barcode_ul, cod_tcol FROM mtb_colt WHERE barcode_ul IN (" + UtilityQuery.concatStringFieldsWithSeparator(barcodeUls, ",") + ")");
|
||||
@@ -380,7 +382,6 @@ public class WMSUtility {
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static List<MtbColr> createCambiaPosizioneUlMovement(Connection connection, String sscc, boolean changeCodMdep, String newCodMdep, String newPosizione) throws Exception {
|
||||
return createCambiaPosizioneUlMovements(connection, Collections.singletonList(sscc), changeCodMdep, newCodMdep, newPosizione);
|
||||
}
|
||||
@@ -539,9 +540,9 @@ public class WMSUtility {
|
||||
|
||||
.setOperation(OperationType.UPDATE);
|
||||
|
||||
if(useRequestUsername)
|
||||
if (useRequestUsername)
|
||||
stornoSourceMtbColr
|
||||
.setUtente(requestDataDTO.getUsername());
|
||||
.setUtente(requestDataDTO.getUsername());
|
||||
|
||||
mtbColrSourceList.add(stornoSourceMtbColr);
|
||||
}
|
||||
@@ -578,7 +579,7 @@ public class WMSUtility {
|
||||
.setPosizioneIn(destinationPosizione)
|
||||
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
if(useRequestUsername)
|
||||
if (useRequestUsername)
|
||||
cloneMtbColr
|
||||
.setUtente(requestDataDTO.getUsername());
|
||||
|
||||
@@ -677,9 +678,9 @@ public class WMSUtility {
|
||||
.setNote(insertUDCRowRequestDTO.getAnnotazioni())
|
||||
.setNumEtich(insertUDCRowRequestDTO.getNumEtich());
|
||||
|
||||
if (insertUDCRowRequestDTO.getCodDtip() != null){
|
||||
targetMtbColr.setCodAnagDoc(insertUDCRowRequestDTO.getTargetMtbColt().getCodAnag());
|
||||
}
|
||||
if (insertUDCRowRequestDTO.getCodDtip() != null) {
|
||||
targetMtbColr.setCodAnagDoc(insertUDCRowRequestDTO.getTargetMtbColt().getCodAnag());
|
||||
}
|
||||
|
||||
targetMtbColr.setBarcodeUlIn(UtilityString.isNull(insertUDCRowRequestDTO.getCustomBarcodeUlIn(), targetMtbColt.getBarcodeUl()))
|
||||
.setCodMdepIn(UtilityString.isNull(insertUDCRowRequestDTO.getCustomCodMdepIn(), targetMtbColt.getCodMdep()))
|
||||
@@ -1084,6 +1085,21 @@ public class WMSUtility {
|
||||
public static List<MtbColt> retrieveUlsByBarcodes(Connection connection, List<String> barcodeList) throws Exception {
|
||||
if (barcodeList == null || barcodeList.isEmpty()) return new ArrayList<>();
|
||||
|
||||
return UtilityDB.executeSimpleQueryDTO(connection,Query.format("SELECT * from mtb_colt where barcode_ul in ("+UtilityDB.listValueToString(barcodeList)+")"), MtbColt.class);
|
||||
return UtilityDB.executeSimpleQueryDTO(connection, Query.format("SELECT * from mtb_colt where barcode_ul in (" + UtilityDB.listValueToString(barcodeList) + ")"), MtbColt.class);
|
||||
}
|
||||
|
||||
public static AnomaliaUlDTO getAnomaliaUl(Connection connection, MtbColt mtbColt) {
|
||||
String sql = Query.format(
|
||||
"SELECT mtb_anomalie_ul.descrizione AS descrizione_anomalia,\n" +
|
||||
" mtb_livelli_anomalie.descrizione AS descrizione_livello_anomalia,\n" +
|
||||
" escludi_picking_vendita,\n" +
|
||||
" escludi_picking_lavorazione\n" +
|
||||
"FROM mtb_colt\n" +
|
||||
" LEFT OUTER JOIN mtb_anomalie_ul ON id_anomalia = mtb_anomalie_ul.id\n" +
|
||||
" LEFT OUTER JOIN mtb_livelli_anomalie ON mtb_livelli_anomalie.id = mtb_anomalie_ul.id_livello_anomalia\n" +
|
||||
"WHERE barcode_ul = %s", mtbColt.getBarcodeUl()
|
||||
);
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, sql, AnomaliaUlDTO.class).getDescrizioneAnomalia();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
package it.integry.ems.retail.wms.accettazione.dto;
|
||||
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
|
||||
public class AnomaliaUlDTO {
|
||||
|
||||
@SqlField("descrizione_anomalia")
|
||||
private String descrizioneAnomalia;
|
||||
|
||||
@SqlField("descrizione_livello_anomalia")
|
||||
private String descrizioneLivelloAnomalia;
|
||||
|
||||
@SqlField("escludi_picking_vendita")
|
||||
private Boolean escludiPickingVendita;
|
||||
|
||||
@SqlField("escludi_picking_lavorazione")
|
||||
private Boolean escludiPickingLavorazione;
|
||||
|
||||
public String getDescrizioneAnomalia() {
|
||||
return descrizioneAnomalia;
|
||||
}
|
||||
|
||||
public AnomaliaUlDTO setDescrizioneAnomalia(String descrizioneAnomalia) {
|
||||
this.descrizioneAnomalia = descrizioneAnomalia;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizioneLivelloAnomalia() {
|
||||
return descrizioneLivelloAnomalia;
|
||||
}
|
||||
|
||||
public AnomaliaUlDTO setDescrizioneLivelloAnomalia(String descrizioneLivelloAnomalia) {
|
||||
this.descrizioneLivelloAnomalia = descrizioneLivelloAnomalia;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getEscludiPickingVendita() {
|
||||
return escludiPickingVendita;
|
||||
}
|
||||
|
||||
public AnomaliaUlDTO setEscludiPickingVendita(Boolean escludiPickingVendita) {
|
||||
this.escludiPickingVendita = escludiPickingVendita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getEscludiPickingLavorazione() {
|
||||
return escludiPickingLavorazione;
|
||||
}
|
||||
|
||||
public AnomaliaUlDTO setEscludiPickingLavorazione(Boolean escludiPickingLavorazione) {
|
||||
this.escludiPickingLavorazione = escludiPickingLavorazione;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.logistic.dto.sm2.FiltroDistribuzioneColloDTO;
|
||||
import it.integry.ems.product.importaz.service.ProductServices;
|
||||
import it.integry.ems.retail.wms.Utility.WMSUtility;
|
||||
import it.integry.ems.retail.wms.accettazione.dto.AnomaliaUlDTO;
|
||||
import it.integry.ems.retail.wms.colli.service.WMSColliService;
|
||||
import it.integry.ems.retail.wms.dto.*;
|
||||
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
||||
@@ -161,6 +162,10 @@ public class WMSLavorazioneService {
|
||||
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);
|
||||
targetMtbColt.setOperation(OperationType.NO_OP);
|
||||
|
||||
AnomaliaUlDTO anomaliaUl = WMSUtility.getAnomaliaUl(multiDBTransactionManager.getPrimaryConnection(), targetMtbColt);
|
||||
if (anomaliaUl.getEscludiPickingLavorazione())
|
||||
throw new Exception(anomaliaUl.getDescrizioneAnomalia());
|
||||
|
||||
insertUDSRowRequestDTO.setTargetMtbColt(targetMtbColt);
|
||||
|
||||
InsertUDSRowResponseDTO generatedMovement = WMSUtility.insertUDSLavorazioneRowMovement(multiDBTransactionManager.getPrimaryConnection(), insertUDSRowRequestDTO, userSession.getUsername());
|
||||
|
||||
@@ -8,6 +8,7 @@ import it.integry.ems.retail.pvmRetail.dto.save.DocFromPickingDTO;
|
||||
import it.integry.ems.retail.pvmRetail.service.PvmServiceSave;
|
||||
import it.integry.ems.retail.wms.Utility.WMSUtility;
|
||||
import it.integry.ems.retail.wms.accettazione.dto.AlreadyRegisteredUlDTO;
|
||||
import it.integry.ems.retail.wms.accettazione.dto.AnomaliaUlDTO;
|
||||
import it.integry.ems.retail.wms.colli.service.WMSColliService;
|
||||
import it.integry.ems.retail.wms.dto.*;
|
||||
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
||||
@@ -249,6 +250,10 @@ public class WMSSpedizioneService {
|
||||
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);
|
||||
targetMtbColt.setOperation(OperationType.NO_OP);
|
||||
|
||||
AnomaliaUlDTO anomaliaUl = WMSUtility.getAnomaliaUl(multiDBTransactionManager.getPrimaryConnection(), targetMtbColt);
|
||||
if (anomaliaUl.getEscludiPickingLavorazione())
|
||||
throw new Exception(anomaliaUl.getDescrizioneAnomalia());
|
||||
|
||||
insertUDSRowRequestDTO.setTargetMtbColt(targetMtbColt);
|
||||
|
||||
InsertUDSRowResponseDTO generatedMovement = insertUDSRowMovement(insertUDSRowRequestDTO);
|
||||
|
||||
Reference in New Issue
Block a user