[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());
|
final List<Field> childs = entityHolder.getEntityChildrenFields(getClass());
|
||||||
|
|
||||||
for (Field entityChildField : childs) {
|
for (Field entityChildField : childs) {
|
||||||
|
entityChildField.setAccessible(true);
|
||||||
Object entityChildRef = entityChildField.get(clonedEntity);
|
Object entityChildRef = entityChildField.get(clonedEntity);
|
||||||
if (entityChildRef instanceof List) {
|
if (entityChildRef instanceof List) {
|
||||||
for (EntityBase entityChild : (List<EntityBase>) entityChildRef) {
|
for (EntityBase entityChild : (List<EntityBase>) entityChildRef) {
|
||||||
|
|||||||
@@ -82,6 +82,9 @@ public class OrdiniImporter extends BaseEntityImporter<List<EntityBase>> impleme
|
|||||||
case GSE:
|
case GSE:
|
||||||
result = getContextBean(OrdiniImportService.class).importGSEOrder(type, format, requestDto);
|
result = getContextBean(OrdiniImportService.class).importGSEOrder(type, format, requestDto);
|
||||||
break;
|
break;
|
||||||
|
case TOSCA:
|
||||||
|
result = getContextBean(OrdiniImportService.class).importOrdiniToscaExcel(type, format, requestDto);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new Exception("Tipo " + format + " non supportato");
|
throw new Exception("Tipo " + format + " non supportato");
|
||||||
@@ -111,7 +114,8 @@ public class OrdiniImporter extends BaseEntityImporter<List<EntityBase>> impleme
|
|||||||
MAGENTO("MAGENTO"),
|
MAGENTO("MAGENTO"),
|
||||||
EURITMO("EURITMO"),
|
EURITMO("EURITMO"),
|
||||||
GS("GS"),
|
GS("GS"),
|
||||||
GSE("GSE");
|
GSE("GSE"),
|
||||||
|
TOSCA("TOSCA");
|
||||||
|
|
||||||
private String text;
|
private String text;
|
||||||
|
|
||||||
|
|||||||
@@ -275,4 +275,10 @@ public class OrdiniImportService {
|
|||||||
|
|
||||||
return entityBases;
|
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));
|
return ServiceRestResponse.createPositiveResponse(productionService.chiudiOrdineLavorazione(chiusuraLavorazioneDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/creaOrdineProd", method = RequestMethod.POST)
|
@RequestMapping(value = "/saveOrdineProd", method = RequestMethod.POST)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ServiceRestResponse creaOrdineProd(@RequestBody CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
ServiceRestResponse saveOrdineProd(@RequestBody CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
||||||
return ServiceRestResponse.createPositiveResponse(productionService.creaOrdineProd(creaOrdineProdDTO));
|
return ServiceRestResponse.createPositiveResponse(productionService.saveOrdineProd(creaOrdineProdDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/getArtsProdByCodMart", method = RequestMethod.GET)
|
@RequestMapping(value = "/getArtsProdByCodMart", method = RequestMethod.GET)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class CreaOrdineProdDTO {
|
public class CreaOrdineProdDTO {
|
||||||
private LocalDate dataOrd;
|
private LocalDate dataOrd;
|
||||||
|
private Integer numOrd;
|
||||||
private String codAnag;
|
private String codAnag;
|
||||||
private String codVdes;
|
private String codVdes;
|
||||||
private String codMdep;
|
private String codMdep;
|
||||||
@@ -15,6 +16,7 @@ public class CreaOrdineProdDTO {
|
|||||||
private BigDecimal numCnf;
|
private BigDecimal numCnf;
|
||||||
private BigDecimal valUnt;
|
private BigDecimal valUnt;
|
||||||
private BigDecimal colliPedana;
|
private BigDecimal colliPedana;
|
||||||
|
private BigDecimal qtaOrd;
|
||||||
private String untOrd;
|
private String untOrd;
|
||||||
private List<ModificheDistintaDTO> modificheDistinta = new ArrayList<>();
|
private List<ModificheDistintaDTO> modificheDistinta = new ArrayList<>();
|
||||||
private String descrizionePartita;
|
private String descrizionePartita;
|
||||||
@@ -28,6 +30,15 @@ public class CreaOrdineProdDTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getNumOrd() {
|
||||||
|
return numOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CreaOrdineProdDTO setNumOrd(Integer numOrd) {
|
||||||
|
this.numOrd = numOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public String getCodAnag() {
|
public String getCodAnag() {
|
||||||
return codAnag;
|
return codAnag;
|
||||||
}
|
}
|
||||||
@@ -126,4 +137,13 @@ public class CreaOrdineProdDTO {
|
|||||||
this.descrizionePartita = descrizionePartita;
|
this.descrizionePartita = descrizionePartita;
|
||||||
return this;
|
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;
|
List<MtbPartitaMagCarat> datiPartita;
|
||||||
MtbPartitaMagCarat lottoProd = new MtbPartitaMagCarat();
|
MtbPartitaMagCarat lottoProd = new MtbPartitaMagCarat();
|
||||||
MtbPartitaMagCarat modalitaRaccolta = new MtbPartitaMagCarat();
|
MtbPartitaMagCarat modalitaRaccolta = new MtbPartitaMagCarat();
|
||||||
|
MtbPartitaMagCarat varietaRaccolta = new MtbPartitaMagCarat();
|
||||||
String caratLottoProd = "Lotto Produttore";
|
String caratLottoProd = "Lotto Produttore";
|
||||||
String caratModalitaRaccolta = "Modalita Raccolta";
|
String caratModalitaRaccolta = "Modalita Raccolta";
|
||||||
String caratVarietaRaccolta = "Varieta";
|
String caratVarietaRaccolta = "Varieta";
|
||||||
if (dto.getOriginal() != null) {
|
if (dto.getOriginal() != null) {
|
||||||
datiPartita = UtilityDB.executeSimpleQueryDTO(
|
datiPartita = UtilityDB.executeSimpleQueryDTO(
|
||||||
multiDBTransactionManager.getPrimaryConnection(),
|
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);
|
MtbPartitaMagCarat.class);
|
||||||
if (!UtilityList.isNullOrEmpty(datiPartita)) {
|
if (!UtilityList.isNullOrEmpty(datiPartita)) {
|
||||||
if (!UtilityString.streNull(dto.getOriginal().getLottoProduttore()).equalsIgnoreCase(UtilityString.streNull(dto.getLottoProduttore()))) {
|
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()))) {
|
if (!UtilityString.streNull(dto.getOriginal().getModalitaRaccolta()).equalsIgnoreCase(UtilityString.streNull(dto.getModalitaRaccolta()))) {
|
||||||
modalitaRaccolta = datiPartita.stream().filter(x -> x.getCarat().equalsIgnoreCase(caratModalitaRaccolta)).findFirst().orElse(new MtbPartitaMagCarat());
|
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
|
lottoProd
|
||||||
@@ -173,7 +177,7 @@ public class OrtoFruttaProductionService {
|
|||||||
.setActivityId(activityId)
|
.setActivityId(activityId)
|
||||||
.setDataRilevazione(LocalDateTime.now())
|
.setDataRilevazione(LocalDateTime.now())
|
||||||
.setOperation(OperationType.INSERT_OR_UPDATE);
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
modalitaRaccolta
|
varietaRaccolta
|
||||||
.setCarat(caratVarietaRaccolta)
|
.setCarat(caratVarietaRaccolta)
|
||||||
.setValCarat(dto.getVarieta())
|
.setValCarat(dto.getVarieta())
|
||||||
.setActivityId(activityId)
|
.setActivityId(activityId)
|
||||||
@@ -182,6 +186,7 @@ public class OrtoFruttaProductionService {
|
|||||||
datiPartita = new ArrayList<>();
|
datiPartita = new ArrayList<>();
|
||||||
datiPartita.add(lottoProd);
|
datiPartita.add(lottoProd);
|
||||||
datiPartita.add(modalitaRaccolta);
|
datiPartita.add(modalitaRaccolta);
|
||||||
|
datiPartita.add(varietaRaccolta);
|
||||||
|
|
||||||
MtbPartitaMag part = new MtbPartitaMag();
|
MtbPartitaMag part = new MtbPartitaMag();
|
||||||
part
|
part
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
|
|||||||
import it.integry.ems.production.dto.*;
|
import it.integry.ems.production.dto.*;
|
||||||
import it.integry.ems.rules.businessLogic.LoadColliService;
|
import it.integry.ems.rules.businessLogic.LoadColliService;
|
||||||
import it.integry.ems.rules.businessLogic.dto.LoadColliDTO;
|
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.service.EntityProcessor;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems.utility.UtilityEntity;
|
import it.integry.ems.utility.UtilityEntity;
|
||||||
@@ -965,7 +963,7 @@ public class ProductionService {
|
|||||||
return ordineLav;
|
return ordineLav;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DtbOrdt creaOrdineProd(CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
public DtbOrdt saveOrdineProd(CreaOrdineProdDTO creaOrdineProdDTO) throws Exception {
|
||||||
if (ObjectUtils.anyNull(
|
if (ObjectUtils.anyNull(
|
||||||
creaOrdineProdDTO.getDataOrd(),
|
creaOrdineProdDTO.getDataOrd(),
|
||||||
creaOrdineProdDTO.getCodAnag(),
|
creaOrdineProdDTO.getCodAnag(),
|
||||||
@@ -979,26 +977,31 @@ public class ProductionService {
|
|||||||
|
|
||||||
Date dataOrd = Date.from(creaOrdineProdDTO.getDataOrd().atStartOfDay(ZoneId.systemDefault()).toInstant());
|
Date dataOrd = Date.from(creaOrdineProdDTO.getDataOrd().atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||||
|
|
||||||
DtbOrdr rigaOrdProd = new DtbOrdr()
|
DtbOrdr rigaOrdProd = getRigaOrdProdFromOrdLav(dataOrd, creaOrdineProdDTO.getNumOrd());
|
||||||
.setCodMart(creaOrdineProdDTO.getCodMart())
|
if (rigaOrdProd == null) {
|
||||||
|
rigaOrdProd = new DtbOrdr();
|
||||||
|
}
|
||||||
|
rigaOrdProd.setCodMart(creaOrdineProdDTO.getCodMart())
|
||||||
.setPartitaMag(creaOrdineProdDTO.getPartitaMag())
|
.setPartitaMag(creaOrdineProdDTO.getPartitaMag())
|
||||||
.setValUnt(creaOrdineProdDTO.getValUnt())
|
.setValUnt(creaOrdineProdDTO.getValUnt())
|
||||||
.setNumCnf(creaOrdineProdDTO.getNumCnf())
|
.setNumCnf(creaOrdineProdDTO.getNumCnf())
|
||||||
|
.setQtaOrd(creaOrdineProdDTO.getQtaOrd())
|
||||||
.setColliPedana(creaOrdineProdDTO.getColliPedana())
|
.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()
|
DtbOrdt testataOrdProd = new DtbOrdt()
|
||||||
.setGestione("A")
|
.setGestione(UtilityString.isNull(rigaOrdProd.getGestione(), "A"))
|
||||||
.setGestioneRif("A")
|
.setGestioneRif("A")
|
||||||
.setDataOrd(dataOrd)
|
.setDataOrd(dataOrd)
|
||||||
|
.setNumOrd(rigaOrdProd.getNumOrd())
|
||||||
.setCodAnag(creaOrdineProdDTO.getCodAnag())
|
.setCodAnag(creaOrdineProdDTO.getCodAnag())
|
||||||
.setCodVdes(creaOrdineProdDTO.getCodVdes())
|
.setCodVdes(creaOrdineProdDTO.getCodVdes())
|
||||||
.setCodMdep(creaOrdineProdDTO.getCodMdep())
|
.setCodMdep(creaOrdineProdDTO.getCodMdep())
|
||||||
.addDtbOrdr(rigaOrdProd);
|
.addDtbOrdr(rigaOrdProd);
|
||||||
|
|
||||||
testataOrdProd.setOperation(OperationType.INSERT);
|
testataOrdProd.setOperation(creaOrdineProdDTO.getNumOrd() != null ? OperationType.UPDATE : OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
entityProcessor.processEntity(testataOrdProd, multiDBTransactionManager);
|
entityProcessor.processEntity(testataOrdProd, multiDBTransactionManager);
|
||||||
UtilityEntity.throwEntityException(testataOrdProd);
|
UtilityEntity.throwEntityException(testataOrdProd);
|
||||||
@@ -1036,6 +1039,22 @@ public class ProductionService {
|
|||||||
return testataOrdProd;
|
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 {
|
public List<MtbAart> getArtsProdByCodMart(String codMart) throws SQLException, IOException, PrimaryDatabaseNotPresentException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
||||||
String sql = Query.format(
|
String sql = Query.format(
|
||||||
"SELECT cod_prod AS cod_mart,\n" +
|
"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.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems.user.UserSession;
|
import it.integry.ems.user.UserSession;
|
||||||
import it.integry.ems.utility.UtilityEntity;
|
import it.integry.ems.utility.UtilityEntity;
|
||||||
|
import it.integry.ems.utility.UtilityLogger;
|
||||||
import it.integry.ems_model.base.EntityBase;
|
import it.integry.ems_model.base.EntityBase;
|
||||||
import it.integry.ems_model.db.ResultSetMapper;
|
import it.integry.ems_model.db.ResultSetMapper;
|
||||||
import it.integry.ems_model.entity.*;
|
import it.integry.ems_model.entity.*;
|
||||||
@@ -2182,9 +2183,11 @@ public class WMSGenericService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!UtilityBigDecimal.equalsTo(qtaScaricata, qtaDaScaricare)) {
|
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() + ". " +
|
" 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.password_endtime," +
|
||||||
" stb_user.e_mail," +
|
" stb_user.e_mail," +
|
||||||
" stb_user.Last_access_datetime," +
|
" stb_user.Last_access_datetime," +
|
||||||
|
" stb_user.cod_lang," +
|
||||||
" stb_user.flag_password_expiring," +
|
" 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," +
|
" 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," +
|
" wtb_depo.cod_mdep," +
|
||||||
|
|||||||
Reference in New Issue
Block a user