Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20240729095756 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
if(isCustomer(IntegryCustomer.Frudis)) {
|
||||||
|
updateSetupValue("w_aelefor_disp", "DATAWINDOW", "d_aschforfor_rep", "D_ASCHFORFOR_REP_frudis");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package it.integry.ems_model.utility;
|
package it.integry.ems_model.utility;
|
||||||
|
|
||||||
|
import org.apache.commons.io.FilenameUtils;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.zip.*;
|
import java.util.zip.*;
|
||||||
|
|
||||||
@@ -92,13 +94,26 @@ public class UtilityZip {
|
|||||||
return zipOutputStream;
|
return zipOutputStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void addFileToArchive(ZipOutputStream zipOutputStream, String fileName, byte[] content) throws IOException {
|
public static void addFileToArchive(ZipOutputStream zipOutputStream, String fileName, byte[] content) throws IOException {
|
||||||
ZipEntry zipEntry = new ZipEntry(fileName);
|
boolean fileAddedToZip = false;
|
||||||
|
int retries = 0;
|
||||||
zipEntry.setSize(content.length);
|
do {
|
||||||
|
try {
|
||||||
zipOutputStream.putNextEntry(zipEntry);
|
if (retries > 0)
|
||||||
zipOutputStream.write(content);
|
fileName = FilenameUtils.getBaseName(fileName) + "_" + retries+"." + FilenameUtils.getExtension(fileName);
|
||||||
zipOutputStream.closeEntry();
|
ZipEntry zipEntry = new ZipEntry(fileName);
|
||||||
|
zipEntry.setSize(content.length);
|
||||||
|
zipOutputStream.putNextEntry(zipEntry);
|
||||||
|
zipOutputStream.write(content);
|
||||||
|
zipOutputStream.closeEntry();
|
||||||
|
fileAddedToZip = true;
|
||||||
|
} catch (ZipException e) {
|
||||||
|
if (!e.getMessage().startsWith("duplicate entry:"))
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
retries++;
|
||||||
|
}
|
||||||
|
} while (!fileAddedToZip && retries < 5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1276,6 +1276,7 @@ public class ProductionPlanService {
|
|||||||
" CASE\n" +
|
" CASE\n" +
|
||||||
" WHEN ms.descrizione = 'BUSTE' THEN 'BAG'\n" +
|
" WHEN ms.descrizione = 'BUSTE' THEN 'BAG'\n" +
|
||||||
" WHEN ms.descrizione = 'CESTINI' THEN 'PUNNET'\n" +
|
" WHEN ms.descrizione = 'CESTINI' THEN 'PUNNET'\n" +
|
||||||
|
" ELSE 'CARTON'\n" +
|
||||||
" END AS type,\n" +
|
" END AS type,\n" +
|
||||||
// " ma.tara_kg AS weight_kg,\n" +
|
// " ma.tara_kg AS weight_kg,\n" +
|
||||||
" ma.note,\n" +
|
" ma.note,\n" +
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package it.integry.ems.production.agribook;
|
package it.integry.ems.production.agribook;
|
||||||
|
|
||||||
|
import it.integry.common.var.CommonConstants;
|
||||||
|
import it.integry.ems.production.agribook.model.AgribookNewFieldRequestDTO;
|
||||||
import it.integry.ems.response.ServiceRestResponse;
|
import it.integry.ems.response.ServiceRestResponse;
|
||||||
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import org.apache.logging.log4j.LogManager;
|
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;
|
||||||
@@ -24,12 +27,23 @@ public class AgribookFieldController {
|
|||||||
@RequestMapping(value = "", method = RequestMethod.GET)
|
@RequestMapping(value = "", method = RequestMethod.GET)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ServiceRestResponse retreiveFields(HttpServletRequest request,
|
ServiceRestResponse retreiveFields(HttpServletRequest request,
|
||||||
@RequestParam(required = false) String codMdep) {
|
@RequestParam(CommonConstants.PROFILE_DB) String profileDb,
|
||||||
try {
|
@RequestParam(required = false) String codMdep) throws Exception {
|
||||||
return ServiceRestResponse.createPositiveResponse(agribookFieldService.retrieveFields(codMdep));
|
try (MultiDBTransactionManager internalDb = new MultiDBTransactionManager(profileDb);) {
|
||||||
} catch (Exception e) {
|
return ServiceRestResponse.createPositiveResponse(agribookFieldService.retrieveFields(internalDb,codMdep));
|
||||||
logger.error(request.getRequestURI(), e);
|
}
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = "new", method = RequestMethod.POST)
|
||||||
|
public @ResponseBody
|
||||||
|
ServiceRestResponse createField(HttpServletRequest request,
|
||||||
|
@RequestParam(CommonConstants.PROFILE_DB) String profileDb,
|
||||||
|
@RequestBody AgribookNewFieldRequestDTO dto
|
||||||
|
|
||||||
|
) throws Exception {
|
||||||
|
try (MultiDBTransactionManager internalDb = new MultiDBTransactionManager(profileDb);) {
|
||||||
|
return ServiceRestResponse.createPositiveResponse(agribookFieldService.createField(internalDb, dto));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +1,172 @@
|
|||||||
package it.integry.ems.production.agribook;
|
package it.integry.ems.production.agribook;
|
||||||
|
|
||||||
import it.integry.ems.production.agribook.model.AgribookFieldDTO;
|
import it.integry.ems.production.agribook.model.AgribookFieldDTO;
|
||||||
|
import it.integry.ems.production.agribook.model.AgribookNewFieldRequestDTO;
|
||||||
|
import it.integry.ems.service.EntityProcessor;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems_model.entity.MtbDepoPosizioni;
|
import it.integry.ems_model.base.EntityBase;
|
||||||
|
import it.integry.ems_model.entity.*;
|
||||||
|
import it.integry.ems_model.types.OperationType;
|
||||||
|
import it.integry.ems_model.utility.UtilityBigDecimal;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
|
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||||
import it.integry.ems_model.utility.UtilityString;
|
import it.integry.ems_model.utility.UtilityString;
|
||||||
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.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.xlsx4j.sml.Col;
|
||||||
|
|
||||||
|
import javax.rmi.CORBA.Util;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.time.DayOfWeek;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Scope("request")
|
|
||||||
public class AgribookFieldService {
|
public class AgribookFieldService {
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MultiDBTransactionManager multiDBTransactionManager;
|
private EntityProcessor entityProcessor;
|
||||||
|
|
||||||
public List<AgribookFieldDTO> retrieveFields(String codMdep) throws Exception {
|
public List<AgribookFieldDTO> retrieveFields(MultiDBTransactionManager multiDBTransactionManager,String codMdep) throws Exception {
|
||||||
|
|
||||||
String sql = "SELECT * FROM " + MtbDepoPosizioni.ENTITY;
|
String sql = "SELECT * FROM " + MtbDepoPosizioni.ENTITY;
|
||||||
|
|
||||||
if(!UtilityString.isNullOrEmpty(codMdep)) sql += " WHERE cod_mdep = " + UtilityDB.valueToString(codMdep);
|
if (!UtilityString.isNullOrEmpty(codMdep)) sql += " WHERE cod_mdep = " + UtilityDB.valueToString(codMdep);
|
||||||
|
|
||||||
sql += " ORDER BY descrizione";
|
sql += " ORDER BY descrizione";
|
||||||
|
|
||||||
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, AgribookFieldDTO.class);
|
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, AgribookFieldDTO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<EntityBase> createField(MultiDBTransactionManager connection, AgribookNewFieldRequestDTO dto) throws Exception {
|
||||||
|
|
||||||
|
List<EntityBase> entityList = new ArrayList<>();
|
||||||
|
String codVdes = UtilityString.isNull(dto.getCodVdes(), this.suggestCodVdes(connection,dto.getCodAnag()));
|
||||||
|
if (dto.isNewDes()) {
|
||||||
|
if (UtilityString.isNullOrEmpty(codVdes)) {
|
||||||
|
throw new Exception("Impossibile calcolare il codice destinatario!");
|
||||||
|
}
|
||||||
|
|
||||||
|
VtbDest vtbDest = new VtbDest();
|
||||||
|
vtbDest
|
||||||
|
.setCodAnag(dto.getCodAnag())
|
||||||
|
.setCodVdes(codVdes)
|
||||||
|
.setDestinatario(dto.getDestinatario())
|
||||||
|
.setIndirizzo(dto.getIndirizzo())
|
||||||
|
.setCap(dto.getCap())
|
||||||
|
.setCitta(dto.getCitta())
|
||||||
|
.setProv(dto.getProv())
|
||||||
|
.setNazione("IT")
|
||||||
|
.setLat(dto.getLat())
|
||||||
|
.setLng(dto.getLng())
|
||||||
|
.setPartIva(dto.getPartIva())
|
||||||
|
.setRagSocLegale(dto.getRagSocLegale())
|
||||||
|
.setCodFiscLegale(dto.getCodFiscLegale())
|
||||||
|
.setPartIvaLegale(dto.getPartIvaLegale())
|
||||||
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
|
GtbAnag gtbanag = new GtbAnag();
|
||||||
|
gtbanag.setCodAnag(dto.getCodAnag())
|
||||||
|
.setVtbDest(Collections.singletonList(vtbDest))
|
||||||
|
.setOperation(OperationType.UPDATE);
|
||||||
|
|
||||||
|
entityList.add(gtbanag);
|
||||||
|
}
|
||||||
|
|
||||||
|
String codMdepDest = this.getCodMdepDest(connection, dto.getCodAnag(), codVdes);
|
||||||
|
|
||||||
|
if (UtilityString.isNullOrEmpty(codMdepDest)) {
|
||||||
|
codMdepDest = this.suggestCodMdep(connection,dto.getCodAnag(), codVdes);
|
||||||
|
if (UtilityString.isNullOrEmpty(codMdepDest)) {
|
||||||
|
throw new Exception("Codice nuovo deposito calcolato non valido");
|
||||||
|
}
|
||||||
|
|
||||||
|
MtbDepo mtbDepo = new MtbDepo();
|
||||||
|
mtbDepo
|
||||||
|
.setCodAnag(dto.getCodAnag())
|
||||||
|
.setCodVdes(codVdes)
|
||||||
|
.setCodMdep(codMdepDest)
|
||||||
|
.setDescrizione(dto.getDestinatario())
|
||||||
|
.setDatiCatastali(dto.getDatiCatastali())
|
||||||
|
.setOperation(OperationType.INSERT);
|
||||||
|
|
||||||
|
entityList.add(mtbDepo);
|
||||||
|
}
|
||||||
|
|
||||||
|
MtbPartitaMag partitaMag = new MtbPartitaMag();
|
||||||
|
partitaMag
|
||||||
|
.setCodMart(dto.getCodMart())
|
||||||
|
.setPartitaMag(dto.getPartitaMag())
|
||||||
|
.setDescrizione(dto.getDestinatario())
|
||||||
|
.setNote(dto.getNote())
|
||||||
|
.setQtaAttesa(dto.getQtaAttesa())
|
||||||
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
|
if (!UtilityString.isNullOrEmpty(dto.getVarieta())) {
|
||||||
|
MtbPartitaMagCarat carat = this.getVarieta(connection,dto.getCodMart(),dto.getPartitaMag());
|
||||||
|
if (carat == null) {
|
||||||
|
carat = new MtbPartitaMagCarat();
|
||||||
|
carat.setCarat("VARIETA");
|
||||||
|
}
|
||||||
|
carat
|
||||||
|
.setValCarat(dto.getVarieta())
|
||||||
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
partitaMag.setMtbPartitaMagCarat(Collections.singletonList(carat));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
entityList.add(partitaMag);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DtbOrdr ordr = new DtbOrdr();
|
||||||
|
ordr.setCodMart(dto.getCodMart())
|
||||||
|
.setUntOrd(dto.getUntMis())
|
||||||
|
.setQtaOrd(dto.getQtaAttesa())
|
||||||
|
.setValUnt(dto.getValUnt())
|
||||||
|
.setPartitaMag(dto.getPartitaMag())
|
||||||
|
.setCodMdep(codMdepDest)
|
||||||
|
.setDataCons(UtilityLocalDate.localDateToDate(dto.getDataInizProd().with(DayOfWeek.MONDAY)))
|
||||||
|
.setOperation(OperationType.INSERT);
|
||||||
|
DtbOrdt ordt = new DtbOrdt();
|
||||||
|
ordt
|
||||||
|
.setGestione("A")
|
||||||
|
.setDataOrd(UtilityLocalDate.localDateToDate(dto.getDataOrd()))
|
||||||
|
.setNumOrd(0)
|
||||||
|
.setCodAnag(dto.getCodAnag())
|
||||||
|
.setCodMdep(codMdepDest)
|
||||||
|
.setCodVdes(codVdes)
|
||||||
|
.setDataInizProd(UtilityLocalDate.localDateToDate(dto.getDataInizProd()))
|
||||||
|
.setDtbOrdr(Collections.singletonList(ordr))
|
||||||
|
.setOperation(OperationType.INSERT);
|
||||||
|
|
||||||
|
entityList.add(ordt);
|
||||||
|
return entityProcessor.processEntityList(entityList, connection, true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private MtbPartitaMagCarat getVarieta(MultiDBTransactionManager connection,String codMart, String partitaMag) throws Exception {
|
||||||
|
String sql = "SELECT * FROM " + MtbPartitaMagCarat.ENTITY+" Where cod_mart = "+UtilityDB.valueToString(codMart)+" and partita_mag = "+UtilityDB.valueToString(partitaMag)+" AND carat = 'VARIETA'";
|
||||||
|
|
||||||
|
return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection.getPrimaryConnection(),sql,MtbPartitaMagCarat.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String suggestCodMdep(MultiDBTransactionManager multiDBTransactionManager,String codAnag, String codVdes) throws Exception {
|
||||||
|
String sql = "SELECT dbo.f_suggestCodeCodMdep("+UtilityDB.valueToString(codAnag)+","+UtilityDB.valueToString(codVdes)+") AS cod_mdep";
|
||||||
|
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(),sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getCodMdepDest(MultiDBTransactionManager multiDBTransactionManager, String codAnag, String codVdes) throws Exception {
|
||||||
|
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(),
|
||||||
|
"SELECT cod_mdep from mtb_depo where " +
|
||||||
|
" cod_anag = " + UtilityDB.valueToString(codAnag) + " " +
|
||||||
|
" and cod_vdes = " + UtilityDB.valueToString(codVdes));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String suggestCodVdes(MultiDBTransactionManager multiDBTransactionManager,String codAnag) throws Exception {
|
||||||
|
String sql = "SELECT dbo.f_suggestCodeCodVdes("+UtilityDB.valueToString(codAnag)+", 0) AS cod_vdes";
|
||||||
|
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(),sql);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -40,8 +41,8 @@ public class AgribookOrderAttachmentController {
|
|||||||
@RequestParam(CommonConstants.PROFILE_DB) String profileDb,
|
@RequestParam(CommonConstants.PROFILE_DB) String profileDb,
|
||||||
@PathVariable("codMart") String codMart,
|
@PathVariable("codMart") String codMart,
|
||||||
@PathVariable("partitaMag") String partitaMag,
|
@PathVariable("partitaMag") String partitaMag,
|
||||||
@RequestParam(value = "mediaType", required = false) String mediaType) {
|
@RequestParam(value = "mediaType", required = false) String mediaType) throws Exception {
|
||||||
try {
|
|
||||||
if (mediaType != null &&
|
if (mediaType != null &&
|
||||||
!UtilityString.equalsIgnoreCase(mediaType, "document") &&
|
!UtilityString.equalsIgnoreCase(mediaType, "document") &&
|
||||||
!UtilityString.equalsIgnoreCase(mediaType, "media")) {
|
!UtilityString.equalsIgnoreCase(mediaType, "media")) {
|
||||||
@@ -50,10 +51,7 @@ public class AgribookOrderAttachmentController {
|
|||||||
|
|
||||||
List<AgribookOrderAttachmentDTO> agribookOrderAttachmentList = agribookOrderAttachmentService.retrieveByOrder(codMart, partitaMag, mediaType);
|
List<AgribookOrderAttachmentDTO> agribookOrderAttachmentList = agribookOrderAttachmentService.retrieveByOrder(codMart, partitaMag, mediaType);
|
||||||
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderAttachmentList);
|
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderAttachmentList);
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -64,8 +62,8 @@ public class AgribookOrderAttachmentController {
|
|||||||
@PathVariable("codMart") String codMart,
|
@PathVariable("codMart") String codMart,
|
||||||
@PathVariable("partitaMag") String partitaMag,
|
@PathVariable("partitaMag") String partitaMag,
|
||||||
@RequestParam(value = "datetimeAttach", required = false) String datetimeAttach,
|
@RequestParam(value = "datetimeAttach", required = false) String datetimeAttach,
|
||||||
@RequestPart() MultipartFile[] files) {
|
@RequestPart() MultipartFile[] files) throws Exception {
|
||||||
try {
|
|
||||||
if (files == null || files.length == 0) {
|
if (files == null || files.length == 0) {
|
||||||
throw new Exception("Nessun file è stato rilevato");
|
throw new Exception("Nessun file è stato rilevato");
|
||||||
}
|
}
|
||||||
@@ -103,10 +101,7 @@ public class AgribookOrderAttachmentController {
|
|||||||
|
|
||||||
|
|
||||||
return ServiceRestResponse.createEntityPositiveResponse(resultData);
|
return ServiceRestResponse.createEntityPositiveResponse(resultData);
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,13 +42,10 @@ public class AgribookOrderController {
|
|||||||
@RequestMapping(value = "", method = RequestMethod.GET)
|
@RequestMapping(value = "", method = RequestMethod.GET)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ServiceRestResponse retrieveOrders(HttpServletRequest request,
|
ServiceRestResponse retrieveOrders(HttpServletRequest request,
|
||||||
@RequestParam(required = false) Integer year) {
|
@RequestParam(required = false) Integer year) throws Exception {
|
||||||
try {
|
|
||||||
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderService.retrieveOrders(year));
|
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderService.retrieveOrders(year));
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -57,20 +54,17 @@ public class AgribookOrderController {
|
|||||||
ServiceRestResponse updatePercClassi(HttpServletRequest request,
|
ServiceRestResponse updatePercClassi(HttpServletRequest request,
|
||||||
@RequestParam String codMart,
|
@RequestParam String codMart,
|
||||||
@RequestParam String partitaMag,
|
@RequestParam String partitaMag,
|
||||||
@RequestBody AgribookUpdatePercClassiRequestDTO updatePercClassiRequestDTO) {
|
@RequestBody AgribookUpdatePercClassiRequestDTO updatePercClassiRequestDTO) throws Exception {
|
||||||
try {
|
|
||||||
agribookOrderService.updatePercClassi(
|
agribookOrderService.updatePercClassi(
|
||||||
codMart,
|
codMart,
|
||||||
partitaMag,
|
partitaMag,
|
||||||
updatePercClassiRequestDTO.getPercClasse1(),
|
updatePercClassiRequestDTO.getPercClasse1(),
|
||||||
updatePercClassiRequestDTO.getPercClasse2(),
|
updatePercClassiRequestDTO.getPercClasse2(),
|
||||||
updatePercClassiRequestDTO.getPercClassePremium());
|
updatePercClassiRequestDTO.getPercClassePremium());
|
||||||
|
|
||||||
|
return ServiceRestResponse.createPositiveResponse();
|
||||||
|
|
||||||
return ServiceRestResponse.createPositiveResponse();
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "saveQtaResidua", method = RequestMethod.POST)
|
@RequestMapping(value = "saveQtaResidua", method = RequestMethod.POST)
|
||||||
@@ -78,19 +72,16 @@ public class AgribookOrderController {
|
|||||||
ServiceRestResponse saveQtaResidua(HttpServletRequest request,
|
ServiceRestResponse saveQtaResidua(HttpServletRequest request,
|
||||||
@RequestParam String codMart,
|
@RequestParam String codMart,
|
||||||
@RequestParam String partitaMag,
|
@RequestParam String partitaMag,
|
||||||
@RequestBody AgribookSaveQtaResiduaRequestDTO saveQtaResiduaDTO) {
|
@RequestBody AgribookSaveQtaResiduaRequestDTO saveQtaResiduaDTO) throws Exception {
|
||||||
try {
|
|
||||||
agribookOrderService.saveQtaResidua(
|
agribookOrderService.saveQtaResidua(
|
||||||
codMart, partitaMag,
|
codMart, partitaMag,
|
||||||
saveQtaResiduaDTO.getCodAnag(),
|
saveQtaResiduaDTO.getCodAnag(),
|
||||||
saveQtaResiduaDTO.getCodVdes(),
|
saveQtaResiduaDTO.getCodVdes(),
|
||||||
saveQtaResiduaDTO.getQtaOrd());
|
saveQtaResiduaDTO.getQtaOrd());
|
||||||
|
|
||||||
|
return ServiceRestResponse.createPositiveResponse();
|
||||||
|
|
||||||
return ServiceRestResponse.createPositiveResponse();
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "savePiantePartita", method = RequestMethod.POST)
|
@RequestMapping(value = "savePiantePartita", method = RequestMethod.POST)
|
||||||
@@ -100,169 +91,157 @@ public class AgribookOrderController {
|
|||||||
@RequestParam String partitaMag,
|
@RequestParam String partitaMag,
|
||||||
@RequestParam String codAnag,
|
@RequestParam String codAnag,
|
||||||
@RequestParam(required = false) String codVdes,
|
@RequestParam(required = false) String codVdes,
|
||||||
@RequestParam int piantePartita) {
|
@RequestParam int piantePartita) throws Exception {
|
||||||
try {
|
|
||||||
agribookOrderService.savePiantePartita(codMart, partitaMag, codAnag, codVdes, piantePartita);
|
agribookOrderService.savePiantePartita(codMart, partitaMag, codAnag, codVdes, piantePartita);
|
||||||
|
|
||||||
|
return ServiceRestResponse.createPositiveResponse();
|
||||||
|
|
||||||
return ServiceRestResponse.createPositiveResponse();
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createPositiveResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "syncQtaPrevRacc", method = RequestMethod.POST)
|
@RequestMapping(value = "syncQtaPrevRacc", method = RequestMethod.POST)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ServiceRestResponse syncQtaPrevRacc(HttpServletRequest request) {
|
ServiceRestResponse syncQtaPrevRacc(HttpServletRequest request) throws Exception {
|
||||||
try {
|
|
||||||
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderService.syncQtaPrevRacc());
|
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderService.syncQtaPrevRacc());
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "syncQtaResidua", method = RequestMethod.POST)
|
@RequestMapping(value = "syncQtaResidua", method = RequestMethod.POST)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ServiceRestResponse syncQtaResidua(HttpServletRequest request) {
|
ServiceRestResponse syncQtaResidua(HttpServletRequest request) throws Exception {
|
||||||
try {
|
|
||||||
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderService.syncQtaResidua(null));
|
return ServiceRestResponse.createEntityPositiveResponse(agribookOrderService.syncQtaResidua(null));
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping(value = "importCoordsTest", method = RequestMethod.GET)
|
@RequestMapping(value = "importCoordsTest", method = RequestMethod.GET)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ServiceRestResponse importCoordsTest(HttpServletRequest request, @RequestParam String csvPath) {
|
ServiceRestResponse importCoordsTest(HttpServletRequest request, @RequestParam String csvPath) throws Exception {
|
||||||
try {
|
|
||||||
|
|
||||||
File fileToImport = new File(csvPath);
|
|
||||||
|
|
||||||
List<String> lines = UtilityFile.readLinesFromFile(fileToImport);
|
|
||||||
|
|
||||||
List<AgribookImportCoordsTestCSVDTO> importedLines = Stream.of(lines)
|
|
||||||
.skip(1)
|
|
||||||
.filter(x -> x.split(";").length > 0)
|
|
||||||
.map(x -> {
|
|
||||||
AgribookImportCoordsTestCSVDTO importt = new AgribookImportCoordsTestCSVDTO();
|
|
||||||
|
|
||||||
String[] columns = x.split(";", -1);
|
|
||||||
importt.setPartitaMag(columns[0])
|
|
||||||
.setLat(UtilityString.isNullOrEmpty(columns[1]) ? null : new BigDecimal(columns[1]))
|
|
||||||
.setLng(UtilityString.isNullOrEmpty(columns[2]) ? null : new BigDecimal(columns[2]))
|
|
||||||
.setVarieta(columns[3])
|
|
||||||
.setNomeDeposito(columns[4])
|
|
||||||
.setNomeProduttore(columns[5])
|
|
||||||
.setComune(columns[6]);
|
|
||||||
|
|
||||||
return importt;
|
|
||||||
})
|
|
||||||
.toList();
|
|
||||||
|
|
||||||
|
|
||||||
List<AgribookOrderDTO> orders = agribookOrderService.retrieveOrders(2022);
|
File fileToImport = new File(csvPath);
|
||||||
|
|
||||||
for (AgribookImportCoordsTestCSVDTO importData : importedLines) {
|
List<String> lines = UtilityFile.readLinesFromFile(fileToImport);
|
||||||
AgribookOrderDTO matchOrder = Stream.of(orders)
|
|
||||||
.filter(x -> x.getPartitaMag().equalsIgnoreCase(importData.getPartitaMag()))
|
|
||||||
.findFirst().orElse(null);
|
|
||||||
|
|
||||||
if (matchOrder != null) {
|
List<AgribookImportCoordsTestCSVDTO> importedLines = Stream.of(lines)
|
||||||
importData.setMatchOrder(matchOrder);
|
.skip(1)
|
||||||
} else throw new Exception("No one order match");
|
.filter(x -> x.split(";").length > 0)
|
||||||
}
|
.map(x -> {
|
||||||
|
AgribookImportCoordsTestCSVDTO importt = new AgribookImportCoordsTestCSVDTO();
|
||||||
|
|
||||||
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
|
String[] columns = x.split(";", -1);
|
||||||
EntityProcessor entityProcessor = ContextLoader.getCurrentWebApplicationContext().getBean(EntityProcessor.class);
|
importt.setPartitaMag(columns[0])
|
||||||
UtilityService utilityService = ContextLoader.getCurrentWebApplicationContext().getBean(UtilityService.class);
|
.setLat(UtilityString.isNullOrEmpty(columns[1]) ? null : new BigDecimal(columns[1]))
|
||||||
|
.setLng(UtilityString.isNullOrEmpty(columns[2]) ? null : new BigDecimal(columns[2]))
|
||||||
|
.setVarieta(columns[3])
|
||||||
|
.setNomeDeposito(columns[4])
|
||||||
|
.setNomeProduttore(columns[5])
|
||||||
|
.setComune(columns[6]);
|
||||||
|
|
||||||
List<MtbDepoPosizioni> mtbDepoPosizioni =
|
return importt;
|
||||||
UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), "SELECT * FROM mtb_depo_posizioni", MtbDepoPosizioni.class);
|
})
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
|
||||||
final List<Map.Entry<HashMap<String, BigDecimal>, List<AgribookImportCoordsTestCSVDTO>>> entries = Stream.of(importedLines)
|
List<AgribookOrderDTO> orders = agribookOrderService.retrieveOrders(2022);
|
||||||
.filter(x -> x.getLat() != null && x.getLng() != null)
|
|
||||||
.groupBy(x -> {
|
|
||||||
HashMap<String, BigDecimal> coords = new HashMap<>();
|
|
||||||
coords.put("lat", x.getLat());
|
|
||||||
coords.put("lng", x.getLng());
|
|
||||||
return coords;
|
|
||||||
})
|
|
||||||
.toList();
|
|
||||||
|
|
||||||
for (Map.Entry<HashMap<String, BigDecimal>, List<AgribookImportCoordsTestCSVDTO>> x : entries) {
|
for (AgribookImportCoordsTestCSVDTO importData : importedLines) {
|
||||||
|
AgribookOrderDTO matchOrder = Stream.of(orders)
|
||||||
|
.filter(x -> x.getPartitaMag().equalsIgnoreCase(importData.getPartitaMag()))
|
||||||
|
.findFirst().orElse(null);
|
||||||
|
|
||||||
String codMdep = x.getValue().get(0).getMatchOrder().getCodMdep();
|
if (matchOrder != null) {
|
||||||
BigDecimal lat = x.getValue().get(0).getLat();
|
importData.setMatchOrder(matchOrder);
|
||||||
BigDecimal lng = x.getValue().get(0).getLng();
|
} else throw new Exception("No one order match");
|
||||||
|
}
|
||||||
|
|
||||||
|
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
|
||||||
|
EntityProcessor entityProcessor = ContextLoader.getCurrentWebApplicationContext().getBean(EntityProcessor.class);
|
||||||
|
UtilityService utilityService = ContextLoader.getCurrentWebApplicationContext().getBean(UtilityService.class);
|
||||||
|
|
||||||
|
List<MtbDepoPosizioni> mtbDepoPosizioni =
|
||||||
|
UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), "SELECT * FROM mtb_depo_posizioni", MtbDepoPosizioni.class);
|
||||||
|
|
||||||
|
|
||||||
|
final List<Map.Entry<HashMap<String, BigDecimal>, List<AgribookImportCoordsTestCSVDTO>>> entries = Stream.of(importedLines)
|
||||||
|
.filter(x -> x.getLat() != null && x.getLng() != null)
|
||||||
|
.groupBy(x -> {
|
||||||
|
HashMap<String, BigDecimal> coords = new HashMap<>();
|
||||||
|
coords.put("lat", x.getLat());
|
||||||
|
coords.put("lng", x.getLng());
|
||||||
|
return coords;
|
||||||
|
})
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
for (Map.Entry<HashMap<String, BigDecimal>, List<AgribookImportCoordsTestCSVDTO>> x : entries) {
|
||||||
|
|
||||||
|
String codMdep = x.getValue().get(0).getMatchOrder().getCodMdep();
|
||||||
|
BigDecimal lat = x.getValue().get(0).getLat();
|
||||||
|
BigDecimal lng = x.getValue().get(0).getLng();
|
||||||
|
|
||||||
// //Creazione posizione con coords
|
// //Creazione posizione con coords
|
||||||
IndirizzoDTO indirizzoDTO = utilityService.getPositionFromCoords(lat, lng);
|
IndirizzoDTO indirizzoDTO = utilityService.getPositionFromCoords(lat, lng);
|
||||||
|
|
||||||
|
|
||||||
MtbDepoPosizioni matchPosizione = Stream.of(mtbDepoPosizioni)
|
MtbDepoPosizioni matchPosizione = Stream.of(mtbDepoPosizioni)
|
||||||
.filter(y -> y.getCodMdep().equalsIgnoreCase(codMdep) &&
|
.filter(y -> y.getCodMdep().equalsIgnoreCase(codMdep) &&
|
||||||
Objects.equals(y.getIdPosizione(), indirizzoDTO.getIdPosizione()))
|
Objects.equals(y.getIdPosizione(), indirizzoDTO.getIdPosizione()))
|
||||||
.findFirst().orElse(null);
|
.findFirst().orElse(null);
|
||||||
|
|
||||||
AtomicReference<String> atomicCodCampo = new AtomicReference<>();
|
AtomicReference<String> atomicCodCampo = new AtomicReference<>();
|
||||||
AtomicReference<String> atomicDescrCampo = new AtomicReference<>();
|
AtomicReference<String> atomicDescrCampo = new AtomicReference<>();
|
||||||
|
|
||||||
if (matchPosizione == null) {
|
if (matchPosizione == null) {
|
||||||
|
|
||||||
int counter = 1;
|
int counter = 1;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
atomicCodCampo.set(codMdep + "_G" + String.format("%02d", counter));
|
atomicCodCampo.set(codMdep + "_G" + String.format("%02d", counter));
|
||||||
atomicDescrCampo.set("GEOPOINT " + String.format("%02d", counter++));
|
atomicDescrCampo.set("GEOPOINT " + String.format("%02d", counter++));
|
||||||
} while (mtbDepoPosizioni.stream().anyMatch(y -> y.getPosizione().equalsIgnoreCase(atomicCodCampo.get())));
|
} while (mtbDepoPosizioni.stream().anyMatch(y -> y.getPosizione().equalsIgnoreCase(atomicCodCampo.get())));
|
||||||
|
|
||||||
|
|
||||||
matchPosizione = new MtbDepoPosizioni()
|
matchPosizione = new MtbDepoPosizioni()
|
||||||
.setCodMdep(codMdep)
|
.setCodMdep(codMdep)
|
||||||
.setPosizione(atomicCodCampo.get())
|
.setPosizione(atomicCodCampo.get())
|
||||||
.setDescrizione(atomicDescrCampo.get())
|
.setDescrizione(atomicDescrCampo.get())
|
||||||
.setIdPosizione(indirizzoDTO.getIdPosizione());
|
.setIdPosizione(indirizzoDTO.getIdPosizione());
|
||||||
matchPosizione.setOperation(OperationType.INSERT_OR_UPDATE);
|
matchPosizione.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
MtbDepo mtbDepo = new MtbDepo()
|
MtbDepo mtbDepo = new MtbDepo()
|
||||||
.setCodMdep(codMdep)
|
.setCodMdep(codMdep)
|
||||||
.setMtbDepoPosizioni(new ArrayList<>());
|
.setMtbDepoPosizioni(new ArrayList<>());
|
||||||
mtbDepo.setOperation(OperationType.NO_OP);
|
mtbDepo.setOperation(OperationType.NO_OP);
|
||||||
mtbDepo.getMtbDepoPosizioni().add(matchPosizione);
|
mtbDepo.getMtbDepoPosizioni().add(matchPosizione);
|
||||||
entityProcessor.processEntity(mtbDepo, true, multiDBTransactionManager);
|
entityProcessor.processEntity(mtbDepo, true, multiDBTransactionManager);
|
||||||
|
|
||||||
mtbDepoPosizioni.add(matchPosizione);
|
mtbDepoPosizioni.add(matchPosizione);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (AgribookImportCoordsTestCSVDTO coord : x.getValue()) {
|
||||||
|
if (coord.getMatchOrder().getMtbPartitaMag() != null) {
|
||||||
|
MtbPartitaMag partitaMagToUpdate = (MtbPartitaMag) coord.getMatchOrder().getMtbPartitaMag();
|
||||||
|
|
||||||
|
partitaMagToUpdate.setPosizione(matchPosizione.getPosizione());
|
||||||
|
partitaMagToUpdate.setOperation(OperationType.UPDATE);
|
||||||
|
entityProcessor.processEntity(partitaMagToUpdate, true, multiDBTransactionManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (AgribookImportCoordsTestCSVDTO coord : x.getValue()) {
|
|
||||||
if (coord.getMatchOrder().getMtbPartitaMag() != null) {
|
|
||||||
MtbPartitaMag partitaMagToUpdate = (MtbPartitaMag) coord.getMatchOrder().getMtbPartitaMag();
|
|
||||||
|
|
||||||
partitaMagToUpdate.setPosizione(matchPosizione.getPosizione());
|
|
||||||
partitaMagToUpdate.setOperation(OperationType.UPDATE);
|
|
||||||
entityProcessor.processEntity(partitaMagToUpdate, true, multiDBTransactionManager);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ServiceRestResponse.createPositiveResponse(importedLines);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
return ServiceRestResponse.createNegativeResponse(e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return ServiceRestResponse.createPositiveResponse(importedLines);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "saveCoords", method = RequestMethod.POST)
|
@RequestMapping(value = "saveCoords", method = RequestMethod.POST)
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ServiceRestResponse saveCoords(@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
ServiceRestResponse saveCoords(@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||||
@RequestBody List<AgribookSaveCoordsDTO> agribookSaveCoordsDTOS) throws Exception {
|
@RequestBody List<AgribookSaveCoordsDTO> agribookSaveCoordsDTOS) throws Exception {
|
||||||
return ServiceRestResponse.createPositiveResponse(agribookOrderService.saveCoords(agribookSaveCoordsDTOS));
|
return ServiceRestResponse.createPositiveResponse(agribookOrderService.saveCoords(agribookSaveCoordsDTOS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,288 @@
|
|||||||
|
package it.integry.ems.production.agribook.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
public class AgribookNewFieldRequestDTO {
|
||||||
|
|
||||||
|
private String codAnag;
|
||||||
|
private String codVdes;
|
||||||
|
private boolean newDes;
|
||||||
|
private String codMart;
|
||||||
|
private String partitaMag;
|
||||||
|
private BigDecimal qtaAttesa;
|
||||||
|
private BigDecimal valUnt;
|
||||||
|
private String untMis;
|
||||||
|
private String destinatario;
|
||||||
|
private String indirizzo;
|
||||||
|
private String cap;
|
||||||
|
private String citta;
|
||||||
|
private String prov;
|
||||||
|
private BigDecimal lat;
|
||||||
|
private BigDecimal lng;
|
||||||
|
private String ragSocLegale;
|
||||||
|
private String partIvaLegale;
|
||||||
|
private String codFiscLegale;
|
||||||
|
private String indirizzoLegale;
|
||||||
|
private String capLegale;
|
||||||
|
private String cittaLegale;
|
||||||
|
private String provLegale;
|
||||||
|
private String partIva;
|
||||||
|
private String datiCatastali;
|
||||||
|
private String note;
|
||||||
|
private String varieta;
|
||||||
|
private LocalDate dataInizProd;
|
||||||
|
private LocalDate dataOrd;
|
||||||
|
|
||||||
|
public String getCodAnag() {
|
||||||
|
return codAnag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCodAnag(String codAnag) {
|
||||||
|
this.codAnag = codAnag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodVdes() {
|
||||||
|
return codVdes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCodVdes(String codVdes) {
|
||||||
|
this.codVdes = codVdes;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNewDes() {
|
||||||
|
return newDes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setNewDes(boolean newDes) {
|
||||||
|
this.newDes = newDes;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMart() {
|
||||||
|
return codMart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCodMart(String codMart) {
|
||||||
|
this.codMart = codMart;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartitaMag() {
|
||||||
|
return partitaMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setPartitaMag(String partitaMag) {
|
||||||
|
this.partitaMag = partitaMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaAttesa() {
|
||||||
|
return qtaAttesa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setQtaAttesa(BigDecimal qtaAttesa) {
|
||||||
|
this.qtaAttesa = qtaAttesa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMis() {
|
||||||
|
return untMis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setUntMis(String untMis) {
|
||||||
|
this.untMis = untMis;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDestinatario() {
|
||||||
|
return destinatario;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setDestinatario(String destinatario) {
|
||||||
|
this.destinatario = destinatario;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIndirizzo() {
|
||||||
|
return indirizzo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setIndirizzo(String indirizzo) {
|
||||||
|
this.indirizzo = indirizzo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCap() {
|
||||||
|
return cap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCap(String cap) {
|
||||||
|
this.cap = cap;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCitta() {
|
||||||
|
return citta;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCitta(String citta) {
|
||||||
|
this.citta = citta;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProv() {
|
||||||
|
return prov;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setProv(String prov) {
|
||||||
|
this.prov = prov;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getLat() {
|
||||||
|
return lat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setLat(BigDecimal lat) {
|
||||||
|
this.lat = lat;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getLng() {
|
||||||
|
return lng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setLng(BigDecimal lng) {
|
||||||
|
this.lng = lng;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRagSocLegale() {
|
||||||
|
return ragSocLegale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setRagSocLegale(String ragSocLegale) {
|
||||||
|
this.ragSocLegale = ragSocLegale;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartIvaLegale() {
|
||||||
|
return partIvaLegale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setPartIvaLegale(String partIvaLegale) {
|
||||||
|
this.partIvaLegale = partIvaLegale;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodFiscLegale() {
|
||||||
|
return codFiscLegale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCodFiscLegale(String codFiscLegale) {
|
||||||
|
this.codFiscLegale = codFiscLegale;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartIva() {
|
||||||
|
return partIva;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setPartIva(String partIva) {
|
||||||
|
this.partIva = partIva;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDatiCatastali() {
|
||||||
|
return datiCatastali;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setDatiCatastali(String datiCatastali) {
|
||||||
|
this.datiCatastali = datiCatastali;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNote() {
|
||||||
|
return note;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setNote(String note) {
|
||||||
|
this.note = note;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVarieta() {
|
||||||
|
return varieta;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setVarieta(String varieta) {
|
||||||
|
this.varieta = varieta;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getValUnt() {
|
||||||
|
return valUnt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setValUnt(BigDecimal valUnt) {
|
||||||
|
this.valUnt = valUnt;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataInizProd() {
|
||||||
|
return dataInizProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setDataInizProd(LocalDate dataInizProd) {
|
||||||
|
this.dataInizProd = dataInizProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataOrd() {
|
||||||
|
return dataOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setDataOrd(LocalDate dataOrd) {
|
||||||
|
this.dataOrd = dataOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIndirizzoLegale() {
|
||||||
|
return indirizzoLegale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setIndirizzoLegale(String indirizzoLegale) {
|
||||||
|
this.indirizzoLegale = indirizzoLegale;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCapLegale() {
|
||||||
|
return capLegale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCapLegale(String capLegale) {
|
||||||
|
this.capLegale = capLegale;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCittaLegale() {
|
||||||
|
return cittaLegale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setCittaLegale(String cittaLegale) {
|
||||||
|
this.cittaLegale = cittaLegale;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProvLegale() {
|
||||||
|
return provLegale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AgribookNewFieldRequestDTO setProvLegale(String provLegale) {
|
||||||
|
this.provLegale = provLegale;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,7 +30,7 @@ public class AccettazioneOrtoFruttaDTO {
|
|||||||
private BigDecimal qtaCnf;
|
private BigDecimal qtaCnf;
|
||||||
private String ragSocProduttore;
|
private String ragSocProduttore;
|
||||||
private String partIvaProduttore;
|
private String partIvaProduttore;
|
||||||
private Object varieta;
|
private String varieta;
|
||||||
private String ragSocOp;
|
private String ragSocOp;
|
||||||
private String partIvaOp;
|
private String partIvaOp;
|
||||||
private String ragSocCoop;
|
private String ragSocCoop;
|
||||||
@@ -277,11 +277,11 @@ public class AccettazioneOrtoFruttaDTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getVarieta() {
|
public String getVarieta() {
|
||||||
return varieta;
|
return varieta;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AccettazioneOrtoFruttaDTO setVarieta(Object varieta) {
|
public AccettazioneOrtoFruttaDTO setVarieta(String varieta) {
|
||||||
this.varieta = varieta;
|
this.varieta = varieta;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ public class OrtoFruttaProductionService {
|
|||||||
MtbPartitaMagCarat modalitaRaccolta = new MtbPartitaMagCarat();
|
MtbPartitaMagCarat modalitaRaccolta = new MtbPartitaMagCarat();
|
||||||
String caratLottoProd = "Lotto Produttore";
|
String caratLottoProd = "Lotto Produttore";
|
||||||
String caratModalitaRaccolta = "Modalita Raccolta";
|
String caratModalitaRaccolta = "Modalita Raccolta";
|
||||||
|
String caratVarietaRaccolta = "Varieta";
|
||||||
if (dto.getOriginal() != null) {
|
if (dto.getOriginal() != null) {
|
||||||
datiPartita = UtilityDB.executeSimpleQueryDTO(
|
datiPartita = UtilityDB.executeSimpleQueryDTO(
|
||||||
multiDBTransactionManager.getPrimaryConnection(),
|
multiDBTransactionManager.getPrimaryConnection(),
|
||||||
@@ -182,6 +183,12 @@ public class OrtoFruttaProductionService {
|
|||||||
.setActivityId(activityId)
|
.setActivityId(activityId)
|
||||||
.setDataRilevazione(LocalDateTime.now())
|
.setDataRilevazione(LocalDateTime.now())
|
||||||
.setOperation(OperationType.INSERT_OR_UPDATE);
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
modalitaRaccolta
|
||||||
|
.setCarat(caratVarietaRaccolta)
|
||||||
|
.setValCarat(dto.getVarieta())
|
||||||
|
.setActivityId(activityId)
|
||||||
|
.setDataRilevazione(LocalDateTime.now())
|
||||||
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
datiPartita = new ArrayList<>();
|
datiPartita = new ArrayList<>();
|
||||||
datiPartita.add(lottoProd);
|
datiPartita.add(lottoProd);
|
||||||
datiPartita.add(modalitaRaccolta);
|
datiPartita.add(modalitaRaccolta);
|
||||||
|
|||||||
@@ -68,7 +68,8 @@ public class ExchangeColliImportController {
|
|||||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||||
@RequestParam() String codAnag,
|
@RequestParam() String codAnag,
|
||||||
@RequestParam() String dataCert,
|
@RequestParam() String dataCert,
|
||||||
@RequestParam(required = false) String codMart,
|
@RequestParam() String partitaMag,
|
||||||
|
@RequestParam() String codMart,
|
||||||
@RequestParam(required = false) String codVdes
|
@RequestParam(required = false) String codVdes
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
LocalDate dataCertificato = LocalDate.parse(dataCert);
|
LocalDate dataCertificato = LocalDate.parse(dataCert);
|
||||||
@@ -76,7 +77,7 @@ public class ExchangeColliImportController {
|
|||||||
codAnag,
|
codAnag,
|
||||||
dataCertificato,
|
dataCertificato,
|
||||||
codMart,
|
codMart,
|
||||||
codVdes));
|
codVdes,partitaMag));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,4 +41,17 @@ public class ExchangeOrdiniImportController {
|
|||||||
}
|
}
|
||||||
return ServiceRestResponse.createPositiveResponse();
|
return ServiceRestResponse.createPositiveResponse();
|
||||||
}
|
}
|
||||||
|
@RequestMapping(value = "importCampi", method = RequestMethod.GET)
|
||||||
|
public @ResponseBody
|
||||||
|
ServiceRestResponse importCampiRaccolta(HttpServletRequest request,
|
||||||
|
@RequestParam(CommonConstants.PROFILE_DB) String profileDb,
|
||||||
|
@RequestParam() String profileDbExchange) throws Exception {
|
||||||
|
|
||||||
|
|
||||||
|
try (MultiDBTransactionManager internalDb = new MultiDBTransactionManager(profileDb);
|
||||||
|
MultiDBTransactionManager exchangeDb = new MultiDBTransactionManager(profileDbExchange)) {
|
||||||
|
exchangeOrdiniImportService.importCampiDiRaccolta(internalDb, exchangeDb, requestDataDTO);
|
||||||
|
}
|
||||||
|
return ServiceRestResponse.createPositiveResponse();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,615 @@
|
|||||||
|
package it.integry.ems.system.exchange.dto;
|
||||||
|
|
||||||
|
import it.integry.ems_model.annotation.SqlField;
|
||||||
|
import it.integry.ems_model.base.EntityBase;
|
||||||
|
import it.integry.ems_model.base.EntityInterface;
|
||||||
|
import it.integry.ems_model.base.EntityPropertyHolder;
|
||||||
|
import it.integry.ems_model.base.EquatableEntityInterface;
|
||||||
|
import it.integry.ems_model.exception.EntityException;
|
||||||
|
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
|
||||||
|
import it.integry.ems_model.types.OperationType;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ExchangeCampiRaccoltaDTO implements EquatableEntityInterface<ExchangeCampiRaccoltaDTO> {
|
||||||
|
private OperationType operation;
|
||||||
|
|
||||||
|
@SqlField("partitaMag")
|
||||||
|
private String partitaMag;
|
||||||
|
@SqlField("codAnag")
|
||||||
|
private String codAnag;
|
||||||
|
@SqlField("ragSoc")
|
||||||
|
private String ragSoc;
|
||||||
|
@SqlField("codVdes")
|
||||||
|
private String codVdes;
|
||||||
|
@SqlField("produttore")
|
||||||
|
private String produttore;
|
||||||
|
@SqlField("cooperativa")
|
||||||
|
private String cooperativa;
|
||||||
|
@SqlField("indirizzoCoop")
|
||||||
|
private String indirizzoCoop;
|
||||||
|
@SqlField("cittaCoop")
|
||||||
|
private String cittaCoop;
|
||||||
|
@SqlField("capCoop")
|
||||||
|
private String capCoop;
|
||||||
|
@SqlField("provCoop")
|
||||||
|
private String provCoop;
|
||||||
|
@SqlField("partIvaCoop")
|
||||||
|
private String partIvaCoop;
|
||||||
|
@SqlField("op")
|
||||||
|
private String op;
|
||||||
|
@SqlField("codAnagProd")
|
||||||
|
private String codAnagProd;
|
||||||
|
@SqlField("ragSocProd")
|
||||||
|
private String ragSocProd;
|
||||||
|
@SqlField("indirizzoProd")
|
||||||
|
private String indirizzoProd;
|
||||||
|
@SqlField("cittaProd")
|
||||||
|
private String cittaProd;
|
||||||
|
@SqlField("capProd")
|
||||||
|
private String capProd;
|
||||||
|
@SqlField("provProd")
|
||||||
|
private String provProd;
|
||||||
|
@SqlField("partIvaProd")
|
||||||
|
private String partIvaProd;
|
||||||
|
@SqlField("codMartMp")
|
||||||
|
private String codMartMp;
|
||||||
|
@SqlField("codMartMg")
|
||||||
|
private String codMartMg;
|
||||||
|
@SqlField("varieta")
|
||||||
|
private String varieta;
|
||||||
|
@SqlField("lottoFornitore")
|
||||||
|
private String lottoFornitore;
|
||||||
|
@SqlField("valUnt")
|
||||||
|
private BigDecimal valUnt;
|
||||||
|
@SqlField("untMis")
|
||||||
|
private String untMis;
|
||||||
|
@SqlField("qtaAttesa")
|
||||||
|
private BigDecimal qtaAttesa;
|
||||||
|
@SqlField("dataInizProd")
|
||||||
|
private LocalDate dataInizProd;
|
||||||
|
@SqlField("newDest")
|
||||||
|
private boolean newDest;
|
||||||
|
@SqlField("newPartita")
|
||||||
|
private boolean newPartita;
|
||||||
|
@SqlField("note")
|
||||||
|
private String note;
|
||||||
|
|
||||||
|
public String getCodAnag() {
|
||||||
|
return codAnag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCodAnag(String codAnag) {
|
||||||
|
this.codAnag = codAnag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRagSoc() {
|
||||||
|
return ragSoc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setRagSoc(String ragSoc) {
|
||||||
|
this.ragSoc = ragSoc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodVdes() {
|
||||||
|
return codVdes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCodVdes(String codVdes) {
|
||||||
|
this.codVdes = codVdes;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProduttore() {
|
||||||
|
return produttore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setProduttore(String produttore) {
|
||||||
|
this.produttore = produttore;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCooperativa() {
|
||||||
|
return cooperativa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCooperativa(String cooperativa) {
|
||||||
|
this.cooperativa = cooperativa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIndirizzoCoop() {
|
||||||
|
return indirizzoCoop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setIndirizzoCoop(String indirizzoCoop) {
|
||||||
|
this.indirizzoCoop = indirizzoCoop;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCittaCoop() {
|
||||||
|
return cittaCoop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCittaCoop(String cittaCoop) {
|
||||||
|
this.cittaCoop = cittaCoop;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCapCoop() {
|
||||||
|
return capCoop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCapCoop(String capCoop) {
|
||||||
|
this.capCoop = capCoop;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProvCoop() {
|
||||||
|
return provCoop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setProvCoop(String provCoop) {
|
||||||
|
this.provCoop = provCoop;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartIvaCoop() {
|
||||||
|
return partIvaCoop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setPartIvaCoop(String partIvaCoop) {
|
||||||
|
this.partIvaCoop = partIvaCoop;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOp() {
|
||||||
|
return op;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setOp(String op) {
|
||||||
|
this.op = op;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodAnagProd() {
|
||||||
|
return codAnagProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCodAnagProd(String codAnagProd) {
|
||||||
|
this.codAnagProd = codAnagProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRagSocProd() {
|
||||||
|
return ragSocProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setRagSocProd(String ragSocProd) {
|
||||||
|
this.ragSocProd = ragSocProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIndirizzoProd() {
|
||||||
|
return indirizzoProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setIndirizzoProd(String indirizzoProd) {
|
||||||
|
this.indirizzoProd = indirizzoProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCittaProd() {
|
||||||
|
return cittaProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCittaProd(String cittaProd) {
|
||||||
|
this.cittaProd = cittaProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCapProd() {
|
||||||
|
return capProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCapProd(String capProd) {
|
||||||
|
this.capProd = capProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProvProd() {
|
||||||
|
return provProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setProvProd(String provProd) {
|
||||||
|
this.provProd = provProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartIvaProd() {
|
||||||
|
return partIvaProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setPartIvaProd(String partIvaProd) {
|
||||||
|
this.partIvaProd = partIvaProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMartMp() {
|
||||||
|
return codMartMp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCodMartMp(String codMartMp) {
|
||||||
|
this.codMartMp = codMartMp;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMartMg() {
|
||||||
|
return codMartMg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setCodMartMg(String codMartMg) {
|
||||||
|
this.codMartMg = codMartMg;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVarieta() {
|
||||||
|
return varieta;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setVarieta(String varieta) {
|
||||||
|
this.varieta = varieta;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLottoFornitore() {
|
||||||
|
return lottoFornitore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setLottoFornitore(String lottoFornitore) {
|
||||||
|
this.lottoFornitore = lottoFornitore;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getValUnt() {
|
||||||
|
return valUnt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setValUnt(BigDecimal valUnt) {
|
||||||
|
this.valUnt = valUnt;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaAttesa() {
|
||||||
|
return qtaAttesa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setQtaAttesa(BigDecimal qtaAttesa) {
|
||||||
|
this.qtaAttesa = qtaAttesa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equalsKey(ExchangeCampiRaccoltaDTO other) {
|
||||||
|
|
||||||
|
return codAnag.equalsIgnoreCase(other.getCodAnag()) &&
|
||||||
|
codVdes.equalsIgnoreCase(other.getCodVdes()) &&
|
||||||
|
codMartMp.equalsIgnoreCase(other.getCodMartMp()) &&
|
||||||
|
lottoFornitore.equalsIgnoreCase(other.getLottoFornitore());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equalsContent(ExchangeCampiRaccoltaDTO other) {
|
||||||
|
return
|
||||||
|
codAnag.equalsIgnoreCase(other.getCodAnag()) &&
|
||||||
|
ragSoc.equalsIgnoreCase(other.getRagSoc()) &&
|
||||||
|
codVdes.equalsIgnoreCase(other.getCodVdes()) &&
|
||||||
|
produttore.equalsIgnoreCase(other.getProduttore()) &&
|
||||||
|
cooperativa.equalsIgnoreCase(other.getCooperativa()) &&
|
||||||
|
indirizzoCoop.equalsIgnoreCase(other.getIndirizzoCoop()) &&
|
||||||
|
cittaCoop.equalsIgnoreCase(other.getCittaCoop()) &&
|
||||||
|
capCoop.equalsIgnoreCase(other.getCapCoop()) &&
|
||||||
|
provCoop.equalsIgnoreCase(other.getProvCoop()) &&
|
||||||
|
partIvaCoop.equalsIgnoreCase(other.getPartIvaCoop()) &&
|
||||||
|
op.equalsIgnoreCase(other.getOp()) &&
|
||||||
|
codAnagProd.equalsIgnoreCase(other.getCodAnagProd()) &&
|
||||||
|
ragSocProd.equalsIgnoreCase(other.getRagSocProd()) &&
|
||||||
|
indirizzoProd.equalsIgnoreCase(other.getIndirizzoProd()) &&
|
||||||
|
cittaProd.equalsIgnoreCase(other.getCittaProd()) &&
|
||||||
|
capProd.equalsIgnoreCase(other.getCapProd()) &&
|
||||||
|
provProd.equalsIgnoreCase(other.getProvProd()) &&
|
||||||
|
partIvaProd.equalsIgnoreCase(other.getPartIvaProd()) &&
|
||||||
|
codMartMp.equalsIgnoreCase(other.getCodMartMp()) &&
|
||||||
|
codMartMg.equalsIgnoreCase(other.getCodMartMg()) &&
|
||||||
|
varieta.equalsIgnoreCase(other.getVarieta()) &&
|
||||||
|
lottoFornitore.equalsIgnoreCase(other.getLottoFornitore()) &&
|
||||||
|
valUnt.equals(other.getValUnt()) &&
|
||||||
|
qtaAttesa.equals(other.getQtaAttesa())
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkPreSave() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insert() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delete() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resetIdentiy(Connection connection) throws Exception {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execStoredProcedure() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void applyDefault(String fieldName) throws IllegalAccessException, IOException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void applyDefault() throws IllegalAccessException, IOException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<? extends EntityBase> select(Connection connection) throws Exception {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean getOnlyPkMaster() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setOnlyPkMaster(Boolean onlyPkMaster) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OperationType getOperation() {
|
||||||
|
return operation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setOperation(OperationType opType) {
|
||||||
|
this.operation = opType;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUsername() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setUsername(String username) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getApplicationName() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setApplicationName(String applicationName) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setDbName(String dbName) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setApplicationNameDB(String profileDB) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityInterface clone() throws CloneNotSupportedException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityBase selectAndMergeEntity(Connection connection, EntityBase entity) throws Exception {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void manageWithParentConnection(Connection connection) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void manageWithParentConnection(Connection connection, OperationType op, DroolsDataCompleting dataCompleting, EntityPropertyHolder propertyHolder) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DroolsDataCompleting getCompletingManager() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCompletingManager(DroolsDataCompleting dataCompleting) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEntityHolder(EntityPropertyHolder entityHolder) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dataCompleting(Connection connection) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setRecalcColumns(List<String> recalcColumns) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getExcludedColumns() {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setExcludedColumns(List<String> excludedColumns) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setParentPKAndImportFromParent(EntityBase parent, Boolean isChild) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setImportFromParent(EntityBase parent, Boolean isChild) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTableName() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNativeSql() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void trimPK() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void excludeField(String sqlField, String columnName) throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityInterface deepClone() throws Exception {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityException getException() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long getTransactionGroupId() {
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setTransactionGroupId(Long transactionGroupId) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resetTransactionGroupId() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getQueryTimeoutSeconds() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityInterface setQueryTimeoutSeconds(int queryTimeoutSeconds) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setParent(EntityInterface entityInterface) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityInterface getParent() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataInizProd() {
|
||||||
|
return dataInizProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setDataInizProd(LocalDate dataInizProd) {
|
||||||
|
this.dataInizProd = dataInizProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartitaMag() {
|
||||||
|
return partitaMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setPartitaMag(String partitaMag) {
|
||||||
|
this.partitaMag = partitaMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNewDest() {
|
||||||
|
return newDest;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setNewDest(boolean newDest) {
|
||||||
|
this.newDest = newDest;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNote() {
|
||||||
|
return note;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setNote(String note) {
|
||||||
|
this.note = note;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMis() {
|
||||||
|
return untMis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setUntMis(String untMis) {
|
||||||
|
this.untMis = untMis;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNewPartita() {
|
||||||
|
return newPartita;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExchangeCampiRaccoltaDTO setNewPartita(boolean newPartita) {
|
||||||
|
this.newPartita = newPartita;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -201,7 +201,7 @@ public class ExchangeColliImportService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<CertificatiSinfoOneDTO> getCertificati(String profileDb, String codAnag, LocalDate dataCert, String codMart, String codVdes) throws Exception {
|
public List<CertificatiSinfoOneDTO> getCertificati(String profileDb, String codAnag, LocalDate dataCert, String codMart, String codVdes, String partitaMag) throws Exception {
|
||||||
|
|
||||||
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(profileDb)) {
|
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(profileDb)) {
|
||||||
|
|
||||||
@@ -220,8 +220,8 @@ public class ExchangeColliImportService {
|
|||||||
" produttore AS produttore,\n" +
|
" produttore AS produttore,\n" +
|
||||||
" OP AS op,\n" +
|
" OP AS op,\n" +
|
||||||
" TRIM(num_bolla) AS numBolla,\n" +
|
" TRIM(num_bolla) AS numBolla,\n" +
|
||||||
" TRIM(PMB_TIPO_POMODORO) AS codMart,\n" +
|
" TRIM(cod_mart_mp) AS codMart,\n" +
|
||||||
" TRIM(PMB_SEME) AS varieta,\n" +
|
" varieta,\n" +
|
||||||
" TRIM(lotto_fornitore) AS lottoFornitore,\n" +
|
" TRIM(lotto_fornitore) AS lottoFornitore,\n" +
|
||||||
" CONVERT(NUMERIC(15, 3), peso_lordo_kg) AS pesoLordoKg,\n" +
|
" CONVERT(NUMERIC(15, 3), peso_lordo_kg) AS pesoLordoKg,\n" +
|
||||||
" CONVERT(NUMERIC(15, 3), peso_netto_kg) AS pesoNettoKg,\n" +
|
" CONVERT(NUMERIC(15, 3), peso_netto_kg) AS pesoNettoKg,\n" +
|
||||||
@@ -235,12 +235,13 @@ public class ExchangeColliImportService {
|
|||||||
" data_ora_lordo AS dataOraLordo,\n" +
|
" data_ora_lordo AS dataOraLordo,\n" +
|
||||||
" CONVERT(NUMERIC(15, 3), sconto8) AS sconto8,\n" +
|
" CONVERT(NUMERIC(15, 3), sconto8) AS sconto8,\n" +
|
||||||
" cod_vettore AS cod_vvet,\n" +
|
" cod_vettore AS cod_vvet,\n" +
|
||||||
" vettore AS vettore,\n" +
|
" vettore AS vettore,\n" +
|
||||||
" CONVERT(NUMERIC(15, 3), PMB_SCARTO_CQ) AS scartoCq\n " +
|
" CONVERT(NUMERIC(15, 3), PMB_SCARTO_CQ) AS scartoCq\n " +
|
||||||
"FROM s1_Certificati\n" +
|
"FROM s1_Certificati\n" +
|
||||||
"WHERE cod_anag = {}\n" +
|
"WHERE cod_anag = {}\n" +
|
||||||
" AND data_cert = {}\n" +
|
" AND data_cert = {}\n" +
|
||||||
" AND PMB_TIPO_POMODORO = {}", codAnag, dataCert, codMart),
|
" AND {} like '%%'+TRIM(lotto_fornitore) \n" +
|
||||||
|
" AND cod_mart_mp = {}", codAnag, dataCert,partitaMag, codMart),
|
||||||
CertificatiSinfoOneDTO.class);
|
CertificatiSinfoOneDTO.class);
|
||||||
String codDtipLavCar = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "CRUSCOTTO_PRODUZIONE",
|
String codDtipLavCar = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "CRUSCOTTO_PRODUZIONE",
|
||||||
"SETUP",
|
"SETUP",
|
||||||
|
|||||||
@@ -10,10 +10,7 @@ import it.integry.ems_model.entity._enum.IBaseEnum;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -26,7 +23,9 @@ public class ExchangeImportSchemaManagerService {
|
|||||||
DocumentiLavorazione(3),
|
DocumentiLavorazione(3),
|
||||||
Articoli(4),
|
Articoli(4),
|
||||||
PartiteMagazzinoLavorazione(5),
|
PartiteMagazzinoLavorazione(5),
|
||||||
VersamentoGrezzo(6);
|
VersamentoGrezzo(6),
|
||||||
|
CampiRaccolta(7);
|
||||||
|
|
||||||
|
|
||||||
private final int value;
|
private final int value;
|
||||||
|
|
||||||
@@ -67,6 +66,7 @@ public class ExchangeImportSchemaManagerService {
|
|||||||
put(SchemaType.Articoli, Arrays.asList("mtb_aart", "mtb_grup", "mtb_sgrp", "mtb_sfam", "mtb_tipi", "mtb_aart_marchio"));
|
put(SchemaType.Articoli, Arrays.asList("mtb_aart", "mtb_grup", "mtb_sgrp", "mtb_sfam", "mtb_tipi", "mtb_aart_marchio"));
|
||||||
put(SchemaType.PartiteMagazzinoLavorazione, Arrays.asList("mtb_partita_mag_lav"));
|
put(SchemaType.PartiteMagazzinoLavorazione, Arrays.asList("mtb_partita_mag_lav"));
|
||||||
put(SchemaType.VersamentoGrezzo, Arrays.asList("mtb_colt_versamento_grezzo", "mtb_colr_versamento_grezzo"));
|
put(SchemaType.VersamentoGrezzo, Arrays.asList("mtb_colt_versamento_grezzo", "mtb_colr_versamento_grezzo"));
|
||||||
|
put(SchemaType.CampiRaccolta, Collections.singletonList("campi_raccolta"));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
public void syncSchema(Connection connection, SchemaType schemaType, boolean createTempTablesToo) throws Exception {
|
public void syncSchema(Connection connection, SchemaType schemaType, boolean createTempTablesToo) throws Exception {
|
||||||
|
|||||||
@@ -2,8 +2,11 @@ package it.integry.ems.system.exchange.service;
|
|||||||
|
|
||||||
import it.integry.ems.expansion.RunnableThrowable;
|
import it.integry.ems.expansion.RunnableThrowable;
|
||||||
import it.integry.ems.javabeans.RequestDataDTO;
|
import it.integry.ems.javabeans.RequestDataDTO;
|
||||||
|
import it.integry.ems.production.agribook.AgribookFieldService;
|
||||||
|
import it.integry.ems.production.agribook.model.AgribookNewFieldRequestDTO;
|
||||||
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.system.exchange.dto.ExchangeCampiRaccoltaDTO;
|
||||||
import it.integry.ems_model.base.EquatableEntityInterface;
|
import it.integry.ems_model.base.EquatableEntityInterface;
|
||||||
import it.integry.ems_model.entity.DtbOrdSteps;
|
import it.integry.ems_model.entity.DtbOrdSteps;
|
||||||
import it.integry.ems_model.entity.DtbOrdr;
|
import it.integry.ems_model.entity.DtbOrdr;
|
||||||
@@ -12,6 +15,7 @@ import it.integry.ems_model.types.OperationType;
|
|||||||
import it.integry.ems_model.utility.Query;
|
import it.integry.ems_model.utility.Query;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||||
|
import it.integry.ems_model.utility.UtilityString;
|
||||||
import org.apache.logging.log4j.LogManager;
|
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;
|
||||||
@@ -47,6 +51,9 @@ public class ExchangeOrdiniImportService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ExchangePartiteMagazzinoImportService exchangePartiteMagazzinoImportService;
|
private ExchangePartiteMagazzinoImportService exchangePartiteMagazzinoImportService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AgribookFieldService agribookFieldService;
|
||||||
|
|
||||||
public void importOrdiniLavorazione(MultiDBTransactionManager internalMultiDb, MultiDBTransactionManager exchangeMultiDb, RequestDataDTO requestDataDTO) throws Exception {
|
public void importOrdiniLavorazione(MultiDBTransactionManager internalMultiDb, MultiDBTransactionManager exchangeMultiDb, RequestDataDTO requestDataDTO) throws Exception {
|
||||||
|
|
||||||
boolean useTempTable = true;
|
boolean useTempTable = true;
|
||||||
@@ -189,7 +196,6 @@ public class ExchangeOrdiniImportService {
|
|||||||
return dtbOrdtLav;
|
return dtbOrdtLav;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void singleUpdateImported(Connection connection, DtbOrdt importedDtbOrdt, boolean useTempTable) throws Exception {
|
private void singleUpdateImported(Connection connection, DtbOrdt importedDtbOrdt, boolean useTempTable) throws Exception {
|
||||||
final HashMap<String, Object> importedKey = new HashMap<String, Object>() {{
|
final HashMap<String, Object> importedKey = new HashMap<String, Object>() {{
|
||||||
put("data_ord", importedDtbOrdt.getDataOrd());
|
put("data_ord", importedDtbOrdt.getDataOrd());
|
||||||
@@ -211,4 +217,122 @@ public class ExchangeOrdiniImportService {
|
|||||||
exchangeImportDataManagerService.updateImportedStatus(connection, "dtb_ordr_lav", importedRowKeys, useTempTable);
|
exchangeImportDataManagerService.updateImportedStatus(connection, "dtb_ordr_lav", importedRowKeys, useTempTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void importCampiDiRaccolta(MultiDBTransactionManager internalMultiDb, MultiDBTransactionManager exchangeMultiDb, RequestDataDTO requestDataDTO) throws Exception {
|
||||||
|
|
||||||
|
try {
|
||||||
|
exchangeImportSchemaManagerService.syncSchema(exchangeMultiDb.getPrimaryConnection(), ExchangeImportSchemaManagerService.SchemaType.CampiRaccolta, true);
|
||||||
|
|
||||||
|
final List<ExchangeCampiRaccoltaDTO> exchangeCampiRaccOld = retrieveCampiDiRaccolta(
|
||||||
|
exchangeMultiDb.getPrimaryConnection(),
|
||||||
|
UtilityLocalDate.getNow().minusMonths(1),
|
||||||
|
true,false);
|
||||||
|
|
||||||
|
final List<ExchangeCampiRaccoltaDTO> exchangeCampiRaccNew = retrieveCampiDiRaccolta(
|
||||||
|
exchangeMultiDb.getPrimaryConnection(),
|
||||||
|
UtilityLocalDate.getNow().minusMonths(1),
|
||||||
|
false, true);
|
||||||
|
|
||||||
|
List<EquatableEntityInterface> allData = exchangeImportDataManagerService
|
||||||
|
.runSync(ExchangeCampiRaccoltaDTO.class, exchangeCampiRaccOld, exchangeCampiRaccNew);
|
||||||
|
|
||||||
|
final Exception[] firstExceptionToThrow = {null};
|
||||||
|
|
||||||
|
final AtomicInteger[] importedCounter = {new AtomicInteger()};
|
||||||
|
|
||||||
|
for (EquatableEntityInterface dataToSave : allData) {
|
||||||
|
ExchangeCampiRaccoltaDTO field = (ExchangeCampiRaccoltaDTO)dataToSave;
|
||||||
|
try {
|
||||||
|
importField(internalMultiDb,field);
|
||||||
|
|
||||||
|
singleFieldUpdateImported(exchangeMultiDb.getPrimaryConnection(), field, true);
|
||||||
|
internalMultiDb.commitAll();
|
||||||
|
exchangeMultiDb.commitAll();
|
||||||
|
logger.debug("Importati {} campi di {}", importedCounter[0].incrementAndGet(), allData.size());
|
||||||
|
} catch (Exception ex) {
|
||||||
|
if (firstExceptionToThrow[0] == null) firstExceptionToThrow[0] = ex;
|
||||||
|
|
||||||
|
|
||||||
|
logger.error("Errore durante l'importazione dell'campo [fornitore: " + field.getCodAnag() + " - "+field.getCodVdes()+"," +
|
||||||
|
"articolo: " + field.getCodMartMp() + "," +
|
||||||
|
"partita: " + field.getLottoFornitore() + "]", ex);
|
||||||
|
internalMultiDb.rollbackAll();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (firstExceptionToThrow[0] != null) throw firstExceptionToThrow[0];
|
||||||
|
} finally {
|
||||||
|
exchangeImportSchemaManagerService.deleteTempTables(exchangeMultiDb.getPrimaryConnection(), ExchangeImportSchemaManagerService.SchemaType.CampiRaccolta);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void importField(MultiDBTransactionManager multiDb,ExchangeCampiRaccoltaDTO field) throws Exception{
|
||||||
|
if (UtilityString.isNullOrEmpty(field.getCodAnag())){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (field.isNewPartita()){
|
||||||
|
AgribookNewFieldRequestDTO dto = new AgribookNewFieldRequestDTO();
|
||||||
|
dto.setCodAnag(field.getCodAnag())
|
||||||
|
.setCodVdes(field.getCodVdes())
|
||||||
|
.setNewDes(field.isNewDest())
|
||||||
|
.setCodMart(field.getCodMartMp())
|
||||||
|
.setPartitaMag(field.getPartitaMag())
|
||||||
|
.setQtaAttesa(field.getQtaAttesa())
|
||||||
|
.setValUnt(field.getValUnt())
|
||||||
|
.setUntMis(field.getUntMis())
|
||||||
|
.setDestinatario(field.getProduttore())
|
||||||
|
.setIndirizzo(field.getIndirizzoProd())
|
||||||
|
.setCap(field.getCapProd())
|
||||||
|
.setCitta(field.getCittaProd())
|
||||||
|
.setProv(field.getProvProd())
|
||||||
|
.setLat(null)
|
||||||
|
.setLng(null)
|
||||||
|
.setRagSocLegale(field.getCooperativa())
|
||||||
|
.setPartIvaLegale(field.getPartIvaCoop())
|
||||||
|
.setCodFiscLegale(field.getPartIvaCoop())
|
||||||
|
.setIndirizzoLegale(field.getIndirizzoCoop())
|
||||||
|
.setCapLegale(field.getCapCoop())
|
||||||
|
.setCittaLegale(field.getCittaCoop())
|
||||||
|
.setProvLegale(field.getProvCoop())
|
||||||
|
.setPartIva(field.getPartIvaProd())
|
||||||
|
.setDatiCatastali(null)
|
||||||
|
.setNote(field.getNote())
|
||||||
|
.setVarieta(field.getVarieta())
|
||||||
|
.setDataInizProd(field.getDataInizProd())
|
||||||
|
.setDataOrd(field.getDataInizProd());
|
||||||
|
agribookFieldService.createField(multiDb,dto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<ExchangeCampiRaccoltaDTO> retrieveCampiDiRaccolta(Connection connection, LocalDate minDate, boolean retrieveAlreadyImported, boolean useTempTable) throws Exception {
|
||||||
|
String campiRaccOriginalTableName = "campi_raccolta";
|
||||||
|
String campiRaccTableName = campiRaccOriginalTableName + (useTempTable ? "_tmp" : "");
|
||||||
|
|
||||||
|
|
||||||
|
if (useTempTable) {
|
||||||
|
UtilityDB.executeStatement(connection,
|
||||||
|
"INSERT INTO " + campiRaccTableName +
|
||||||
|
" SELECT * FROM " + campiRaccOriginalTableName
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return exchangeImportDataManagerService.retrieveDataFromExchange(connection, ExchangeCampiRaccoltaDTO.class,
|
||||||
|
campiRaccTableName, Query.format("dataInizProd > {}", minDate), retrieveAlreadyImported);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void singleFieldUpdateImported(Connection connection, ExchangeCampiRaccoltaDTO importedField, boolean useTempTable) throws Exception {
|
||||||
|
final HashMap<String, Object> importedKey = new HashMap<String, Object>() {{
|
||||||
|
put("codAnag", importedField.getCodAnag());
|
||||||
|
put("codVdes", importedField.getCodVdes());
|
||||||
|
put("codMartMp", importedField.getCodMartMp());
|
||||||
|
put("lottoFornitore", importedField.getLottoFornitore());
|
||||||
|
}};
|
||||||
|
|
||||||
|
exchangeImportDataManagerService.updateImportedStatus(connection, "campi_raccolta", importedKey, useTempTable);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user