[ROSSOGARGANO]
modifica ordini di lavorazione
This commit is contained in:
@@ -937,6 +937,7 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
|
||||
final List<Field> childs = entityHolder.getEntityChildrenFields(getClass());
|
||||
|
||||
for (Field entityChildField : childs) {
|
||||
entityChildField.setAccessible(true);
|
||||
Object entityChildRef = entityChildField.get(clonedEntity);
|
||||
if (entityChildRef instanceof List) {
|
||||
for (EntityBase entityChild : (List<EntityBase>) entityChildRef) {
|
||||
|
||||
@@ -82,6 +82,9 @@ public class OrdiniImporter extends BaseEntityImporter<List<EntityBase>> impleme
|
||||
case GSE:
|
||||
result = getContextBean(OrdiniImportService.class).importGSEOrder(type, format, requestDto);
|
||||
break;
|
||||
case TOSCA:
|
||||
result = getContextBean(OrdiniImportService.class).importOrdiniToscaExcel(type, format, requestDto);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Tipo " + format + " non supportato");
|
||||
@@ -111,7 +114,8 @@ public class OrdiniImporter extends BaseEntityImporter<List<EntityBase>> impleme
|
||||
MAGENTO("MAGENTO"),
|
||||
EURITMO("EURITMO"),
|
||||
GS("GS"),
|
||||
GSE("GSE");
|
||||
GSE("GSE"),
|
||||
TOSCA("TOSCA");
|
||||
|
||||
private String text;
|
||||
|
||||
|
||||
@@ -275,4 +275,10 @@ public class OrdiniImportService {
|
||||
|
||||
return entityBases;
|
||||
}
|
||||
|
||||
public List<EntityBase> importOrdiniToscaExcel(String type, String format, ImportRequestDTO requestDTO) throws Exception {
|
||||
Connection conn = multiDBTransactionManager.getPrimaryConnection();
|
||||
HashMap<String, String> setup = setupGest.getImportSetupSection(conn, type, format);
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,10 +78,10 @@ public class ProductionController {
|
||||
return ServiceRestResponse.createPositiveResponse(productionService.chiudiOrdineLavorazione(chiusuraLavorazioneDTO));
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/creaOrdineProd", method = RequestMethod.POST)
|
||||
@RequestMapping(value = "/saveOrdineProd", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse creaOrdineProd(@RequestBody CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(productionService.creaOrdineProd(creaOrdineProdDTO));
|
||||
ServiceRestResponse saveOrdineProd(@RequestBody CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(productionService.saveOrdineProd(creaOrdineProdDTO));
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/getArtsProdByCodMart", method = RequestMethod.GET)
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.util.List;
|
||||
|
||||
public class CreaOrdineProdDTO {
|
||||
private LocalDate dataOrd;
|
||||
private Integer numOrd;
|
||||
private String codAnag;
|
||||
private String codVdes;
|
||||
private String codMdep;
|
||||
@@ -15,6 +16,7 @@ public class CreaOrdineProdDTO {
|
||||
private BigDecimal numCnf;
|
||||
private BigDecimal valUnt;
|
||||
private BigDecimal colliPedana;
|
||||
private BigDecimal qtaOrd;
|
||||
private String untOrd;
|
||||
private List<ModificheDistintaDTO> modificheDistinta = new ArrayList<>();
|
||||
private String descrizionePartita;
|
||||
@@ -28,6 +30,15 @@ public class CreaOrdineProdDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumOrd() {
|
||||
return numOrd;
|
||||
}
|
||||
|
||||
public CreaOrdineProdDTO setNumOrd(Integer numOrd) {
|
||||
this.numOrd = numOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
@@ -126,4 +137,13 @@ public class CreaOrdineProdDTO {
|
||||
this.descrizionePartita = descrizionePartita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaOrd() {
|
||||
return qtaOrd;
|
||||
}
|
||||
|
||||
public CreaOrdineProdDTO setQtaOrd(BigDecimal qtaOrd) {
|
||||
this.qtaOrd = qtaOrd;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,13 +142,14 @@ public class OrtoFruttaProductionService {
|
||||
List<MtbPartitaMagCarat> datiPartita;
|
||||
MtbPartitaMagCarat lottoProd = new MtbPartitaMagCarat();
|
||||
MtbPartitaMagCarat modalitaRaccolta = new MtbPartitaMagCarat();
|
||||
MtbPartitaMagCarat varietaRaccolta = new MtbPartitaMagCarat();
|
||||
String caratLottoProd = "Lotto Produttore";
|
||||
String caratModalitaRaccolta = "Modalita Raccolta";
|
||||
String caratVarietaRaccolta = "Varieta";
|
||||
if (dto.getOriginal() != null) {
|
||||
datiPartita = UtilityDB.executeSimpleQueryDTO(
|
||||
multiDBTransactionManager.getPrimaryConnection(),
|
||||
Query.format("SELECT * from mtb_partita_mag_carat where cod_mart = {} and partita_mag = {} and carat in ({},{})", dto.getCodMart(), dto.getPartitaRaccolta(), caratLottoProd, caratModalitaRaccolta),
|
||||
Query.format("SELECT * from mtb_partita_mag_carat where cod_mart = {} and partita_mag = {} and carat in ({},{},{})", dto.getCodMart(), dto.getPartitaRaccolta(), caratLottoProd, caratModalitaRaccolta,caratVarietaRaccolta),
|
||||
MtbPartitaMagCarat.class);
|
||||
if (!UtilityList.isNullOrEmpty(datiPartita)) {
|
||||
if (!UtilityString.streNull(dto.getOriginal().getLottoProduttore()).equalsIgnoreCase(UtilityString.streNull(dto.getLottoProduttore()))) {
|
||||
@@ -158,6 +159,9 @@ public class OrtoFruttaProductionService {
|
||||
if (!UtilityString.streNull(dto.getOriginal().getModalitaRaccolta()).equalsIgnoreCase(UtilityString.streNull(dto.getModalitaRaccolta()))) {
|
||||
modalitaRaccolta = datiPartita.stream().filter(x -> x.getCarat().equalsIgnoreCase(caratModalitaRaccolta)).findFirst().orElse(new MtbPartitaMagCarat());
|
||||
}
|
||||
if (!UtilityString.streNull(dto.getOriginal().getModalitaRaccolta()).equalsIgnoreCase(UtilityString.streNull(dto.getModalitaRaccolta()))) {
|
||||
varietaRaccolta = datiPartita.stream().filter(x -> x.getCarat().equalsIgnoreCase(caratVarietaRaccolta)).findFirst().orElse(new MtbPartitaMagCarat());
|
||||
}
|
||||
}
|
||||
}
|
||||
lottoProd
|
||||
@@ -173,7 +177,7 @@ public class OrtoFruttaProductionService {
|
||||
.setActivityId(activityId)
|
||||
.setDataRilevazione(LocalDateTime.now())
|
||||
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
modalitaRaccolta
|
||||
varietaRaccolta
|
||||
.setCarat(caratVarietaRaccolta)
|
||||
.setValCarat(dto.getVarieta())
|
||||
.setActivityId(activityId)
|
||||
@@ -182,6 +186,7 @@ public class OrtoFruttaProductionService {
|
||||
datiPartita = new ArrayList<>();
|
||||
datiPartita.add(lottoProd);
|
||||
datiPartita.add(modalitaRaccolta);
|
||||
datiPartita.add(varietaRaccolta);
|
||||
|
||||
MtbPartitaMag part = new MtbPartitaMag();
|
||||
part
|
||||
|
||||
@@ -10,8 +10,6 @@ import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
|
||||
import it.integry.ems.production.dto.*;
|
||||
import it.integry.ems.rules.businessLogic.LoadColliService;
|
||||
import it.integry.ems.rules.businessLogic.dto.LoadColliDTO;
|
||||
import it.integry.ems.rules.completing.PartitaMagRules;
|
||||
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
@@ -965,7 +963,7 @@ public class ProductionService {
|
||||
return ordineLav;
|
||||
}
|
||||
|
||||
public DtbOrdt creaOrdineProd(CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
||||
public DtbOrdt saveOrdineProd(CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
||||
if (ObjectUtils.anyNull(
|
||||
creaOrdineProdDTO.getDataOrd(),
|
||||
creaOrdineProdDTO.getCodAnag(),
|
||||
@@ -979,26 +977,31 @@ public class ProductionService {
|
||||
|
||||
Date dataOrd = Date.from(creaOrdineProdDTO.getDataOrd().atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||
|
||||
DtbOrdr rigaOrdProd = new DtbOrdr()
|
||||
.setCodMart(creaOrdineProdDTO.getCodMart())
|
||||
DtbOrdr rigaOrdProd = getRigaOrdProdFromOrdLav(dataOrd, creaOrdineProdDTO.getNumOrd());
|
||||
if (rigaOrdProd == null) {
|
||||
rigaOrdProd = new DtbOrdr();
|
||||
}
|
||||
rigaOrdProd.setCodMart(creaOrdineProdDTO.getCodMart())
|
||||
.setPartitaMag(creaOrdineProdDTO.getPartitaMag())
|
||||
.setValUnt(creaOrdineProdDTO.getValUnt())
|
||||
.setNumCnf(creaOrdineProdDTO.getNumCnf())
|
||||
.setQtaOrd(creaOrdineProdDTO.getQtaOrd())
|
||||
.setColliPedana(creaOrdineProdDTO.getColliPedana())
|
||||
.setUntOrd(creaOrdineProdDTO.getUntOrd());
|
||||
.setUntOrd(creaOrdineProdDTO.getUntOrd())
|
||||
.setOperation(creaOrdineProdDTO.getNumOrd() != null ? OperationType.UPDATE : OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
rigaOrdProd.setOperation(OperationType.INSERT);
|
||||
|
||||
DtbOrdt testataOrdProd = new DtbOrdt()
|
||||
.setGestione("A")
|
||||
.setGestione(UtilityString.isNull(rigaOrdProd.getGestione(), "A"))
|
||||
.setGestioneRif("A")
|
||||
.setDataOrd(dataOrd)
|
||||
.setNumOrd(rigaOrdProd.getNumOrd())
|
||||
.setCodAnag(creaOrdineProdDTO.getCodAnag())
|
||||
.setCodVdes(creaOrdineProdDTO.getCodVdes())
|
||||
.setCodMdep(creaOrdineProdDTO.getCodMdep())
|
||||
.addDtbOrdr(rigaOrdProd);
|
||||
|
||||
testataOrdProd.setOperation(OperationType.INSERT);
|
||||
testataOrdProd.setOperation(creaOrdineProdDTO.getNumOrd() != null ? OperationType.UPDATE : OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
entityProcessor.processEntity(testataOrdProd, multiDBTransactionManager);
|
||||
UtilityEntity.throwEntityException(testataOrdProd);
|
||||
@@ -1036,6 +1039,22 @@ public class ProductionService {
|
||||
return testataOrdProd;
|
||||
}
|
||||
|
||||
private DtbOrdr getRigaOrdProdFromOrdLav(Date dataOrd, Integer numOrd) throws Exception {
|
||||
String sql = Query.format(
|
||||
"SELECT rowProd.*\n" +
|
||||
"FROM dtb_ordr rowProd\n" +
|
||||
" INNER JOIN dtb_ordt ordLav ON\n" +
|
||||
" ordLav.data_ord_rif = rowProd.data_ord\n" +
|
||||
" AND ordLav.num_ord_rif = rowProd.num_ord\n" +
|
||||
" AND rowProd.gestione = 'A'\n" +
|
||||
" AND ordLav.gestione = 'L'\n" +
|
||||
" AND ordLav.riga_ord_rif = rowProd.riga_ord\n" +
|
||||
"WHERE ordLav.data_ord = %s and ordLav.num_ord = %s",
|
||||
UtilityDate.formatDate(dataOrd, CommonConstants.DATE_FORMAT_YMD), numOrd);
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbOrdr.class);
|
||||
}
|
||||
|
||||
public List<MtbAart> getArtsProdByCodMart(String codMart) throws SQLException, IOException, PrimaryDatabaseNotPresentException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
||||
String sql = Query.format(
|
||||
"SELECT cod_prod AS cod_mart,\n" +
|
||||
|
||||
@@ -28,6 +28,7 @@ import it.integry.ems.service.PrinterService;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.UserSession;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems.utility.UtilityLogger;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.*;
|
||||
@@ -2182,9 +2183,11 @@ public class WMSGenericService {
|
||||
}
|
||||
|
||||
if (!UtilityBigDecimal.equalsTo(qtaScaricata, qtaDaScaricare)) {
|
||||
anomalieList.add(AnomalieDTO.warning("Non è stato possibile scaricare tutta la quantita di materia prima richiesta dalla posizione " + scaricoMateriaPrimaDTO.getPosizione() +
|
||||
String warning = "Non è stato possibile scaricare tutta la quantita di materia prima richiesta dalla posizione " + scaricoMateriaPrimaDTO.getPosizione() +
|
||||
" dell'articolo " + giacInPosizioneMapByCodMart.getKey() + ". " +
|
||||
"E' stata richiesta una quantità di " + UtilityBigDecimal.round(qtaDaScaricare, 3) + " e non è stato possibile scaricarne " + UtilityBigDecimal.round(qtaDaScaricare.subtract(qtaScaricata), 3)));
|
||||
"E' stata richiesta una quantità di " + UtilityBigDecimal.round(qtaDaScaricare, 3) + " e non è stato possibile scaricarne " + UtilityBigDecimal.round(qtaDaScaricare.subtract(qtaScaricata), 3);
|
||||
logger.error(warning);
|
||||
anomalieList.add(AnomalieDTO.warning(warning));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -200,6 +200,7 @@ public class SystemService {
|
||||
" stb_user.password_endtime," +
|
||||
" stb_user.e_mail," +
|
||||
" stb_user.Last_access_datetime," +
|
||||
" stb_user.cod_lang," +
|
||||
" stb_user.flag_password_expiring," +
|
||||
" CASE WHEN stb_user.key_group = '3' AND stb_user.user_code IS NULL THEN wtb_clie.cod_anag ELSE stb_user.user_code END AS user_code," +
|
||||
" wtb_depo.cod_mdep," +
|
||||
|
||||
Reference in New Issue
Block a user