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) {
|
if (getColloInGiacResponse != null) {
|
||||||
getColloInGiacResponse.getMtbColt().setOnlyPkMaster(false);
|
getColloInGiacResponse.getMtbColt().setOnlyPkMaster(false);
|
||||||
getColloInGiacResponse.getMtbColt().setOperation(OperationType.SELECT_OBJECT);
|
getColloInGiacResponse.getMtbColt().setOperation(OperationType.SELECT_OBJECT);
|
||||||
} else {
|
|
||||||
getColloInGiacResponse = new GetColloInGiacResponseDTO();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return getColloInGiacResponse;
|
return getColloInGiacResponse;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import it.integry.ems._context.ApplicationContextProvider;
|
|||||||
import it.integry.ems.dynamic_cache.EntityCacheComponent;
|
import it.integry.ems.dynamic_cache.EntityCacheComponent;
|
||||||
import it.integry.ems.exception.MissingDataException;
|
import it.integry.ems.exception.MissingDataException;
|
||||||
import it.integry.ems.javabeans.RequestDataDTO;
|
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.dto.*;
|
||||||
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
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.MvwSitArtUdcDetInventarioDTO;
|
||||||
@@ -52,7 +53,8 @@ public class WMSUtility {
|
|||||||
|
|
||||||
final MtbDepoTipi mtbDepoTipi = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, selectSql, MtbDepoTipi.class);
|
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();
|
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 {
|
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,
|
@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, ",") + ")");
|
"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 {
|
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);
|
return createCambiaPosizioneUlMovements(connection, Collections.singletonList(sscc), changeCodMdep, newCodMdep, newPosizione);
|
||||||
}
|
}
|
||||||
@@ -539,7 +540,7 @@ public class WMSUtility {
|
|||||||
|
|
||||||
.setOperation(OperationType.UPDATE);
|
.setOperation(OperationType.UPDATE);
|
||||||
|
|
||||||
if(useRequestUsername)
|
if (useRequestUsername)
|
||||||
stornoSourceMtbColr
|
stornoSourceMtbColr
|
||||||
.setUtente(requestDataDTO.getUsername());
|
.setUtente(requestDataDTO.getUsername());
|
||||||
|
|
||||||
@@ -578,7 +579,7 @@ public class WMSUtility {
|
|||||||
.setPosizioneIn(destinationPosizione)
|
.setPosizioneIn(destinationPosizione)
|
||||||
.setOperation(OperationType.INSERT_OR_UPDATE);
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
if(useRequestUsername)
|
if (useRequestUsername)
|
||||||
cloneMtbColr
|
cloneMtbColr
|
||||||
.setUtente(requestDataDTO.getUsername());
|
.setUtente(requestDataDTO.getUsername());
|
||||||
|
|
||||||
@@ -677,7 +678,7 @@ public class WMSUtility {
|
|||||||
.setNote(insertUDCRowRequestDTO.getAnnotazioni())
|
.setNote(insertUDCRowRequestDTO.getAnnotazioni())
|
||||||
.setNumEtich(insertUDCRowRequestDTO.getNumEtich());
|
.setNumEtich(insertUDCRowRequestDTO.getNumEtich());
|
||||||
|
|
||||||
if (insertUDCRowRequestDTO.getCodDtip() != null){
|
if (insertUDCRowRequestDTO.getCodDtip() != null) {
|
||||||
targetMtbColr.setCodAnagDoc(insertUDCRowRequestDTO.getTargetMtbColt().getCodAnag());
|
targetMtbColr.setCodAnagDoc(insertUDCRowRequestDTO.getTargetMtbColt().getCodAnag());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1084,6 +1085,21 @@ public class WMSUtility {
|
|||||||
public static List<MtbColt> retrieveUlsByBarcodes(Connection connection, List<String> barcodeList) throws Exception {
|
public static List<MtbColt> retrieveUlsByBarcodes(Connection connection, List<String> barcodeList) throws Exception {
|
||||||
if (barcodeList == null || barcodeList.isEmpty()) return new ArrayList<>();
|
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.logistic.dto.sm2.FiltroDistribuzioneColloDTO;
|
||||||
import it.integry.ems.product.importaz.service.ProductServices;
|
import it.integry.ems.product.importaz.service.ProductServices;
|
||||||
import it.integry.ems.retail.wms.Utility.WMSUtility;
|
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.colli.service.WMSColliService;
|
||||||
import it.integry.ems.retail.wms.dto.*;
|
import it.integry.ems.retail.wms.dto.*;
|
||||||
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
||||||
@@ -161,6 +162,10 @@ public class WMSLavorazioneService {
|
|||||||
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);
|
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);
|
||||||
targetMtbColt.setOperation(OperationType.NO_OP);
|
targetMtbColt.setOperation(OperationType.NO_OP);
|
||||||
|
|
||||||
|
AnomaliaUlDTO anomaliaUl = WMSUtility.getAnomaliaUl(multiDBTransactionManager.getPrimaryConnection(), targetMtbColt);
|
||||||
|
if (anomaliaUl.getEscludiPickingLavorazione())
|
||||||
|
throw new Exception(anomaliaUl.getDescrizioneAnomalia());
|
||||||
|
|
||||||
insertUDSRowRequestDTO.setTargetMtbColt(targetMtbColt);
|
insertUDSRowRequestDTO.setTargetMtbColt(targetMtbColt);
|
||||||
|
|
||||||
InsertUDSRowResponseDTO generatedMovement = WMSUtility.insertUDSLavorazioneRowMovement(multiDBTransactionManager.getPrimaryConnection(), insertUDSRowRequestDTO, userSession.getUsername());
|
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.pvmRetail.service.PvmServiceSave;
|
||||||
import it.integry.ems.retail.wms.Utility.WMSUtility;
|
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.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.colli.service.WMSColliService;
|
||||||
import it.integry.ems.retail.wms.dto.*;
|
import it.integry.ems.retail.wms.dto.*;
|
||||||
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
||||||
@@ -249,6 +250,10 @@ public class WMSSpedizioneService {
|
|||||||
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);
|
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);
|
||||||
targetMtbColt.setOperation(OperationType.NO_OP);
|
targetMtbColt.setOperation(OperationType.NO_OP);
|
||||||
|
|
||||||
|
AnomaliaUlDTO anomaliaUl = WMSUtility.getAnomaliaUl(multiDBTransactionManager.getPrimaryConnection(), targetMtbColt);
|
||||||
|
if (anomaliaUl.getEscludiPickingLavorazione())
|
||||||
|
throw new Exception(anomaliaUl.getDescrizioneAnomalia());
|
||||||
|
|
||||||
insertUDSRowRequestDTO.setTargetMtbColt(targetMtbColt);
|
insertUDSRowRequestDTO.setTargetMtbColt(targetMtbColt);
|
||||||
|
|
||||||
InsertUDSRowResponseDTO generatedMovement = insertUDSRowMovement(insertUDSRowRequestDTO);
|
InsertUDSRowResponseDTO generatedMovement = insertUDSRowMovement(insertUDSRowRequestDTO);
|
||||||
|
|||||||
Reference in New Issue
Block a user