[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 it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||
import it.integry.ems.download.DownloadFileHandlerService;
|
||||
import it.integry.ems.product.dto.CategorieCostoProdottoDTO;
|
||||
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.ContrattiVenditaDTO;
|
||||
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.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -84,7 +82,7 @@ public class ProductController {
|
||||
ServiceRestResponse confirmTempListino(
|
||||
HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration) throws Exception {
|
||||
ServiceRestResponse response = ServiceRestResponse.createEntityPositiveResponse(importAnagListiniService.confirmTempListino());
|
||||
ServiceRestResponse response = ServiceRestResponse.createEntityPositiveResponse(importAnagListiniService.confirmTempListino());
|
||||
|
||||
return response;
|
||||
}
|
||||
@@ -149,6 +147,7 @@ public class ProductController {
|
||||
return ServiceRestResponse.createNegativeResponse(e);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = EmsRestConstants.PATH_IMPORT_LISV, method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
List<ServiceRestResponse> importListiniVendita(
|
||||
@@ -284,13 +283,13 @@ public class ProductController {
|
||||
@RequestMapping(value = "saveArtDialogo", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
List<ServiceRestResponse> saveArtDialogo(HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@RequestBody MtbAart mtbAart ) throws Exception {
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@RequestBody MtbAart mtbAart) throws Exception {
|
||||
|
||||
List<ServiceRestResponse> serviceRestResponseList = new ArrayList<>();
|
||||
try {
|
||||
serviceRestResponseList.add(ServiceRestResponse.createPositiveResponse(productServices.saveArtDialogo(mtbAart)));
|
||||
} catch (Exception e ) {
|
||||
} catch (Exception e) {
|
||||
logger.error(e);
|
||||
serviceRestResponseList.add(ServiceRestResponse.createNegativeResponse(e));
|
||||
}
|
||||
@@ -304,7 +303,6 @@ public class ProductController {
|
||||
@RequestParam("barcode") String barcode) throws Exception {
|
||||
|
||||
|
||||
|
||||
List<MtbAart> mtbAartList = productServices.searchArticoliByBarcode(barcode, false);
|
||||
return ServiceRestResponse.createPositiveResponse(mtbAartList);
|
||||
}
|
||||
@@ -422,5 +420,19 @@ public class ProductController {
|
||||
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.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||
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.ContrattiVenditaDTO;
|
||||
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.rules.completing.QueryRules;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
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 org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@@ -37,14 +37,12 @@ import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.sql.CallableStatement;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -1316,4 +1314,36 @@ public class ProductServices {
|
||||
|
||||
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);
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
@@ -1957,7 +1957,7 @@ public class WMSGenericService {
|
||||
|
||||
List<EntityBase> entitiesToSave = new ArrayList<>();
|
||||
String codMdepPartenza = codMdeps.get(0);
|
||||
|
||||
DtbDoct dtbDoct = null;
|
||||
if (!UtilityString.equalsIgnoreCase(codMdepPartenza, 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))
|
||||
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)
|
||||
.setCodVdes(mtbDepo.getCodVdes())
|
||||
.setCodAnag(mtbDepo.getCodAnag())
|
||||
@@ -1973,36 +1973,54 @@ public class WMSGenericService {
|
||||
.setCodDtip(codDtipToUse);
|
||||
|
||||
dtbDoct.setOperation(OperationType.INSERT);
|
||||
for (MtbColt mtbColtToMove : mtbCotlList) {
|
||||
entitiesToSave.add(dtbDoct);
|
||||
}
|
||||
for (MtbColt mtbColtToMove : mtbCotlList) {
|
||||
if (dtbDoct != null) {
|
||||
for (MtbColr mtbColr : mtbColtToMove.getMtbColr()) {
|
||||
|
||||
DtbDocr dtbDocr = new DtbDocr()
|
||||
.setCodMart(mtbColr.getCodMart())
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
.setQtaDoc(mtbColr.getQtaCol())
|
||||
.setQtaCnf(mtbColr.getQtaCnf());
|
||||
dtbDocr.setOperation(OperationType.INSERT);
|
||||
DtbDocr docr = dtbDoct.getDtbDocr().stream()
|
||||
.filter(row -> row.getCodMart().equalsIgnoreCase(mtbColr.getCodMart()) && row.getPartitaMag().equalsIgnoreCase(mtbColr.getPartitaMag()))
|
||||
.findFirst().orElse(null);
|
||||
if (docr == null) {
|
||||
docr = new DtbDocr();
|
||||
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);
|
||||
|
||||
UtilityEntity.throwEntitiesException(entitiesToSave);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void spostaULInPosizione(MtbColt mtbColtToMove, MtbDepoPosizioni mtbDepoPosizioni) throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user