Gestione ordini di lavorazione multipli per mes smetar
This commit is contained in:
@@ -12,6 +12,8 @@ import java.util.*
|
||||
import it.integry.ems_model.utility.UtilityString
|
||||
import it.integry.ems_model.utility.UtilityDB
|
||||
import it.integry.ems_model.entity.MtbCols
|
||||
import it.integry.ems_model.entity.MtbColt
|
||||
import it.integry.ems_model.entity.MtbColr
|
||||
|
||||
global Connection conn
|
||||
global String username
|
||||
|
||||
@@ -19,6 +19,7 @@ public class CaricoProdFinLavDTO {
|
||||
private String codMdepScar;
|
||||
private String codDtipCar;
|
||||
private String codDtipScar;
|
||||
private String codDtipRien;
|
||||
private String terminaLavorazione;
|
||||
private String serDoc;
|
||||
private String aggiornaStato;
|
||||
@@ -27,6 +28,7 @@ public class CaricoProdFinLavDTO {
|
||||
private String creaCaricoDaCollo;
|
||||
private String creaScaricoDaCollo;
|
||||
private String creaColloVersDaColloCarico;
|
||||
private String creaRientroDaCollo;
|
||||
private Integer numOrd;
|
||||
private Integer idRiga;
|
||||
private Integer idStep;
|
||||
@@ -40,6 +42,7 @@ public class CaricoProdFinLavDTO {
|
||||
private String codJfas;
|
||||
private String terminaLavorazioneLinea;
|
||||
private String activityID;
|
||||
private Integer idLotto;
|
||||
|
||||
public String getCodJfas() {
|
||||
return codJfas;
|
||||
@@ -168,6 +171,16 @@ public class CaricoProdFinLavDTO {
|
||||
this.codDtipScar = codDtipScar;
|
||||
}
|
||||
|
||||
public String getCodDtipRien() {
|
||||
return codDtipRien;
|
||||
}
|
||||
|
||||
@XmlElement(name = "COD_DTIP_RIEN")
|
||||
public CaricoProdFinLavDTO setCodDtipRien(String codDtipRien) {
|
||||
this.codDtipRien = codDtipRien;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTerminaLavorazione() {
|
||||
return terminaLavorazione;
|
||||
}
|
||||
@@ -290,6 +303,16 @@ public class CaricoProdFinLavDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCreaRientroDaCollo() {
|
||||
return creaRientroDaCollo;
|
||||
}
|
||||
|
||||
@XmlElement(name = "CREA_RIENTRO_COLLO")
|
||||
public CaricoProdFinLavDTO setCreaRientroDaCollo(String creaRientroDaCollo) {
|
||||
this.creaRientroDaCollo = creaRientroDaCollo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getActivityID() {
|
||||
return activityID;
|
||||
}
|
||||
@@ -299,6 +322,15 @@ public class CaricoProdFinLavDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getIdLotto() {
|
||||
return idLotto;
|
||||
}
|
||||
|
||||
public CaricoProdFinLavDTO setIdLotto(Integer idLotto) {
|
||||
this.idLotto = idLotto;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGenerateJson() {
|
||||
return generateJson;
|
||||
}
|
||||
|
||||
@@ -1135,6 +1135,138 @@ public class DocumentProdService {
|
||||
return entityList;
|
||||
}
|
||||
|
||||
private List<EntityBase> generateRientroDaCollo(CaricoProdFinLavDTO carico) throws Exception {
|
||||
String sql, codProd = null, partitaMag = null;
|
||||
String condFase = null;
|
||||
List<EntityBase> entityList = new ArrayList<>();
|
||||
|
||||
String gestione = "L";
|
||||
Date dataOrd = carico.getDataOrd();
|
||||
Integer numOrd = carico.getNumOrd();
|
||||
String codJfas = carico.getCodJfas();
|
||||
|
||||
sql = "SELECT cod_prod, partita_mag FROM dtb_ordt " +
|
||||
" WHERE gestione = " + UtilityDB.valueToString(gestione) + " AND " +
|
||||
" data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" num_ord = " + UtilityDB.valueToString(numOrd);
|
||||
HashMap<String, Object> datiOrd = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
if (datiOrd != null && !datiOrd.isEmpty()) {
|
||||
codProd = (String) datiOrd.get("cod_prod");
|
||||
partitaMag = (String) datiOrd.get("partita_mag");
|
||||
}
|
||||
|
||||
if (carico.getTerminaLavorazione().compareTo("N") == 0) {
|
||||
if (codJfas != null) {
|
||||
condFase = "mtb_colt.cod_jfas = " + UtilityDB.valueToString(codJfas);
|
||||
}
|
||||
}
|
||||
|
||||
List<DataDocFromCollo> results;
|
||||
|
||||
if (carico.getDataDoc() == null) {
|
||||
sql = it.integry.ems_model.utility.Query.format(
|
||||
"SELECT DISTINCT mtb_colt.data_collo AS data_doc_from_collo, SUM(mtb_colr.qta_col) AS qta_col_for_date\n" +
|
||||
"FROM mtb_colt\n" +
|
||||
" LEFT OUTER JOIN dtb_ordt ON mtb_colt.gestione = dtb_ordt.gestione AND\n" +
|
||||
" mtb_colt.data_ord = dtb_ordt.data_ord AND\n" +
|
||||
" mtb_colt.num_ord = dtb_ordt.num_ord,\n" +
|
||||
" mtb_colr\n" +
|
||||
"WHERE ((mtb_colt.gestione = %s\n" +
|
||||
" AND mtb_colt.data_ord = %s\n" +
|
||||
" AND mtb_colt.num_ord = %s) OR (mtb_colt.id_lotto = %s))\n" +
|
||||
" AND mtb_colt.cod_dtip IS NULL\n" +
|
||||
" AND mtb_colt.segno = 1\n" +
|
||||
" AND mtb_colt.gestione = mtb_colr.gestione\n" +
|
||||
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
|
||||
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
|
||||
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
|
||||
"GROUP BY mtb_colt.data_collo\n" +
|
||||
"ORDER BY 1",
|
||||
gestione,
|
||||
dataOrd,
|
||||
numOrd,
|
||||
carico.getIdLotto()
|
||||
);
|
||||
|
||||
sql = UtilityDB.addwhereCond(sql, condFase, false);
|
||||
|
||||
results = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DataDocFromCollo.class);
|
||||
|
||||
if ((results == null || results.isEmpty()) && "S".equals(carico.getTerminaLavorazione())) {
|
||||
throw new Exception("Non ci sono colli di produzione generati per la produzione in corso");
|
||||
}
|
||||
} else {
|
||||
DataDocFromCollo dataDocFromCollo = new DataDocFromCollo();
|
||||
dataDocFromCollo.setDataDocFromCollo(carico.getDataDoc());
|
||||
dataDocFromCollo.setQtaColForDate(carico.getProdotti().getRow().get(0).getQtaProdAna()); /*UM magazzino*/
|
||||
|
||||
results = new ArrayList<>();
|
||||
results.add(dataDocFromCollo);
|
||||
}
|
||||
|
||||
if (results != null) {
|
||||
for (DataDocFromCollo dataDocFromCollo : results) {
|
||||
LoadColliDTO loadColli = new LoadColliDTO()
|
||||
.setCodAnag(carico.getCodAnag())
|
||||
.setCodDtip(carico.getCodDtipRien())
|
||||
.setSerDoc(carico.getSerDoc())
|
||||
.setDataDoc(dataDocFromCollo.getDataDocFromCollo())
|
||||
.setCodMdep(carico.getCodMdep())
|
||||
.setDataOrd(dataOrd)
|
||||
.setNumOrd(numOrd);
|
||||
|
||||
String condDataCollo = "";
|
||||
if (carico.getDataDoc() == null) {
|
||||
condDataCollo = "mtb_colt.data_collo = " + UtilityDB.valueDateToString(dataDocFromCollo.getDataDocFromCollo(), CommonConstants.DATE_FORMAT_YMD);
|
||||
}
|
||||
|
||||
sql = it.integry.ems_model.utility.Query.format(
|
||||
"SELECT DISTINCT mtb_colt.gestione, mtb_colt.data_collo, mtb_colt.ser_collo, mtb_colt.num_collo\n" +
|
||||
"FROM mtb_colt\n" +
|
||||
" LEFT OUTER JOIN dtb_ordt ON mtb_colt.gestione = dtb_ordt.gestione AND mtb_colt.data_ord = dtb_ordt.data_ord AND\n" +
|
||||
" mtb_colt.num_ord = dtb_ordt.num_ord,\n" +
|
||||
" mtb_colr\n" +
|
||||
"WHERE mtb_colt.gestione = 'L'\n" +
|
||||
" AND mtb_colt.data_ord IS NULL\n" +
|
||||
" AND mtb_colt.num_ord IS NULL\n" +
|
||||
" AND mtb_colt.id_lotto = %s\n" +
|
||||
" AND mtb_colt.cod_dtip IS NULL\n" +
|
||||
" AND mtb_colt.segno = 1\n" +
|
||||
" AND mtb_colt.gestione = mtb_colr.gestione\n" +
|
||||
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
|
||||
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
|
||||
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
|
||||
"ORDER BY 1, 2, 3, 4",
|
||||
carico.getIdLotto()
|
||||
);
|
||||
|
||||
sql = UtilityDB.addwhereCond(sql, condDataCollo, false);
|
||||
sql = UtilityDB.addwhereCond(sql, condFase, false);
|
||||
|
||||
List<MtbColt> colli = new ResultSetMapper().mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, MtbColt.class);
|
||||
|
||||
loadColli.setColli(colli);
|
||||
|
||||
if (loadColli.getColli() != null && !loadColli.getColli().isEmpty()) {
|
||||
DtbDoct docT = loadColliService.createDocFromColli(multiDBTransactionManager, loadColli);
|
||||
|
||||
docT
|
||||
.setActivityId(carico.getActivityID())
|
||||
.setCodProd(codProd)
|
||||
.setPartitaMag(partitaMag);
|
||||
|
||||
if (codJfas != null) {
|
||||
docT.setCodJfas(codJfas);
|
||||
}
|
||||
|
||||
entityList.add(docT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return entityList;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private void generateScaricoMaterialiDaColloVers(CaricoProdFinLavDTO carico, List<EntityBase> arrayEntity) throws Exception {
|
||||
Connection conn = multiDBTransactionManager.getPrimaryConnection();
|
||||
@@ -2178,6 +2310,11 @@ public class DocumentProdService {
|
||||
}
|
||||
}
|
||||
|
||||
// Generazione rientro prodotti da collo
|
||||
if ("S".equalsIgnoreCase(UtilityString.isNull(carico.getCreaRientroDaCollo(), "N"))) {
|
||||
arrayEntity.addAll(this.generateRientroDaCollo(carico));
|
||||
}
|
||||
|
||||
return arrayEntity;
|
||||
}
|
||||
|
||||
|
||||
@@ -403,6 +403,15 @@ public class MesProductionControllerV2 {
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
|
||||
@RequestMapping(value = "cambioFaseGroup", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse cambioFaseGroup(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
|
||||
@RequestBody GroupStepDTO groupStepDTO) throws Exception {
|
||||
mesProductionService.executeGroupStep(groupStepDTO, MesProductionServiceV2.Action.CAMBIO_FASE);
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
|
||||
@RequestMapping(value = "createColloCaricoGroup", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse createColloCaricoGroup(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
|
||||
|
||||
@@ -11,6 +11,7 @@ public class GroupStepDTO {
|
||||
String note;
|
||||
String terminaLavorazione = "S";
|
||||
String terminaLavorazioneLinea = "N";
|
||||
String newCodJfas;
|
||||
|
||||
public String getCodJfas() {
|
||||
return codJfas;
|
||||
@@ -83,4 +84,13 @@ public class GroupStepDTO {
|
||||
this.terminaLavorazioneLinea = terminaLavorazioneLinea;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNewCodJfas() {
|
||||
return newCodJfas;
|
||||
}
|
||||
|
||||
public GroupStepDTO setNewCodJfas(String newCodJfas) {
|
||||
this.newCodJfas = newCodJfas;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import it.integry.ems.document.dto.CaricoProdFinLavRowDTO;
|
||||
import it.integry.ems.document.service.DocumentProdService;
|
||||
import it.integry.ems.exception.MissingDataException;
|
||||
import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
|
||||
import it.integry.ems.object_storage.minio.sdk.errors.MinioException;
|
||||
import it.integry.ems.production.dto.*;
|
||||
import it.integry.ems.report.dto.JasperDTO;
|
||||
import it.integry.ems.report.dto.PairsDTO;
|
||||
@@ -24,6 +25,7 @@ import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.exception.*;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
@@ -35,12 +37,16 @@ import org.apache.pdfbox.printing.Orientation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
@@ -421,6 +427,55 @@ public class MesProductionServiceV2 {
|
||||
UtilityEntity.throwEntitiesException(UtilityEntity.toEntityBaseList(dtbOrdtList));
|
||||
}
|
||||
|
||||
public void cambioFase(Date dataOrd, Integer numOrd, String gestioneOrd, String codJfas, Integer idStep, Integer idRiga, String newCodJfas) throws SQLException, IOException, PrimaryDatabaseNotPresentException, DataConverterNotFoundException, InstantiationException, IllegalAccessException, RulesNotCompiledException, MergeEntityDBToObjectException, MinioException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, NoSuchFieldException, FieldMissingException, InvocationTargetException, ConverterNotConfiguredException, EntityException {
|
||||
String whereCondCodJfas = "";
|
||||
String whereCondIdStep = "";
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(codJfas)) {
|
||||
whereCondCodJfas = " AND cod_jfas = " + UtilityDB.valueToString(codJfas);
|
||||
}
|
||||
|
||||
if (idStep != null && idRiga != null) {
|
||||
whereCondIdStep = " AND id_step = " + UtilityDB.valueToString(idStep) + " AND id_riga = " + UtilityDB.valueToString(idRiga);
|
||||
}
|
||||
|
||||
|
||||
String sql = "SELECT * " +
|
||||
" FROM dtb_ord_steps " +
|
||||
" WHERE num_ord = " + UtilityDB.valueToString(numOrd) +
|
||||
" AND gestione = " + UtilityDB.valueToString(gestioneOrd) +
|
||||
" AND data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) +
|
||||
whereCondCodJfas +
|
||||
whereCondIdStep +
|
||||
" AND data_fine IS NULL " +
|
||||
" AND data_iniz IS NULL ";
|
||||
|
||||
List<DtbOrdSteps> latestSteps = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbOrdSteps.class);
|
||||
|
||||
ArrayList<DtbOrdt> dtbOrdtList = new ArrayList<>();
|
||||
|
||||
if (latestSteps != null) {
|
||||
for (DtbOrdSteps dtbOrdStep : latestSteps) {
|
||||
DtbOrdt dtbOrdt = new DtbOrdt();
|
||||
dtbOrdt.setOperation(OperationType.NO_OP);
|
||||
dtbOrdt.setGestione(dtbOrdStep.getGestione());
|
||||
dtbOrdt.setDataOrd(dtbOrdStep.getDataOrd());
|
||||
dtbOrdt.setNumOrd(dtbOrdStep.getNumOrd());
|
||||
dtbOrdt.setDtbOrdSteps(new ArrayList<>());
|
||||
dtbOrdt.getDtbOrdSteps().add(dtbOrdStep);
|
||||
|
||||
|
||||
dtbOrdStep.setCodJfas(newCodJfas);
|
||||
dtbOrdStep.setOperation(OperationType.UPDATE);
|
||||
|
||||
dtbOrdtList.add(dtbOrdt);
|
||||
}
|
||||
}
|
||||
|
||||
entityProcessor.processEntityList(dtbOrdtList, true);
|
||||
UtilityEntity.throwEntitiesException(UtilityEntity.toEntityBaseList(dtbOrdtList));
|
||||
}
|
||||
|
||||
|
||||
public void updateQtaImmesseStep(OrdineLavorazioneDTO ordineLavorazione, String codJfas, double qta) throws Exception {
|
||||
|
||||
@@ -1041,7 +1096,8 @@ public class MesProductionServiceV2 {
|
||||
public enum Action {
|
||||
OPEN,
|
||||
CLOSE,
|
||||
STOP
|
||||
STOP,
|
||||
CAMBIO_FASE
|
||||
}
|
||||
|
||||
public void executeGroupStep(GroupStepDTO groupStepDTO, Action action) throws Exception {
|
||||
@@ -1123,6 +1179,7 @@ public class MesProductionServiceV2 {
|
||||
if (ordine.getNumFase() == ordine.getMaxFase()) {
|
||||
String codDtipScar = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_DTIP_SCAR");
|
||||
String codDtipCar = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_DTIP_CAR");
|
||||
String codDtipRien = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_DTIP_RIEN");
|
||||
String codMdepCar = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_MDEP_CAR");
|
||||
|
||||
CaricoProdFinLavDTO carico = new CaricoProdFinLavDTO();
|
||||
@@ -1136,12 +1193,15 @@ public class MesProductionServiceV2 {
|
||||
carico.setEffettuaScaricoMateriali("S");
|
||||
carico.setCodDtipScar(codDtipScar);
|
||||
carico.setCodDtipCar(codDtipCar);
|
||||
carico.setCodDtipRien(codDtipRien);
|
||||
carico.setCodMdep(UtilityString.isNullOrEmpty(codMdepCar) ? null : codMdepCar);
|
||||
carico.setCodMdepScar(ordine.getCodMdep());
|
||||
carico.setCreaCaricoDaCollo("S");
|
||||
carico.setCreaScaricoDaCollo("S");
|
||||
carico.setTerminaLavorazione(groupStepDTO.getTerminaLavorazione());
|
||||
carico.setTerminaLavorazioneLinea(groupStepDTO.getTerminaLavorazioneLinea());
|
||||
carico.setCreaRientroDaCollo("S");
|
||||
carico.setIdLotto(ordine.getIdLotto());
|
||||
|
||||
CaricoProdFinLavProdottiDTO prodotti = new CaricoProdFinLavProdottiDTO();
|
||||
|
||||
@@ -1167,6 +1227,10 @@ public class MesProductionServiceV2 {
|
||||
entitiesToSave.add(ordLav);
|
||||
}
|
||||
|
||||
break;
|
||||
case CAMBIO_FASE:
|
||||
this.cambioFase(ordine.getDataOrd(), ordine.getNumOrd(), ordine.getGestione(), groupStepDTO.getCodJfas(), null, null, groupStepDTO.getNewCodJfas());
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ public class ScaricoMateriaPrimaDaColloDTO {
|
||||
private BigDecimal quantity;
|
||||
private DtbOrdr order;
|
||||
private boolean createNewUl = false;
|
||||
private Integer idLotto;
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
@@ -77,4 +78,13 @@ public class ScaricoMateriaPrimaDaColloDTO {
|
||||
this.codMdep = codMdep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getIdLotto() {
|
||||
return idLotto;
|
||||
}
|
||||
|
||||
public ScaricoMateriaPrimaDaColloDTO setIdLotto(Integer idLotto) {
|
||||
this.idLotto = idLotto;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2527,14 +2527,14 @@ public class WMSGenericService {
|
||||
anomalieList.add(AnomalieDTO.error("Non è stato possibile scaricare la quantita per l'articolo " + codMart + ": i dati del collo di origine non cono completi"));
|
||||
continue;
|
||||
}
|
||||
if (order != null && (
|
||||
order.getDataOrd() == null ||
|
||||
order.getNumOrd() == null ||
|
||||
order.getGestione() == null
|
||||
)) {
|
||||
anomalieList.add(AnomalieDTO.error("Non è stato possibile scaricare la quantita per l'articolo " + codMart + ": i dati dell' ordine non sono completi"));
|
||||
continue;
|
||||
}
|
||||
// if (order != null && (
|
||||
// order.getDataOrd() == null ||
|
||||
// order.getNumOrd() == null ||
|
||||
// order.getGestione() == null
|
||||
// )) {
|
||||
// anomalieList.add(AnomalieDTO.error("Non è stato possibile scaricare la quantita per l'articolo " + codMart + ": i dati dell' ordine non sono completi"));
|
||||
// continue;
|
||||
// }
|
||||
if (order != null) {
|
||||
codAnag = !UtilityString.isNullOrEmpty(order.getCodAnag()) ? order.getCodAnag() : null;
|
||||
if (UtilityString.isNullOrEmpty(codAnag)) {
|
||||
@@ -2612,6 +2612,7 @@ public class WMSGenericService {
|
||||
.setPosizione(giacenza.getPosizione())
|
||||
.setDataOrd(order != null ? order.getDataOrd() : null)
|
||||
.setNumOrd((order != null ? order.getNumOrd() : null))
|
||||
.setIdLotto(scarico.getIdLotto())
|
||||
.setCodAnag(codAnag);
|
||||
mtbColt.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
mtbColtsToInsert.add(mtbColt);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package it.integry.ems.retail.wms.lavorazione.service;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.logistic.dto.sm2.FiltroDistribuzioneColloDTO;
|
||||
import it.integry.ems.product.importaz.service.ProductServices;
|
||||
@@ -146,10 +147,24 @@ public class WMSLavorazioneService {
|
||||
final List<OrdineLavorazioneDTO> ordiniLavorazioneInCorso = productionOrderDataHandlerService.getOrdiniLavorazioneInCorso(createUDSRequestDTO.getCodJfas());
|
||||
//Try to retrieve
|
||||
|
||||
//TODO: Assegnare l'ordine o l'id lotto al collo appena creato
|
||||
|
||||
//Se non trovo niente allora eccezione
|
||||
if (ordiniLavorazioneInCorso == null || ordiniLavorazioneInCorso.isEmpty()) {
|
||||
throw new Exception("Nessun ordine in corso sulla linea " + createUDSRequestDTO.getCodJfas());
|
||||
}
|
||||
|
||||
List<Integer> idLotto = Stream.of(ordiniLavorazioneInCorso).map(OrdineLavorazioneDTO::getIdLotto).withoutNulls().distinct().toList();
|
||||
|
||||
if (idLotto.size() > 1) {
|
||||
throw new Exception("Trovato più di 1 id lotto in corso.");
|
||||
}
|
||||
|
||||
//Assegnare l'ordine o l'id lotto al collo appena creato
|
||||
OrdineLavorazioneDTO ordineLavorazioneDTO = ordiniLavorazioneInCorso.get(0);
|
||||
|
||||
udsMtbColt
|
||||
.setDataOrd(ordineLavorazioneDTO.getDataOrd())
|
||||
.setNumOrd(ordineLavorazioneDTO.getNumOrd())
|
||||
.setIdLotto(ordineLavorazioneDTO.getIdLotto());
|
||||
}
|
||||
|
||||
udsMtbColt.setOperation(OperationType.INSERT);
|
||||
|
||||
Reference in New Issue
Block a user