Registrazione imballi WMS
This commit is contained in:
6
.idea/jenkinsSettings.xml
generated
Normal file
6
.idea/jenkinsSettings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Jenkins.Application.Settings">
|
||||
<option name="serverUrl" value="https://ci.studioml.it" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,25 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240419120149 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createSetupQuery("COD_DTIP", "COD_DTIP", "SELECT COD_DTIP FROM DTB_TIPI ORDER BY 1", false);
|
||||
createSetup("PICKING", "IMBALLI", "COD_DTIP_CARICO", null, "Codice documento che identifica il carico degli imballi", false, "COD_DTIP", false, false, false, false, false, null, false, "SELECT COD_DTIP FROM DTB_TIPI ORDER BY 1");
|
||||
createSetupQuery("COD_DTIP", "COD_DTIP", "SELECT COD_DTIP FROM DTB_TIPI ORDER BY 1", false);
|
||||
createSetup("PICKING", "IMBALLI", "COD_DTIP_SCARICO", null, "Codice documento che identifica lo scarico degli imballi", false, "COD_DTIP", false, false, false, false, false, null, false, "SELECT COD_DTIP FROM DTB_TIPI ORDER BY 1");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
package it.integry.ems.retail.wms.generic.service;
|
||||
|
||||
|
||||
import it.integry.ems.retail.wms.generic.dto.AvailableCodMdepDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.entity.MtbTcol;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
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.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class WMSImballiService {
|
||||
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
public List<MtbTcol> retrieveAvailableTipiCollo() throws Exception {
|
||||
String query = "SELECT * FROM " + MtbTcol.ENTITY + " WHERE flag_UI_UL = 'UL'";
|
||||
|
||||
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, MtbTcol.class);
|
||||
}
|
||||
|
||||
public List<MtbTcol> retrieveAvailableTipiImballi() throws Exception {
|
||||
String query = "SELECT * FROM " + MtbTcol.ENTITY + " WHERE flag_UI_UL = 'UI'";
|
||||
|
||||
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, MtbTcol.class);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
package it.integry.ems.retail.wms.generic.controller;
|
||||
package it.integry.ems.retail.wms.imballi.controller;
|
||||
|
||||
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.retail.wms.generic.service.WMSImballiService;
|
||||
import it.integry.ems.retail.wms.imballi.dto.RegistraCaricoImballiRequestDTO;
|
||||
import it.integry.ems.retail.wms.imballi.service.WMSImballiService;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
@@ -11,31 +12,39 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@Scope("request")
|
||||
@RequestMapping("wms/tipo-collo")
|
||||
@RequestMapping("wms/imballi")
|
||||
public class WMSImballiController {
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private WMSImballiService wmsImballiService;
|
||||
|
||||
|
||||
|
||||
|
||||
@RequestMapping(value = "retrieve/{tipo}", method = RequestMethod.GET)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse retrieve(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
|
||||
@PathVariable String tipo) throws Exception {
|
||||
|
||||
if(UtilityString.isNullOrEmpty(tipo))
|
||||
if (UtilityString.isNullOrEmpty(tipo))
|
||||
throw new Exception("Tipo non riconosciuto");
|
||||
|
||||
if(tipo.equalsIgnoreCase("UI"))
|
||||
if (tipo.equalsIgnoreCase("UI"))
|
||||
return ServiceRestResponse.createPositiveResponse(wmsImballiService.retrieveAvailableTipiImballi());
|
||||
else if(tipo.equalsIgnoreCase("UL"))
|
||||
else if (tipo.equalsIgnoreCase("UL"))
|
||||
return ServiceRestResponse.createPositiveResponse(wmsImballiService.retrieveAvailableTipiCollo());
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = "registraCarico", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse registraCarico(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
|
||||
@RequestBody RegistraCaricoImballiRequestDTO registraUsageImballiRequest) throws Exception {
|
||||
|
||||
wmsImballiService.registraCarico(registraUsageImballiRequest.getUsedImballi());
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package it.integry.ems.retail.wms.imballi.dto;
|
||||
|
||||
public class ImballoQuantityDTO {
|
||||
|
||||
private String codMart;
|
||||
private Integer qta;
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public ImballoQuantityDTO setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getQta() {
|
||||
return qta;
|
||||
}
|
||||
|
||||
public ImballoQuantityDTO setQta(Integer qta) {
|
||||
this.qta = qta;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package it.integry.ems.retail.wms.imballi.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RegistraCaricoImballiRequestDTO {
|
||||
|
||||
private List<ImballoQuantityDTO> usedImballi;
|
||||
|
||||
public List<ImballoQuantityDTO> getUsedImballi() {
|
||||
return usedImballi;
|
||||
}
|
||||
|
||||
public RegistraCaricoImballiRequestDTO setUsedImballi(List<ImballoQuantityDTO> usedImballi) {
|
||||
this.usedImballi = usedImballi;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
package it.integry.ems.retail.wms.imballi.service;
|
||||
|
||||
|
||||
import it.integry.ems.retail.wms.imballi.dto.ImballoQuantityDTO;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.UserSession;
|
||||
import it.integry.ems_model.entity.DtbDocr;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.MtbDepo;
|
||||
import it.integry.ems_model.entity.MtbTcol;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
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.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class WMSImballiService {
|
||||
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
|
||||
@Autowired
|
||||
private EntityProcessor entityProcessor;
|
||||
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
@Autowired
|
||||
private UserSession userSession;
|
||||
|
||||
public List<MtbTcol> retrieveAvailableTipiCollo() throws Exception {
|
||||
String query = "SELECT * FROM " + MtbTcol.ENTITY + " WHERE flag_UI_UL = 'UL'";
|
||||
|
||||
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, MtbTcol.class);
|
||||
}
|
||||
|
||||
public List<MtbTcol> retrieveAvailableTipiImballi() throws Exception {
|
||||
String query = "SELECT * FROM " + MtbTcol.ENTITY + " WHERE flag_UI_UL = 'UI'";
|
||||
|
||||
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, MtbTcol.class);
|
||||
}
|
||||
|
||||
|
||||
public void registraCarico(List<ImballoQuantityDTO> imballiToRegister) throws Exception {
|
||||
|
||||
final String codDtip = setupGest.getSetup("PICKING", "IMBALLI", "COD_DTIP_CARICO");
|
||||
|
||||
if(UtilityString.isNullOrEmpty(codDtip))
|
||||
throw new Exception("E' necessario specificare un codice documento nelle configurazioni per poter procedere");
|
||||
|
||||
MtbDepo userDepo = userSession.getDefaultDepo();
|
||||
|
||||
DtbDoct documentoCarico = new DtbDoct()
|
||||
.setCodAnag(userDepo.getCodAnag())
|
||||
.setCodDtip(codDtip)
|
||||
.setCodMdep(userDepo.getCodMdep())
|
||||
.setDataDoc(new Date());
|
||||
|
||||
documentoCarico.setOperation(OperationType.INSERT);
|
||||
|
||||
for (ImballoQuantityDTO imballoQuantity : imballiToRegister) {
|
||||
DtbDocr documentRow = new DtbDocr()
|
||||
.setCodMart(imballoQuantity.getCodMart())
|
||||
.setQtaDoc(BigDecimal.valueOf(imballoQuantity.getQta()));
|
||||
|
||||
documentRow.setOperation(OperationType.INSERT);
|
||||
|
||||
documentoCarico.getDtbDocr().add(documentRow);
|
||||
}
|
||||
|
||||
entityProcessor.processEntity(documentoCarico, multiDBTransactionManager);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user