[ROSSOGARGANO]
- raggruppate righe documento di trasferimento per articolo partita e spostate annotazioni in riga documento [BIOLEVANTE] - servizio aggiornamento peso articolo
This commit is contained in:
@@ -2,10 +2,10 @@ package it.integry.ems.product.controller;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import it.integry.common.var.CommonConstants;
|
import it.integry.common.var.CommonConstants;
|
||||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
|
||||||
import it.integry.ems.download.DownloadFileHandlerService;
|
import it.integry.ems.download.DownloadFileHandlerService;
|
||||||
import it.integry.ems.product.dto.CategorieCostoProdottoDTO;
|
import it.integry.ems.product.dto.CategorieCostoProdottoDTO;
|
||||||
import it.integry.ems.product.dto.ImportMtbLisvDataDTO;
|
import it.integry.ems.product.dto.ImportMtbLisvDataDTO;
|
||||||
|
import it.integry.ems.product.dto.UpdatePesoArticoloRequestDTO;
|
||||||
import it.integry.ems.product.importaz.dto.AggiornaLisvDTO;
|
import it.integry.ems.product.importaz.dto.AggiornaLisvDTO;
|
||||||
import it.integry.ems.product.importaz.dto.ContrattiVenditaDTO;
|
import it.integry.ems.product.importaz.dto.ContrattiVenditaDTO;
|
||||||
import it.integry.ems.product.importaz.dto.ImportCaratteristicheDTO;
|
import it.integry.ems.product.importaz.dto.ImportCaratteristicheDTO;
|
||||||
@@ -29,11 +29,9 @@ import org.apache.logging.log4j.LogManager;
|
|||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -84,7 +82,7 @@ public class ProductController {
|
|||||||
ServiceRestResponse confirmTempListino(
|
ServiceRestResponse confirmTempListino(
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration) throws Exception {
|
@RequestParam(CommonConstants.PROFILE_DB) String configuration) throws Exception {
|
||||||
ServiceRestResponse response = ServiceRestResponse.createEntityPositiveResponse(importAnagListiniService.confirmTempListino());
|
ServiceRestResponse response = ServiceRestResponse.createEntityPositiveResponse(importAnagListiniService.confirmTempListino());
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
@@ -149,6 +147,7 @@ public class ProductController {
|
|||||||
return ServiceRestResponse.createNegativeResponse(e);
|
return ServiceRestResponse.createNegativeResponse(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = EmsRestConstants.PATH_IMPORT_LISV, method = RequestMethod.POST)
|
@RequestMapping(value = EmsRestConstants.PATH_IMPORT_LISV, method = RequestMethod.POST)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
List<ServiceRestResponse> importListiniVendita(
|
List<ServiceRestResponse> importListiniVendita(
|
||||||
@@ -284,13 +283,13 @@ public class ProductController {
|
|||||||
@RequestMapping(value = "saveArtDialogo", method = RequestMethod.POST)
|
@RequestMapping(value = "saveArtDialogo", method = RequestMethod.POST)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
List<ServiceRestResponse> saveArtDialogo(HttpServletRequest request,
|
List<ServiceRestResponse> saveArtDialogo(HttpServletRequest request,
|
||||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||||
@RequestBody MtbAart mtbAart ) throws Exception {
|
@RequestBody MtbAart mtbAart) throws Exception {
|
||||||
|
|
||||||
List<ServiceRestResponse> serviceRestResponseList = new ArrayList<>();
|
List<ServiceRestResponse> serviceRestResponseList = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
serviceRestResponseList.add(ServiceRestResponse.createPositiveResponse(productServices.saveArtDialogo(mtbAart)));
|
serviceRestResponseList.add(ServiceRestResponse.createPositiveResponse(productServices.saveArtDialogo(mtbAart)));
|
||||||
} catch (Exception e ) {
|
} catch (Exception e) {
|
||||||
logger.error(e);
|
logger.error(e);
|
||||||
serviceRestResponseList.add(ServiceRestResponse.createNegativeResponse(e));
|
serviceRestResponseList.add(ServiceRestResponse.createNegativeResponse(e));
|
||||||
}
|
}
|
||||||
@@ -304,7 +303,6 @@ public class ProductController {
|
|||||||
@RequestParam("barcode") String barcode) throws Exception {
|
@RequestParam("barcode") String barcode) throws Exception {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<MtbAart> mtbAartList = productServices.searchArticoliByBarcode(barcode, false);
|
List<MtbAart> mtbAartList = productServices.searchArticoliByBarcode(barcode, false);
|
||||||
return ServiceRestResponse.createPositiveResponse(mtbAartList);
|
return ServiceRestResponse.createPositiveResponse(mtbAartList);
|
||||||
}
|
}
|
||||||
@@ -422,5 +420,19 @@ public class ProductController {
|
|||||||
return ServiceRestResponse.createNegativeResponse(e);
|
return ServiceRestResponse.createNegativeResponse(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = "updatePesoArticolo", method = RequestMethod.POST)
|
||||||
|
|
||||||
|
public @ResponseBody ServiceRestResponse updatePesoArticolo(HttpServletRequest request,
|
||||||
|
@RequestParam(CommonConstants.PROFILE_DB) String profileDb,
|
||||||
|
@RequestBody UpdatePesoArticoloRequestDTO dto) {
|
||||||
|
try {
|
||||||
|
return ServiceRestResponse.createPositiveResponse(productServices.updatePesoArticolo(dto));
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(request.getRequestURI(), e);
|
||||||
|
return ServiceRestResponse.createNegativeResponse(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package it.integry.ems.product.dto;
|
||||||
|
|
||||||
|
import it.integry.ems_model.entity.DtbOrdt;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class UpdatePesoArticoloRequestDTO {
|
||||||
|
private String codMart;
|
||||||
|
private BigDecimal taraKg;
|
||||||
|
private List<DtbOrdt> ordersToUpdate;
|
||||||
|
|
||||||
|
|
||||||
|
public String getCodMart() {
|
||||||
|
return codMart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UpdatePesoArticoloRequestDTO setCodMart(String codMart) {
|
||||||
|
this.codMart = codMart;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getTaraKg() {
|
||||||
|
return taraKg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UpdatePesoArticoloRequestDTO setTaraKg(BigDecimal taraKg) {
|
||||||
|
this.taraKg = taraKg;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DtbOrdt> getOrdersToUpdate() {
|
||||||
|
return ordersToUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UpdatePesoArticoloRequestDTO setOrdersToUpdate(List<DtbOrdt> ordersToUpdate) {
|
||||||
|
this.ordersToUpdate = ordersToUpdate;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,10 +4,10 @@ import com.annimon.stream.Optional;
|
|||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
|
||||||
import it.integry.common.var.CommonConstants;
|
import it.integry.common.var.CommonConstants;
|
||||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||||
import it.integry.ems.datasource.DataSource;
|
import it.integry.ems.datasource.DataSource;
|
||||||
|
import it.integry.ems.product.dto.UpdatePesoArticoloRequestDTO;
|
||||||
import it.integry.ems.product.importaz.dto.ArticoliMorganteDTO;
|
import it.integry.ems.product.importaz.dto.ArticoliMorganteDTO;
|
||||||
import it.integry.ems.product.importaz.dto.ContrattiVenditaDTO;
|
import it.integry.ems.product.importaz.dto.ContrattiVenditaDTO;
|
||||||
import it.integry.ems.product.importaz.dto.StatoArticoloDTO;
|
import it.integry.ems.product.importaz.dto.StatoArticoloDTO;
|
||||||
@@ -15,6 +15,7 @@ import it.integry.ems.properties.EmsProperties;
|
|||||||
import it.integry.ems.response.FileItem;
|
import it.integry.ems.response.FileItem;
|
||||||
import it.integry.ems.rules.completing.QueryRules;
|
import it.integry.ems.rules.completing.QueryRules;
|
||||||
import it.integry.ems.service.EntityProcessor;
|
import it.integry.ems.service.EntityProcessor;
|
||||||
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
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;
|
||||||
import it.integry.ems_model.base.EntityBase;
|
import it.integry.ems_model.base.EntityBase;
|
||||||
@@ -26,7 +27,6 @@ import it.integry.ems_model.types.TypeDbObject;
|
|||||||
import it.integry.ems_model.utility.*;
|
import it.integry.ems_model.utility.*;
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
@@ -37,14 +37,12 @@ import org.springframework.context.annotation.Scope;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.sql.CallableStatement;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
import java.sql.*;
|
import java.sql.Statement;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -1316,4 +1314,36 @@ public class ProductServices {
|
|||||||
|
|
||||||
return barcode;
|
return barcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<EntityBase> updatePesoArticolo(UpdatePesoArticoloRequestDTO dto) throws Exception {
|
||||||
|
List<EntityBase> entities = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
MtbAart mtbAart = new MtbAart();
|
||||||
|
mtbAart.setCodMart(dto.getCodMart())
|
||||||
|
.setTaraKg(dto.getTaraKg())
|
||||||
|
.setOperation(OperationType.UPDATE);
|
||||||
|
entities.add(mtbAart);
|
||||||
|
if (!UtilityList.isNullOrEmpty(dto.getOrdersToUpdate())) {
|
||||||
|
for (DtbOrdt ordLav : dto.getOrdersToUpdate()) {
|
||||||
|
String sql = it.integry.ems_model.utility.Query.format("SELECT * from mtb_colt where data_ord = {} and gestione = {} and num_ord = {}",
|
||||||
|
ordLav.getDataOrd(), ordLav.getGestione(), ordLav.getNumOrd());
|
||||||
|
|
||||||
|
List<MtbColt> coltsToUpdate = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, MtbColt.class);
|
||||||
|
if (UtilityList.isNullOrEmpty(coltsToUpdate)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
entities.addAll(coltsToUpdate.stream().map(ul -> {
|
||||||
|
ul.setCalcPeso(true).setOperation(OperationType.UPDATE);
|
||||||
|
return ul;
|
||||||
|
}).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
entityProcessor.processEntityList(entities, true);
|
||||||
|
} catch (Exception e) {
|
||||||
|
multiDBTransactionManager.rollbackAll();
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
return entities;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1949,7 +1949,7 @@ public class WMSGenericService {
|
|||||||
|
|
||||||
entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager);
|
entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager);
|
||||||
|
|
||||||
if(mtbDepoPosizioni.getCodMdep() == null || mtbDepoPosizioni.getPosizione() == null) {
|
if (mtbDepoPosizioni.getCodMdep() == null || mtbDepoPosizioni.getPosizione() == null) {
|
||||||
throw new Exception("La posizione " + requestDTO.getPosizione() + " non esiste nel deposito " + requestDTO.getCodMdep());
|
throw new Exception("La posizione " + requestDTO.getPosizione() + " non esiste nel deposito " + requestDTO.getCodMdep());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1957,7 +1957,7 @@ public class WMSGenericService {
|
|||||||
|
|
||||||
List<EntityBase> entitiesToSave = new ArrayList<>();
|
List<EntityBase> entitiesToSave = new ArrayList<>();
|
||||||
String codMdepPartenza = codMdeps.get(0);
|
String codMdepPartenza = codMdeps.get(0);
|
||||||
|
DtbDoct dtbDoct = null;
|
||||||
if (!UtilityString.equalsIgnoreCase(codMdepPartenza, requestDTO.getCodMdep())) {
|
if (!UtilityString.equalsIgnoreCase(codMdepPartenza, requestDTO.getCodMdep())) {
|
||||||
|
|
||||||
String codDtipToUse = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI", requestDTO.getCodMdep());
|
String codDtipToUse = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI", requestDTO.getCodMdep());
|
||||||
@@ -1965,7 +1965,7 @@ public class WMSGenericService {
|
|||||||
if (UtilityString.isNullOrEmpty(codDtipToUse))
|
if (UtilityString.isNullOrEmpty(codDtipToUse))
|
||||||
throw new Exception("La configurazione della setup gest non è completa per gestire gli spostamenti tra depositi");
|
throw new Exception("La configurazione della setup gest non è completa per gestire gli spostamenti tra depositi");
|
||||||
|
|
||||||
DtbDoct dtbDoct = new DtbDoct()
|
dtbDoct = new DtbDoct()
|
||||||
.setCodMdep(codMdepPartenza)
|
.setCodMdep(codMdepPartenza)
|
||||||
.setCodVdes(mtbDepo.getCodVdes())
|
.setCodVdes(mtbDepo.getCodVdes())
|
||||||
.setCodAnag(mtbDepo.getCodAnag())
|
.setCodAnag(mtbDepo.getCodAnag())
|
||||||
@@ -1973,36 +1973,54 @@ public class WMSGenericService {
|
|||||||
.setCodDtip(codDtipToUse);
|
.setCodDtip(codDtipToUse);
|
||||||
|
|
||||||
dtbDoct.setOperation(OperationType.INSERT);
|
dtbDoct.setOperation(OperationType.INSERT);
|
||||||
for (MtbColt mtbColtToMove : mtbCotlList) {
|
entitiesToSave.add(dtbDoct);
|
||||||
|
}
|
||||||
|
for (MtbColt mtbColtToMove : mtbCotlList) {
|
||||||
|
if (dtbDoct != null) {
|
||||||
for (MtbColr mtbColr : mtbColtToMove.getMtbColr()) {
|
for (MtbColr mtbColr : mtbColtToMove.getMtbColr()) {
|
||||||
|
|
||||||
DtbDocr dtbDocr = new DtbDocr()
|
DtbDocr docr = dtbDoct.getDtbDocr().stream()
|
||||||
.setCodMart(mtbColr.getCodMart())
|
.filter(row -> row.getCodMart().equalsIgnoreCase(mtbColr.getCodMart()) && row.getPartitaMag().equalsIgnoreCase(mtbColr.getPartitaMag()))
|
||||||
.setPartitaMag(mtbColr.getPartitaMag())
|
.findFirst().orElse(null);
|
||||||
.setQtaDoc(mtbColr.getQtaCol())
|
if (docr == null) {
|
||||||
.setQtaCnf(mtbColr.getQtaCnf());
|
docr = new DtbDocr();
|
||||||
dtbDocr.setOperation(OperationType.INSERT);
|
docr.setCodMart(mtbColr.getCodMart())
|
||||||
|
.setPartitaMag(mtbColr.getPartitaMag())
|
||||||
|
.setQtaDoc(BigDecimal.ZERO)
|
||||||
|
.setQtaCnf(BigDecimal.ZERO)
|
||||||
|
.setOperation(OperationType.INSERT);
|
||||||
|
;
|
||||||
|
dtbDoct.getDtbDocr().add(docr);
|
||||||
|
}
|
||||||
|
|
||||||
|
docr
|
||||||
|
.setQtaDoc(docr.getQtaDoc().add(mtbColr.getQtaCol()))
|
||||||
|
.setQtaCnf(docr.getQtaCnf().add(mtbColr.getQtaCnf()))
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
dtbDoct.getDtbDocr().add(dtbDocr);
|
|
||||||
}
|
}
|
||||||
mtbColtToMove.setOperation(OperationType.UPDATE);
|
|
||||||
mtbColtToMove
|
|
||||||
.setMtbColr(new ArrayList<>())
|
|
||||||
.setPosizione(UtilityString.isNull(requestDTO.getPosizione(), EmsRestConstants.NULL))
|
|
||||||
.setCodMdep(requestDTO.getCodMdep());
|
|
||||||
|
|
||||||
entitiesToSave.add(mtbColtToMove);
|
|
||||||
}
|
}
|
||||||
|
mtbColtToMove.setOperation(OperationType.UPDATE);
|
||||||
|
mtbColtToMove
|
||||||
|
.setMtbColr(new ArrayList<>())
|
||||||
|
.setPosizione(UtilityString.isNull(requestDTO.getPosizione(), EmsRestConstants.NULL))
|
||||||
|
.setCodMdep(requestDTO.getCodMdep());
|
||||||
|
|
||||||
entitiesToSave.add(dtbDoct);
|
entitiesToSave.add(mtbColtToMove);
|
||||||
|
}
|
||||||
|
if (!UtilityString.isNullOrEmpty(requestDTO.getAnnotazioni()) && dtbDoct != null) {
|
||||||
|
DtbDocr dtbDocr = new DtbDocr()
|
||||||
|
.setDescrizione(UtilityString.substring(requestDTO.getAnnotazioni(), 0, 40))
|
||||||
|
.setDescrizioneEstesa(requestDTO.getAnnotazioni());
|
||||||
|
dtbDocr.setOperation(OperationType.INSERT);
|
||||||
|
|
||||||
|
dtbDoct.getDtbDocr().add(dtbDocr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
entityProcessor.processEntityList(entitiesToSave, true);
|
entityProcessor.processEntityList(entitiesToSave, true);
|
||||||
|
|
||||||
UtilityEntity.throwEntitiesException(entitiesToSave);
|
UtilityEntity.throwEntitiesException(entitiesToSave);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spostaULInPosizione(MtbColt mtbColtToMove, MtbDepoPosizioni mtbDepoPosizioni) throws Exception {
|
public void spostaULInPosizione(MtbColt mtbColtToMove, MtbDepoPosizioni mtbDepoPosizioni) throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user