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:
@@ -1009,11 +1009,11 @@ public class DocOrdRules extends QueryRules {
|
||||
.setCodTcolUl(dtbOrdt.getCodTcolUl())
|
||||
.setCodTcolUi(dtbOrdt.getCodTcolUi())
|
||||
.setNumCnf(dtbOrdt.getNumCnfProd());
|
||||
dtbOrdrProd.setOperation(OperationType.UPDATE);
|
||||
|
||||
dtbOrdrProd.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
}
|
||||
dtbOrdtProd.addDtbOrdr(dtbOrdrProd);
|
||||
|
||||
|
||||
return dtbOrdtProd;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
package it.integry.ems.product.importaz.service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
public class RipianificaOrdineLavRequestDTO {
|
||||
private String gestione;
|
||||
|
||||
private Date dataOrd;
|
||||
|
||||
private Integer numOrd;
|
||||
|
||||
private Integer idLotto;
|
||||
|
||||
private String codJfasOld;
|
||||
|
||||
private String codJfasNew;
|
||||
|
||||
private Date dataPianificazione;
|
||||
|
||||
public String getGestione() {
|
||||
return gestione;
|
||||
}
|
||||
|
||||
public RipianificaOrdineLavRequestDTO setGestione(String gestione) {
|
||||
this.gestione = gestione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public RipianificaOrdineLavRequestDTO setDataOrd(Date dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumOrd() {
|
||||
return numOrd;
|
||||
}
|
||||
|
||||
public RipianificaOrdineLavRequestDTO setNumOrd(Integer numOrd) {
|
||||
this.numOrd = numOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getIdLotto() {
|
||||
return idLotto;
|
||||
}
|
||||
|
||||
public RipianificaOrdineLavRequestDTO setIdLotto(Integer idLotto) {
|
||||
this.idLotto = idLotto;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodJfasOld() {
|
||||
return codJfasOld;
|
||||
}
|
||||
|
||||
public RipianificaOrdineLavRequestDTO setCodJfasOld(String codJfasOld) {
|
||||
this.codJfasOld = codJfasOld;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodJfasNew() {
|
||||
return codJfasNew;
|
||||
}
|
||||
|
||||
public RipianificaOrdineLavRequestDTO setCodJfasNew(String codJfasNew) {
|
||||
this.codJfasNew = codJfasNew;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataPianificazione() {
|
||||
return dataPianificazione;
|
||||
}
|
||||
|
||||
public RipianificaOrdineLavRequestDTO setDataPianificazione(Date dataPianificazione) {
|
||||
this.dataPianificazione = dataPianificazione;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.document.dto.ChiusuraLavorazioneDTO;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.product.importaz.service.RipianificaOrdineLavRequestDTO;
|
||||
import it.integry.ems.production.dto.*;
|
||||
import it.integry.ems.production.service.MesProductionServiceV2;
|
||||
import it.integry.ems.production.service.ProductionLineService;
|
||||
@@ -15,6 +16,7 @@ import it.integry.ems.service.dto.production.OrdineLavorazioneDTO;
|
||||
import it.integry.ems.service.production.ProductionOrderDataHandlerService;
|
||||
import it.integry.ems.status.ServiceChecker;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.business_logic.GeneraOrdLav;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
@@ -474,6 +476,13 @@ public class MesProductionControllerV2 {
|
||||
ServiceRestResponse reopenOrdineLav(@RequestBody ReopenOrdineLavRequestDTO dto) throws Exception {
|
||||
productionOrdersLifecycleService.reopenOrdineLav(dto);
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
@PostMapping(value = "ordine/ripianifica")
|
||||
public @ResponseBody
|
||||
ServiceRestResponse ripianifica(@RequestBody RipianificaOrdineLavRequestDTO dto) throws Exception {
|
||||
productionOrdersLifecycleService.ripianificaOrdLav(dto);
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import it.integry.ems.document.dto.RientroLavorazioneDTO;
|
||||
import it.integry.ems.document.dto.ScaricoLavorazioneDTO;
|
||||
import it.integry.ems.exception.MissingDataException;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.product.importaz.service.RipianificaOrdineLavRequestDTO;
|
||||
import it.integry.ems.production.dto.ReopenOrdineLavRequestDTO;
|
||||
import it.integry.ems.service.AziendaService;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
@@ -16,10 +17,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.DtbOrdt;
|
||||
import it.integry.ems_model.entity.JtbLotr;
|
||||
import it.integry.ems_model.entity.JtbLott;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
@@ -30,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -332,4 +331,101 @@ public class ProductionOrdersLifecycleService {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
public void ripianificaOrdLav(RipianificaOrdineLavRequestDTO ripianificaOrdineLavRequestDTO) throws Exception {
|
||||
DtbOrdt dtbOrdtP = new DtbOrdt()
|
||||
.setCodJfas(UtilityString.isNull(ripianificaOrdineLavRequestDTO.getCodJfasNew(), ripianificaOrdineLavRequestDTO.getCodJfasOld()))
|
||||
.setDataOrd(ripianificaOrdineLavRequestDTO.getDataPianificazione() == null ?
|
||||
ripianificaOrdineLavRequestDTO.getDataOrd() :
|
||||
ripianificaOrdineLavRequestDTO.getDataPianificazione()
|
||||
)
|
||||
.setGestione("A")
|
||||
.setGestioneRif("A")
|
||||
.setGeneraOrdLavDaProd(false)
|
||||
.setOrdTrasf(false);
|
||||
dtbOrdtP.setOperation(OperationType.SELECT_OBJECT);
|
||||
dtbOrdtP.setOnlyPkMaster(false);
|
||||
entityProcessor.processEntity(dtbOrdtP, multiDBTransactionManager);
|
||||
|
||||
if (dtbOrdtP.getNumOrd() == null) {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT * " +
|
||||
" FROM dtb_ordt " +
|
||||
"WHERE EXISTS (SELECT * FROM dtb_ordt orl WHERE dtb_ordt.gestione = orl.gestione_rif AND dtb_ordt.data_ord = orl.data_ord_rif AND " +
|
||||
"dtb_ordt.num_ord = orl.num_ord_rif and gestione = %s and data_ord = %s and num_ord = %s)",
|
||||
ripianificaOrdineLavRequestDTO.getGestione(),
|
||||
ripianificaOrdineLavRequestDTO.getDataOrd(),
|
||||
ripianificaOrdineLavRequestDTO.getNumOrd()
|
||||
);
|
||||
|
||||
dtbOrdtP = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbOrdt.class);
|
||||
dtbOrdtP
|
||||
.setCodJfas(ripianificaOrdineLavRequestDTO.getCodJfasNew() == null ? dtbOrdtP.getCodJfas() : ripianificaOrdineLavRequestDTO.getCodJfasNew())
|
||||
.setDataOrd(ripianificaOrdineLavRequestDTO.getDataPianificazione() == null ? dtbOrdtP.getDataOrd() : ripianificaOrdineLavRequestDTO.getDataPianificazione())
|
||||
.setNumOrd(null)
|
||||
.setGeneraOrdLavDaProd(false)
|
||||
.setOrdTrasf(false);
|
||||
dtbOrdtP.setOperation(OperationType.INSERT);
|
||||
|
||||
entityProcessor.processEntity(dtbOrdtP, true, multiDBTransactionManager);
|
||||
}
|
||||
|
||||
String sql =
|
||||
Query.format("SELECT ISNULL(MAX(riga_ord), 0) + 1 FROM dtb_ordr WHERE gestione = %s AND data_ord = %s AND num_ord = %s",
|
||||
dtbOrdtP.getGestione(),
|
||||
dtbOrdtP.getDataOrd(),
|
||||
dtbOrdtP.getNumOrd());
|
||||
|
||||
Integer rigaOrdProd = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
HashMap<String, Object> oldPk = new HashMap<>();
|
||||
Date dataOrd = ripianificaOrdineLavRequestDTO.getDataOrd();
|
||||
if (ripianificaOrdineLavRequestDTO.getDataPianificazione() != null &&
|
||||
!ripianificaOrdineLavRequestDTO.getDataOrd().equals(ripianificaOrdineLavRequestDTO.getDataPianificazione())) {
|
||||
oldPk.put("dataOrd", ripianificaOrdineLavRequestDTO.getDataOrd());
|
||||
dataOrd = ripianificaOrdineLavRequestDTO.getDataPianificazione();
|
||||
}
|
||||
|
||||
DtbOrdt dtbOrdl = new DtbOrdt()
|
||||
.setDataOrd(dataOrd)
|
||||
.setGestione(ripianificaOrdineLavRequestDTO.getGestione())
|
||||
.setNumOrd(ripianificaOrdineLavRequestDTO.getNumOrd())
|
||||
.setGestioneRif(dtbOrdtP.getGestione())
|
||||
.setDataOrdRif(dtbOrdtP.getDataOrd())
|
||||
.setNumOrdRif(dtbOrdtP.getNumOrd())
|
||||
.setRigaOrdRif(rigaOrdProd);
|
||||
if (!oldPk.isEmpty()) {
|
||||
dtbOrdl.setOldPk(oldPk);
|
||||
dtbOrdl.setOperation(OperationType.SUBSTITUTE);
|
||||
} else {
|
||||
dtbOrdl.setOperation(OperationType.UPDATE);
|
||||
}
|
||||
|
||||
if (UtilityString.equalsIgnoreCase(ripianificaOrdineLavRequestDTO.getCodJfasNew(), ripianificaOrdineLavRequestDTO.getCodJfasOld())) {
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT * FROM dtb_ords WHERE gestione = %s AND data_ord = %s AND num_ord = %s ORDER BY data_fine desc",
|
||||
ripianificaOrdineLavRequestDTO.getGestione(),
|
||||
ripianificaOrdineLavRequestDTO.getDataOrd(),
|
||||
ripianificaOrdineLavRequestDTO.getNumOrd());
|
||||
DtbOrdSteps lastStep = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbOrdSteps.class);
|
||||
|
||||
lastStep.setFlagStepAttivo("N");
|
||||
lastStep.setOperation(OperationType.UPDATE);
|
||||
dtbOrdl.getDtbOrdSteps().add(lastStep);
|
||||
|
||||
DtbOrdSteps dtbOrdSteps = (DtbOrdSteps) lastStep.deepClone();
|
||||
dtbOrdSteps
|
||||
.setCodJfas(ripianificaOrdineLavRequestDTO.getCodJfasNew())
|
||||
.setIdRiga(null)
|
||||
.setDataIniz(null)
|
||||
.setDataFine(null);
|
||||
dtbOrdSteps.setOperation(OperationType.INSERT);
|
||||
dtbOrdl.getDtbOrdSteps().add(dtbOrdSteps);
|
||||
}
|
||||
entityProcessor.processEntity(dtbOrdl, true, multiDBTransactionManager);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user