Aggiunto controllo nella creazione dei FRUMA se il documento inserito esiste realmente.

This commit is contained in:
2024-06-07 18:57:31 +02:00
parent 2bed8730c5
commit 27a1c0efe9
2 changed files with 35 additions and 5 deletions

View File

@@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
@RestController
@Scope("request")
@RequestMapping("wms/documento")
@@ -20,6 +22,17 @@ public class WMSDocumentController {
@Autowired
private WMSDocumentService wmsDocumentService;
@RequestMapping(value = "/checkFruma", method = RequestMethod.GET)
public @ResponseBody
ServiceRestResponse checkDocument(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
@RequestParam String fornitore,
@RequestParam String numDoc,
@RequestParam Date dataDoc) throws Exception {
return ServiceRestResponse.createPositiveResponse(
wmsDocumentService.checkFrumaDoc(fornitore, numDoc, dataDoc)
);
}
@RequestMapping(value = "/arts", method = RequestMethod.GET)
public @ResponseBody
@@ -33,5 +46,4 @@ public class WMSDocumentController {
.setArts(wmsDocumentService.retrieveDocumentArts(codDtip, codMgrp, codAnagForn))
);
}
}

View File

@@ -8,14 +8,14 @@ import it.integry.ems.retail.wms.documenti.dto.DocumentArtDTO;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.entity.MtbUntMis;
import it.integry.ems_model.entity._enum.GestioneEnum;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityString;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -32,6 +32,25 @@ public class WMSDocumentService {
@Autowired
private MultiDBTransactionManager multiDBTransactionManager;
public Boolean checkFrumaDoc(String fornitore, String numDoc, Date dataDoc) throws Exception {
String sql =
Query.format("SELECT *\n" +
"FROM dtb_doct\n" +
" INNER JOIN dtb_tipi ON dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
"WHERE dtb_doct.data_doc = %s\n" +
" AND dtb_doct.cod_anag = %s\n" +
" AND dtb_doct.num_doc = %s\n" +
" AND dtb_tipi.gestione = 'A'\n" +
" AND dtb_tipi.segno_qta_car >= 1",
dataDoc,
fornitore,
numDoc
);
List<HashMap<String, Object>> hashMaps = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql);
return !hashMaps.isEmpty();
}
public List<DocumentArtDTO> retrieveDocumentArts(String codDtip, String codMgrp, String codAnagForn) throws Exception {
final PvmArticoliDTO elencoArticoli =
@@ -54,7 +73,6 @@ public class WMSDocumentService {
.collect(Collectors.groupingBy(PvmArticoliChildDTO::getCodMart));
final List<DocumentArtDTO> arts = groupedCollection.keySet().stream()
.map(x -> new DocumentArtDTO()
.setBarcode(groupedCollection.get(x).stream().map(PvmArticoliChildDTO::getBarcode).collect(Collectors.toList()))