Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -545,8 +545,7 @@ public class EmsController {
|
||||
}
|
||||
|
||||
@RequestMapping(value = EmsRestConstants.PATH_EXPORT, method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse export(
|
||||
public @ResponseBody ServiceRestResponse export(
|
||||
HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@RequestParam(value = EmsRestConstants.TYPE) String typeExport,
|
||||
@@ -554,44 +553,39 @@ public class EmsController {
|
||||
@RequestParam(required = false, defaultValue = "false") Boolean binaryDownload,
|
||||
@RequestParam(required = false, defaultValue = "true") boolean headless,
|
||||
@RequestBody(required = false) JsonNode body) throws Exception {
|
||||
ServiceRestResponse sr = null;
|
||||
|
||||
try {
|
||||
EntityExportResponse<?> entityExportResponse = emsServices.export(typeExport, formatExport, body, headless);
|
||||
EntityExportResponse<?> entityExportResponse = emsServices.export(typeExport, formatExport, body, headless);
|
||||
|
||||
sr = new ServiceRestResponse(EsitoType.OK);
|
||||
if (entityExportResponse != null) {
|
||||
ServiceRestResponse sr = ServiceRestResponse.createPositiveResponse();
|
||||
if (entityExportResponse != null) {
|
||||
|
||||
if (binaryDownload) {
|
||||
List<DownloadFileDto> downloadableFileList = new ArrayList<>();
|
||||
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
|
||||
downloadableFileList.add(downloadFileHandlerService.generateDownloadItem(exportedFile.getFile()));
|
||||
}
|
||||
sr.setJsonObject(downloadableFileList);
|
||||
|
||||
|
||||
} else if (entityExportResponse.isResponseToB64()) {
|
||||
List<File> listaFile = new ArrayList<>();
|
||||
|
||||
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
|
||||
listaFile.add(exportedFile.getFile());
|
||||
}
|
||||
|
||||
sr.setJsonObject(EncodedB64File.fromFileList(listaFile));
|
||||
|
||||
} else {
|
||||
sr.setJsonObject(entityExportResponse.getResponse());
|
||||
if (binaryDownload) {
|
||||
List<DownloadFileDto> downloadableFileList = new ArrayList<>();
|
||||
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
|
||||
downloadableFileList.add(downloadFileHandlerService.generateDownloadItem(exportedFile.getFile()));
|
||||
}
|
||||
if (!UtilityString.isNullOrEmpty(entityExportResponse.getMessageContent())) {
|
||||
sr.initMessageList();
|
||||
sr.getMessages().add(new MessageDTO()
|
||||
.setLevel(MessageDTO.Level.INFO)
|
||||
.setText(entityExportResponse.getMessageContent()));
|
||||
sr.setJsonObject(downloadableFileList);
|
||||
|
||||
|
||||
} else if (entityExportResponse.isResponseToB64()) {
|
||||
List<File> listaFile = new ArrayList<>();
|
||||
|
||||
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
|
||||
listaFile.add(exportedFile.getFile());
|
||||
}
|
||||
|
||||
sr.setJsonObject(EncodedB64File.fromFileList(listaFile));
|
||||
|
||||
} else {
|
||||
sr.setJsonObject(entityExportResponse.getResponse());
|
||||
}
|
||||
if (!UtilityString.isNullOrEmpty(entityExportResponse.getMessageContent())) {
|
||||
sr.initMessageList();
|
||||
sr.getMessages()
|
||||
.add(new MessageDTO()
|
||||
.setLevel(MessageDTO.Level.INFO)
|
||||
.setText(entityExportResponse.getMessageContent()));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(request.getRequestURI(), e);
|
||||
sr = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
|
||||
}
|
||||
|
||||
return sr;
|
||||
@@ -926,6 +920,7 @@ public class EmsController {
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@RequestParam(required = false) String idAttach,
|
||||
@RequestParam(required = false) String descrizione,
|
||||
@RequestParam(required = false) String typeAttach,
|
||||
@RequestPart() MultipartFile[] files
|
||||
) {
|
||||
try {
|
||||
@@ -940,6 +935,7 @@ public class EmsController {
|
||||
files[0].getBytes(),
|
||||
descrizione,
|
||||
files[0].getContentType(),
|
||||
typeAttach,
|
||||
null, null);
|
||||
|
||||
stbFilesAttached.setOnlyPkMaster(false);
|
||||
|
||||
@@ -288,8 +288,6 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
||||
String codQuery, boolean flagUserView, boolean flagSetupDepo, boolean flagSetupUserWeb,
|
||||
boolean flagTipoJson, boolean flagTipoColore, String tipoSetup, boolean flagMultiValue,
|
||||
String query) throws Exception {
|
||||
if (existsSetup(gestName, section, keySection))
|
||||
return;
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
|
||||
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240708111056 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (isCustomerDb(IntegryCustomerDB.Carelli_GestFood, IntegryCustomerDB.Carelli_Panimal))
|
||||
executeStatement("insert into stb_gest_setup\n" +
|
||||
"select *\n" +
|
||||
"from carelli.dbo.stb_gest_setup\n" +
|
||||
"where gest_name = 'W_VVARIAZ_PREZZI_DISP'\n" +
|
||||
"and not exists (select * from stb_gest_setup s where s.gest_name = stb_gest_setup.gest_name and s.section = stb_gest_setup.section and s.key_section = stb_gest_setup.key_section )",
|
||||
"update stb_gest_setup set value = s.value, flag_sync = 'S'\n" +
|
||||
"from carelli.dbo.stb_gest_setup s inner join stb_gest_setup on s.gest_name = stb_gest_setup.gest_name and s.section = stb_gest_setup.section and s.key_section = stb_gest_setup.key_section\n" +
|
||||
"where s.gest_name = 'W_VVARIAZ_PREZZI_DISP'",
|
||||
"insert into stb_gest_setup_depo\n" +
|
||||
"select stb_gest_setup_depo.*\n" +
|
||||
"from carelli.dbo.stb_gest_setup \n" +
|
||||
"inner join carelli.dbo.stb_gest_setup_depo on stb_gest_setup_depo.gest_name = stb_gest_setup.gest_name and stb_gest_setup_depo.section = stb_gest_setup.section and stb_gest_setup_depo.key_section = stb_gest_setup.key_section\n" +
|
||||
"where stb_gest_setup.gest_name = 'W_VVARIAZ_PREZZI_DISP'\n" +
|
||||
"and stb_gest_setup.flag_setup_depo = 'S'\n" +
|
||||
"except \n" +
|
||||
"select * from stb_gest_setup_depo",
|
||||
"update stb_gest_setup_depo\n" +
|
||||
"set value = s.value\n" +
|
||||
"from stb_gest_setup_depo\n" +
|
||||
"inner join (select stb_gest_setup_depo.*\n" +
|
||||
"from carelli.dbo.stb_gest_setup \n" +
|
||||
"inner join carelli.dbo.stb_gest_setup_depo on stb_gest_setup_depo.gest_name = stb_gest_setup.gest_name and stb_gest_setup_depo.section = stb_gest_setup.section and stb_gest_setup_depo.key_section = stb_gest_setup.key_section\n" +
|
||||
"where stb_gest_setup.gest_name = 'W_VVARIAZ_PREZZI_DISP'\n" +
|
||||
"and stb_gest_setup.flag_setup_depo = 'S') s on stb_gest_setup_depo.gest_name = s.gest_name and stb_gest_setup_depo.section = s.section and stb_gest_setup_depo.key_section = s.key_section\n" +
|
||||
"and stb_gest_setup_depo.cod_mdep = s.cod_mdep\n",
|
||||
"insert into wtb_gest_setup_user\n" +
|
||||
"select wtb_gest_setup_user.*\n" +
|
||||
"from carelli.dbo.stb_gest_setup \n" +
|
||||
"inner join carelli.dbo.wtb_gest_setup_user on wtb_gest_setup_user.gest_name = stb_gest_setup.gest_name and wtb_gest_setup_user.section = stb_gest_setup.section and wtb_gest_setup_user.key_section = stb_gest_setup.key_section\n" +
|
||||
"where stb_gest_setup.gest_name = 'W_VVARIAZ_PREZZI_DISP'\n" +
|
||||
"and stb_gest_setup.flag_setup_user_web = 'S'\n" +
|
||||
"and exists (select * from stb_user where stb_user.user_name = wtb_gest_setup_user.user_name)\n" +
|
||||
"except \n" +
|
||||
"select * from wtb_gest_setup_user",
|
||||
"update wtb_gest_setup_user\n" +
|
||||
"set value = s.value\n" +
|
||||
"from wtb_gest_setup_user\n" +
|
||||
"inner join (select wtb_gest_setup_user.*\n" +
|
||||
"from carelli.dbo.stb_gest_setup \n" +
|
||||
"inner join carelli.dbo.wtb_gest_setup_user on wtb_gest_setup_user.gest_name = stb_gest_setup.gest_name and wtb_gest_setup_user.section = stb_gest_setup.section and wtb_gest_setup_user.key_section = stb_gest_setup.key_section\n" +
|
||||
"where stb_gest_setup.gest_name = 'W_VVARIAZ_PREZZI_DISP'\n" +
|
||||
"and stb_gest_setup.flag_setup_depo = 'S') s on wtb_gest_setup_user.gest_name = s.gest_name and wtb_gest_setup_user.section = s.section and wtb_gest_setup_user.key_section = s.key_section\n" +
|
||||
"and wtb_gest_setup_user.user_name = s.user_name");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240708130221 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (isCustomerDb(IntegryCustomerDB.Carelli_Carelli, IntegryCustomerDB.Carelli_GestFood, IntegryCustomerDB.Carelli_Panimal))
|
||||
updateSetupValue("EXPORT_VARIAZIONE PV", "XML_DIALOGO", "SAVE_LOG", "S");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
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_20240711122559 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
String value = null;
|
||||
if (isCustomer(IntegryCustomer.RossoGargano))
|
||||
value = "ROSSO_GARGANO_EXCHANGE";
|
||||
createSetup("PVM","PIAN_ACC_ROSSG","PROFILE_DB_CERT",value,"profilo db con le viste di scambio sinfo one",null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240712133359 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement("alter table mtb_aart_link add constraint fk_mtb_aart_link_stb_files_attached foreign key (id_attach) references stb_files_attached (id_attach)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -133,7 +133,7 @@ public class AccountingBusinessLogic {
|
||||
SetupGest setupGest = new SetupGest();
|
||||
HashMap<String, String> setup = setupGest.getSetupSection(conn, "CTB_SCAD", "COD_PAGA");
|
||||
|
||||
BigDecimal ritenuta = (BigDecimal) result.get("importo_rit_acc");
|
||||
BigDecimal ritenuta = ((BigDecimal) result.get("importo_rit_acc")).abs();
|
||||
if (!UtilityBigDecimal.isNullOrZero(ritenuta)) {
|
||||
|
||||
ritenuta = ritenuta.divide(testata.getCambioDiviCont()).setScale(5, RoundingMode.HALF_UP);
|
||||
@@ -157,7 +157,7 @@ public class AccountingBusinessLogic {
|
||||
scadenze.add(ctbScad);
|
||||
}
|
||||
|
||||
BigDecimal enasarco = (BigDecimal) result.get("importo_enasarco");
|
||||
BigDecimal enasarco = ((BigDecimal) result.get("importo_enasarco")).abs();
|
||||
if (!UtilityBigDecimal.isNullOrZero(enasarco)) {
|
||||
|
||||
enasarco = enasarco.divide(testata.getCambioDiviCont()).setScale(5, RoundingMode.HALF_UP);
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
import it.integry.annotations.PostContextConstruct;
|
||||
import it.integry.annotations.PostWebServerConstruct;
|
||||
import it.integry.ems.schedule.new_cron_job.dto.AutomatedOperationTypeEnum;
|
||||
import it.integry.ems.schedule.new_cron_job.dto.AutomatedOperationsWrapper;
|
||||
@@ -92,10 +91,9 @@ public class AutomatedOperationHandlerComponent {
|
||||
} catch (Exception ex) {
|
||||
logger.error("Automated operation: POST-CONSTRUCT", ex);
|
||||
|
||||
if(UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer()) return;
|
||||
if (UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer()) return;
|
||||
|
||||
try {
|
||||
MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(settingsModel.getDefaultProfile());
|
||||
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(settingsModel.getDefaultProfile())) {
|
||||
Azienda azienda = Azienda.getDefaultAzienda(multiDBTransactionManager.getPrimaryConnection());
|
||||
|
||||
mailService.sendSystemWarningLog("[" + azienda.getNomeDitta() + "][" + UtilityServer.getHostName() + "] Operazioni pianificate",
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.annimon.stream.Stream;
|
||||
import it.integry.annotations.PostContextAutowired;
|
||||
import it.integry.annotations.PostWebServerConstruct;
|
||||
import it.integry.ems.schedule.new_cron_job.dto.AutomatedOperationTypeEnum;
|
||||
import it.integry.ems.schedule.new_cron_job.dto.operations.ExportAutomatedOperationDTO;
|
||||
import it.integry.ems.schedule.new_cron_job.dto.operations.ServiceCallAutomatedOperationDTO;
|
||||
import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseAutomatedOperationDTO;
|
||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
@@ -13,11 +12,11 @@ import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
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.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -82,6 +81,7 @@ public class DefaultAutomatedOperationHandlerComponent {
|
||||
if (!jobExists) {
|
||||
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
|
||||
.setMethodName("objectStorageOrphanFilesCleaner")
|
||||
.setMethodType(RequestMethod.POST)
|
||||
.setProfileDb(activeConnection.getProfileName());
|
||||
serviceCallAutomatedOperationDTO
|
||||
.setCronTrigger("0 0 6 * * SUN")
|
||||
@@ -111,6 +111,7 @@ public class DefaultAutomatedOperationHandlerComponent {
|
||||
if (!jobExists) {
|
||||
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
|
||||
.setMethodName("chkAutofattura")
|
||||
.setMethodType(RequestMethod.POST)
|
||||
.setProfileDb(settingsModel.getDefaultProfile());
|
||||
serviceCallAutomatedOperationDTO
|
||||
.setCronTrigger("0 0 09 1/1 * ?")
|
||||
@@ -147,6 +148,7 @@ public class DefaultAutomatedOperationHandlerComponent {
|
||||
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO =
|
||||
new ServiceCallAutomatedOperationDTO()
|
||||
.setMethodName("passaggioAnno")
|
||||
.setMethodType(RequestMethod.POST)
|
||||
.setProfileDb(activeConnection.getProfileName());
|
||||
serviceCallAutomatedOperationDTO
|
||||
.setCronTrigger("00 10 10 * 11-12 *")
|
||||
@@ -243,6 +245,7 @@ public class DefaultAutomatedOperationHandlerComponent {
|
||||
if (!jobExists) {
|
||||
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
|
||||
.setMethodName("exportServerInfoISCC")
|
||||
.setMethodType(RequestMethod.POST)
|
||||
.setProfileDb(settingsModel.getDefaultProfile());
|
||||
serviceCallAutomatedOperationDTO
|
||||
.setCronTrigger("0 0 0/1 1/1 * *")
|
||||
@@ -279,6 +282,7 @@ public class DefaultAutomatedOperationHandlerComponent {
|
||||
if (!jobExists) {
|
||||
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
|
||||
.setMethodName("removeFpxInvioFiles")
|
||||
.setMethodType(RequestMethod.POST)
|
||||
.setProfileDb(profileDb);
|
||||
serviceCallAutomatedOperationDTO
|
||||
.setCronTrigger("0 0 22 * * ?")
|
||||
@@ -306,6 +310,7 @@ public class DefaultAutomatedOperationHandlerComponent {
|
||||
if (!jobExists) {
|
||||
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
|
||||
.setMethodName("chkInvioFE")
|
||||
.setMethodType(RequestMethod.POST)
|
||||
.setProfileDb(settingsModel.getDefaultProfile());
|
||||
serviceCallAutomatedOperationDTO
|
||||
.setCronTrigger("0 0 09 1/1 * ?")
|
||||
|
||||
@@ -485,12 +485,24 @@ public class EmsServices {
|
||||
}
|
||||
}
|
||||
|
||||
public StbFilesAttached uploadStbFilesAttached(@Nullable String idAttach,
|
||||
@Nonnull String filename,
|
||||
@Nonnull byte[] fileContent,
|
||||
@Nullable String descrizione,
|
||||
@Nullable String mimeType,
|
||||
@Nullable MrlPartitaMagAttached mrlPartitaMagAttached,
|
||||
@Nullable Date datetimeAttach) throws Exception {
|
||||
return uploadStbFilesAttached(idAttach, filename, fileContent,descrizione,mimeType, null, mrlPartitaMagAttached, datetimeAttach);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public StbFilesAttached uploadStbFilesAttached(@Nullable String idAttach,
|
||||
@Nonnull String filename,
|
||||
@Nonnull byte[] fileContent,
|
||||
@Nullable String descrizione,
|
||||
@Nullable String mimeType,
|
||||
@Nullable String typeAttach,
|
||||
@Nullable MrlPartitaMagAttached mrlPartitaMagAttached,
|
||||
@Nullable Date datetimeAttach) throws Exception {
|
||||
|
||||
@@ -525,6 +537,7 @@ public class EmsServices {
|
||||
.setDatetimeAttach(datetimeAttach != null ? datetimeAttach : new Date())
|
||||
.setFileSize(new BigDecimal(fileContent.length))
|
||||
.setMimeType(calcMimeType)
|
||||
.setTypeAttach(typeAttach)
|
||||
.setThumbnailContent(thumbContent);
|
||||
stbFilesAttached.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import it.integry.ems.properties.EmsProperties;
|
||||
import it.integry.ems.response.EsitoType;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.exception.ExportException;
|
||||
import it.integry.ems_model.exception.InternalRestCallException;
|
||||
import it.integry.ems_model.utility.UtilityServer;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
@@ -41,6 +42,7 @@ public class HttpRestWrapper {
|
||||
|
||||
@Autowired
|
||||
private EmsProperties properties;
|
||||
|
||||
@Autowired
|
||||
private ResponseJSONObjectMapper jsonObjectMapper;
|
||||
|
||||
@@ -225,9 +227,40 @@ public class HttpRestWrapper {
|
||||
return response;
|
||||
}
|
||||
|
||||
public Object callInternalExport(String profileDb, String username, String type, String format, Entity<?> entity) throws Exception {
|
||||
final String endPoint = String.format("http://localhost:%s/ems-api/", UtilityServer.getLocalServerPort());
|
||||
|
||||
final Client client = ClientBuilder.newClient();
|
||||
final WebTarget resource = client.target(endPoint)
|
||||
.path(EmsRestConstants.PATH_EXPORT);
|
||||
|
||||
Response response = resource
|
||||
.queryParam(CommonConstants.PROFILE_DB, profileDb)
|
||||
.queryParam(EmsRestConstants.TYPE, type)
|
||||
.queryParam(EmsRestConstants.FORMAT, format)
|
||||
.request()
|
||||
//.header("Authorization", "Basic " + auth)
|
||||
.header("username", username)
|
||||
.post(entity);
|
||||
|
||||
int status = response.getStatus();
|
||||
|
||||
if(status != 200)
|
||||
throw new InternalRestCallException(status);
|
||||
|
||||
String stringResponse = response.readEntity(String.class);
|
||||
|
||||
final ServiceRestResponse serviceRestResponse = jsonObjectMapper.readValue(stringResponse, ServiceRestResponse.class);
|
||||
|
||||
if (serviceRestResponse.getEsito() == EsitoType.OK || serviceRestResponse.getEsito() == EsitoType.WARNING) {
|
||||
return serviceRestResponse.getJsonObject();
|
||||
} else {
|
||||
throw new ExportException(serviceRestResponse.getErrorMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public static int callExport(String baseUrl, String profileDb, String username, String password, String type, String format, Entity<?> entity, StringBuilder bodyResponse) {
|
||||
|
||||
String auth = RestUtil.generateAuth(username, password);
|
||||
|
||||
final Client client = ClientBuilder.newClient();
|
||||
final WebTarget resource = client.target(baseUrl)
|
||||
@@ -238,7 +271,7 @@ public class HttpRestWrapper {
|
||||
.queryParam(EmsRestConstants.TYPE, type)
|
||||
.queryParam(EmsRestConstants.FORMAT, format)
|
||||
.request()
|
||||
.header("Authorization", "Basic " + auth)
|
||||
//.header("Authorization", "Basic " + auth)
|
||||
.header("username", username)
|
||||
.header("password", password)
|
||||
.post(entity);
|
||||
|
||||
@@ -1460,7 +1460,12 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
|
||||
if (insertedIdentity < 0)
|
||||
throw new Exception("Impossibile leggere il campo identity anche se è richiesto");
|
||||
|
||||
Field identityField = getEntityHolder().getFieldBySql(getClass().getSimpleName(), identityFieldName);
|
||||
Field identityField = fields.stream()
|
||||
.filter(EntityHierarchy.Field::isIdentity)
|
||||
.findFirst()
|
||||
.orElse(null)
|
||||
.getField();
|
||||
|
||||
identityField.setAccessible(true);
|
||||
identityField.set(this, insertedIdentity);
|
||||
}
|
||||
|
||||
@@ -36,6 +36,9 @@ public class MtbAartLink extends EntityBase {
|
||||
@SqlField(value = "b64_content", nullable = true)
|
||||
private String b64Content;
|
||||
|
||||
@SqlField(value = "id_attach", nullable = true)
|
||||
private String idAttach;
|
||||
|
||||
public MtbAartLink() {
|
||||
super();
|
||||
}
|
||||
@@ -79,4 +82,14 @@ public class MtbAartLink extends EntityBase {
|
||||
public void setB64Content(String b64Content) {
|
||||
this.b64Content = b64Content;
|
||||
}
|
||||
|
||||
public String getIdAttach() {
|
||||
return idAttach;
|
||||
}
|
||||
|
||||
public MtbAartLink setIdAttach(String idAttach) {
|
||||
this.idAttach = idAttach;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
@Table(NtbVariazioniExportLog.ENTITY)
|
||||
@JsonTypeName(NtbVariazioniExportLog.ENTITY)
|
||||
public class NtbVariazioniExportLog extends EntityBase {
|
||||
public NtbVariazioniExportLog() {
|
||||
super();
|
||||
}
|
||||
private static final long serialVersionUID = 1L;
|
||||
public static final String ENTITY = "ntb_variazioni_export_log";
|
||||
@PK
|
||||
@Identity
|
||||
@SqlField(value = "id")
|
||||
private Long id;
|
||||
|
||||
@SqlField(value = "cod_vlis")
|
||||
private String codVlis;
|
||||
|
||||
@SqlField(value = "data_export")
|
||||
private Date dataExport;
|
||||
|
||||
@SqlField(value = "json_string")
|
||||
private String jsonString;
|
||||
|
||||
@SqlField(value = "user_name")
|
||||
private String userName;
|
||||
|
||||
@SqlField(value = "format_file")
|
||||
private String formatFile;
|
||||
@SqlField(value = "xml_file_name")
|
||||
private String xmlFileName;
|
||||
|
||||
@Override
|
||||
public void checkPreSave() throws Exception {}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setId(Long id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlis() {
|
||||
return codVlis;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setCodVlis(String codVlis) {
|
||||
this.codVlis = codVlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataExport() {
|
||||
return dataExport;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setDataExport(Date dataExport) {
|
||||
this.dataExport = dataExport;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getJsonString() {
|
||||
return jsonString;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setJsonString(String jsonString) {
|
||||
this.jsonString = jsonString;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFormatFile() {
|
||||
return formatFile;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setFormatFile(String formatFile) {
|
||||
this.formatFile = formatFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getXmlFileName() {
|
||||
return xmlFileName;
|
||||
}
|
||||
|
||||
public NtbVariazioniExportLog setXmlFileName(String xmlFileName) {
|
||||
this.xmlFileName = xmlFileName;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -6,10 +6,9 @@ import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.annotation.Table;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import org.josql.expressions.BooleanExpression;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import it.integry.ems_model.annotation.FK;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package it.integry.ems_model.exception;
|
||||
|
||||
public class ExportException extends Exception {
|
||||
|
||||
public ExportException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -854,7 +854,7 @@ public class SqlFieldHolder {
|
||||
|
||||
|
||||
public static Object getSqlValueFieldAsObject(Object obj, boolean removeSpace) throws SQLServerException {
|
||||
Object dato = 0;
|
||||
Object dato;
|
||||
|
||||
if (obj != null && obj.getClass().isEnum()) {
|
||||
if (IBaseEnum.class.isAssignableFrom(obj.getClass())) {
|
||||
|
||||
@@ -147,7 +147,7 @@ public class DroolsDataCompleting {
|
||||
}
|
||||
|
||||
String fullPath = getClass().getResource("").toString();
|
||||
String singleElemsOfPath[] = fullPath.split("/");
|
||||
String[] singleElemsOfPath = fullPath.split("/");
|
||||
|
||||
|
||||
String currentFolderName = "";
|
||||
|
||||
@@ -321,7 +321,7 @@ public class UtilityDocx {
|
||||
}
|
||||
|
||||
} else {
|
||||
replacement = textVariables.getOrDefault(variable, "");
|
||||
replacement = UtilityString.isNull(textVariables.getOrDefault(variable, ""), "");
|
||||
matcher.appendReplacement(sb, replacement);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,16 +38,20 @@ public class DataSheetController {
|
||||
@RequestMapping(value = "compileWordFile", method = RequestMethod.GET)
|
||||
public ResponseEntity<byte[]> compileWordFile (HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@RequestParam String codMart) throws Exception {
|
||||
@RequestParam String codMart) {
|
||||
|
||||
AttachmentDTO attachmentDTO = dataSheetServices.compileWordFile(codMart);
|
||||
try{
|
||||
AttachmentDTO attachmentDTO = dataSheetServices.compileWordFile(codMart);
|
||||
|
||||
if (attachmentDTO != null) {
|
||||
return ResponseEntity.ok()
|
||||
.contentType(MediaType.parseMediaType(attachmentDTO.getMimeType()))
|
||||
.contentLength(attachmentDTO.getFileSize())
|
||||
.header("Content-Disposition", "attachment; filename=\"" + attachmentDTO.getFileName() + "\"")
|
||||
.body(attachmentDTO.getFileContent());
|
||||
if (attachmentDTO != null) {
|
||||
return ResponseEntity.ok()
|
||||
.contentType(MediaType.parseMediaType(attachmentDTO.getMimeType()))
|
||||
.contentLength(attachmentDTO.getFileSize())
|
||||
.header("Content-Disposition", "attachment; filename=\"" + attachmentDTO.getFileName() + "\"")
|
||||
.body(attachmentDTO.getFileContent());
|
||||
}
|
||||
} catch (Exception e){
|
||||
return ResponseEntity.status(420).body(e.toString().getBytes());
|
||||
}
|
||||
|
||||
return ResponseEntity.notFound().build();
|
||||
|
||||
@@ -15,10 +15,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.sql.Connection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@@ -67,7 +64,7 @@ public class DataSheetServices {
|
||||
" INNER JOIN stb_files_attached ON stb_files_attached.id_attach = mtb_aart_link.id_attach\n" +
|
||||
"WHERE type_attach = 'ST'\n" +
|
||||
" AND mtb_aart_link.cod_mart = " + UtilityDB.valueToString(codMart) + "\n" +
|
||||
" AND mime_type LIKE '%document'";
|
||||
" AND mime_type NOT LIKE '%image%'";
|
||||
|
||||
List<StbFilesAttached> stbFilesAttacheds = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, StbFilesAttached.class);
|
||||
|
||||
@@ -100,14 +97,22 @@ public class DataSheetServices {
|
||||
|
||||
HashMap<String, Object> mtb_aart = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
sql = Query.format(
|
||||
"SELECT descrizione_estesa AS descrizione_estesa_eng from mtb_aart_desc WHERE cod_mart = %s and cod_lingua = 'ENG'",
|
||||
codMart
|
||||
List<String> codLingua =
|
||||
allVariables.stream()
|
||||
.filter(x -> x.startsWith("descrizione_"))
|
||||
.map(x -> x.substring(x.indexOf("_") + 1))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
sql = String.format(
|
||||
"SELECT 'descrizione_' + cod_lingua as cod_var, IsNull(descrizione_estesa, descrizione) as descrizione from mtb_aart_desc WHERE cod_mart = %s and cod_lingua in (%s)",
|
||||
UtilityDB.valueToString(codMart),
|
||||
UtilityDB.listValueToString( codLingua )
|
||||
);
|
||||
|
||||
String descrizioneEng = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
List<HashMap<String, Object>> descrizioni = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
mtb_aart.put("descrizione_estesa_eng", descrizioneEng);
|
||||
if (!descrizioni.isEmpty())
|
||||
hashMaps.addAll(descrizioni);
|
||||
|
||||
HashMap<String, String> resultMap = new HashMap<>();
|
||||
|
||||
@@ -117,7 +122,7 @@ public class DataSheetServices {
|
||||
}
|
||||
|
||||
Optional<HashMap<String, Object>> optionalMap = hashMaps.stream()
|
||||
.filter(map -> map.get("cod_var").equals(variable))
|
||||
.filter(map -> UtilityHashMap.<String>getValueIfExists(map, "cod_var").equalsIgnoreCase(variable.endsWith("E") ? variable.substring(0, variable.length() - 1) : variable))
|
||||
.findFirst();
|
||||
|
||||
optionalMap.ifPresent(map -> {
|
||||
@@ -145,24 +150,32 @@ public class DataSheetServices {
|
||||
|
||||
List<StbFilesAttached> stbFilesAttacheds = UtilityDB.executeSimpleQueryDTO(conn, sql, StbFilesAttached.class);
|
||||
|
||||
if (!UtilityList.isNullOrEmpty(stbFilesAttacheds)) {
|
||||
Map<String, byte[]> fileBytesMap = stbFilesAttacheds.stream()
|
||||
.collect(Collectors.toMap(
|
||||
StbFilesAttached::getFileName,
|
||||
stbFilesAttached -> {
|
||||
try {
|
||||
return minIOService.downloadObject(stbFilesAttached.getRefUuid(), conn);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
));
|
||||
if (!UtilityList.isNullOrEmpty(stbFilesAttacheds) && !UtilityList.isNullOrEmpty(allImgVariables)) {
|
||||
Map<String, Map<String, Object>> fileBytesMap = new HashMap<>();
|
||||
int counter = 1;
|
||||
|
||||
allImgVariables.stream()
|
||||
.filter(imageData -> fileBytesMap.containsKey(imageData.getFileName()))
|
||||
for (StbFilesAttached stbFilesAttached : stbFilesAttacheds) {
|
||||
String key = String.format("%02d", counter);
|
||||
|
||||
byte[] fileData = minIOService.downloadObject(stbFilesAttached.getRefUuid(), conn);
|
||||
Map<String, Object> innerMap = new HashMap<>();
|
||||
innerMap.put("fileName", stbFilesAttached.getFileName());
|
||||
innerMap.put("byte", fileData);
|
||||
|
||||
fileBytesMap.put(key, innerMap);
|
||||
|
||||
counter++;
|
||||
}
|
||||
|
||||
|
||||
allImgVariables
|
||||
.forEach(imageData -> {
|
||||
imageData.setBytes(fileBytesMap.get(imageData.getFileName()));
|
||||
resultMap.put(imageData.getFileName(), imageData);
|
||||
String key = imageData.getFileName();
|
||||
|
||||
imageData.setBytes((byte[]) fileBytesMap.get(imageData.getFileName()).get("byte"));
|
||||
imageData.setFileName((String) fileBytesMap.get(imageData.getFileName()).get("fileName"));
|
||||
|
||||
resultMap.put(key, imageData);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ public class ICONImportService {
|
||||
return respList;
|
||||
}
|
||||
|
||||
public List<MtbColt> returnMissionePicking(String type, String format, List<AnomalieDTO> anomalies) throws Exception {
|
||||
public List<MtbColt> returnMissionePicking(String type, String format, List<AnomalieDTO> anomalies) throws Exception {
|
||||
String serColloMagAuto = null, gestioneMagMaga = null,filtroOrdini = null, codAnag = null, codVdes = null, codVlis = null, codMdep = null;
|
||||
Date dataColloMagAuto = null, dataOrd = null;
|
||||
Integer numColloMagAuto = null, numOrd = null;
|
||||
|
||||
@@ -107,7 +107,7 @@ public class ProductServices {
|
||||
ResultSetMapper rsArt = new ResultSetMapper();
|
||||
List<MtbAart> articoli = rsArt.mapQuerySetToList(dsArticoli.getConnection(), sql, MtbAart.class, OperationType.SELECT_OBJECT);
|
||||
|
||||
if (articoli == null || articoli.size() == 0) {
|
||||
if (articoli == null || articoli.isEmpty()) {
|
||||
throw new Exception("Nessun articolo trovato");
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ public class CaricoProdottoFinitoDTO {
|
||||
private String codMart;
|
||||
private BigDecimal qtaCollo;
|
||||
private Date dataOrd;
|
||||
private Date dataCollo;
|
||||
private String gestione;
|
||||
private int numOrd;
|
||||
private int rigaOrd;
|
||||
@@ -169,6 +170,7 @@ public class CaricoProdottoFinitoDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public boolean isAggiornaDettagliOrdine() {
|
||||
return aggiornaDettagliOrdine;
|
||||
}
|
||||
@@ -195,4 +197,13 @@ public class CaricoProdottoFinitoDTO {
|
||||
this.codVdes = codVdes;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataCollo() {
|
||||
return dataCollo;
|
||||
}
|
||||
|
||||
public CaricoProdottoFinitoDTO setDataCollo(Date dataCollo) {
|
||||
this.dataCollo = dataCollo;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -980,6 +980,9 @@ public class MesProductionServiceV2 {
|
||||
.setCodVdes(ordineLav.getCodVdes())
|
||||
.setPreparatoDa(dto.getPreparatoDa())
|
||||
.setNumOrd(dto.getNumOrd());
|
||||
if (dto.getDataCollo()!= null){
|
||||
mtbColtToInsert.setDataCollo(UtilityLocalDate.localDateFromDate(dto.getDataCollo()));
|
||||
}
|
||||
mtbColtToInsert.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
}
|
||||
|
||||
|
||||
@@ -121,6 +121,7 @@ public class OrtoFruttaProductionService {
|
||||
.setCodMdep(dto.getCodMdepProd())
|
||||
.setCodJfas(dto.getCodJfas())
|
||||
.setDataOrd(UtilityLocalDate.localDateToDate(dto.getDataOrd()))
|
||||
.setDataCollo(UtilityLocalDate.localDateToDate(dto.getDataCollo()))
|
||||
.setNumOrd(dto.getNumOrd())
|
||||
.setGestione(dto.getGestione())
|
||||
.setQtaCollo(dto.getQtaCol());
|
||||
@@ -224,9 +225,8 @@ public class OrtoFruttaProductionService {
|
||||
.setPesoLordoKg(dto.getPesoLordoCamion())
|
||||
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
if (!UtilityBigDecimal.isNullOrZero(dto.getNumCnf()))
|
||||
row.setNumCnf(dto.getNumCnf());
|
||||
else
|
||||
row.setQtaCnf(dto.getQtaCnf());
|
||||
row.setNumCnf(dto.getNumCnf())
|
||||
.setQtaCnf(dto.getQtaCol().divide(dto.getNumCnf(),2, RoundingMode.HALF_UP));
|
||||
|
||||
sql = "SELECT art_tcol.* from mtb_aart " +
|
||||
" inner join mtb_tcol on mtb_tcol.cod_tcol = mtb_aart.cod_tcol_UI " +
|
||||
@@ -404,7 +404,7 @@ public class OrtoFruttaProductionService {
|
||||
.setDataDoc(UtilityLocalDate.localDateToDate(dto.getDataDocProvv()))
|
||||
.setNumDoc(dto.getNumDocProvv())
|
||||
.setCodAnag(dto.getCodAnag())
|
||||
.setSerDoc(serDoc)
|
||||
.setSerDoc(UtilityString.isNull(dto.getSerDocProvv(),serDoc))
|
||||
.setDataOrd(dataOrd)
|
||||
.setNumOrd(dto.getNumOrd())
|
||||
.setCodProd(dto.getCodMart())
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.controller;
|
||||
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvService;
|
||||
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.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
@RestController
|
||||
@Scope(value = "request")
|
||||
@RequestMapping("variazioni-negozi")
|
||||
|
||||
public class VariazioniPvController {
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private VariazioniPvService variazioniPvService;
|
||||
|
||||
@Autowired
|
||||
private RequestDataDTO requestData;
|
||||
|
||||
|
||||
@RequestMapping(value = "/", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse variazioniPv(
|
||||
HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@RequestBody VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(variazioniPvService.calcVariazionePrezzoPV(variazioniPvInputDTO));
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/export/{codVlis}", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse exportVariazioniPerListino(
|
||||
HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@PathVariable String codVlis,
|
||||
@RequestBody(required = false) VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
|
||||
variazioniPvService.exportByCodVlis(codVlis, variazioniPvInputDTO);
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/export", method = RequestMethod.POST)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse exportVariazioni(
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@RequestParam(required = false) String tipoReport,
|
||||
@RequestBody(required = false) VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
|
||||
if ( !requestData.isValidUsername()){
|
||||
throw new UsernameNotFoundException(requestData.getUsername());
|
||||
}
|
||||
|
||||
if (variazioniPvInputDTO == null || UtilityString.isNullOrEmpty(variazioniPvInputDTO.getUserName())){
|
||||
if (variazioniPvInputDTO == null )
|
||||
variazioniPvInputDTO = new VariazioniPvInputDTO();
|
||||
variazioniPvInputDTO.setUserName(requestData.getUsername());
|
||||
}
|
||||
variazioniPvService.exportByTipoReport(tipoReport, variazioniPvInputDTO);
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class VariazioniDTO {
|
||||
@JsonProperty("data_variazione")
|
||||
private Date dataVariazione;
|
||||
@JsonProperty("cod_vlis")
|
||||
private String codVlis;
|
||||
@JsonProperty("descrizione")
|
||||
private String descrizione;
|
||||
@JsonProperty("flag_list_iva_inclusa")
|
||||
private String flagListIvaInclusa;
|
||||
@JsonProperty("cod_mdep")
|
||||
private String codMdep;
|
||||
@JsonProperty("elenco_casse")
|
||||
private String elencoCasse;
|
||||
|
||||
public Date getDataVariazione() {
|
||||
return dataVariazione;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataVariazione(Date dataVariazione) {
|
||||
this.dataVariazione = dataVariazione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlis() {
|
||||
return codVlis;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodVlis(String codVlis) {
|
||||
this.codVlis = codVlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagListIvaInclusa() {
|
||||
return flagListIvaInclusa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagListIvaInclusa(String flagListIvaInclusa) {
|
||||
this.flagListIvaInclusa = flagListIvaInclusa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMdep(String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getElencoCasse() {
|
||||
return elencoCasse;
|
||||
}
|
||||
|
||||
public VariazioniDTO setElencoCasse(String elencoCasse) {
|
||||
this.elencoCasse = elencoCasse;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof VariazioniDTO)) return false;
|
||||
VariazioniDTO that = (VariazioniDTO) o;
|
||||
return Objects.equals(getDataVariazione(), that.getDataVariazione()) && Objects.equals(getCodVlis(), that.getCodVlis()) && Objects.equals(getDescrizione(), that.getDescrizione()) && Objects.equals(getFlagListIvaInclusa(), that.getFlagListIvaInclusa()) && Objects.equals(getCodMdep(), that.getCodMdep()) && Objects.equals(getElencoCasse(), that.getElencoCasse());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(getDataVariazione(), getCodVlis(), getDescrizione(), getFlagListIvaInclusa(), getCodMdep(), getElencoCasse());
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,26 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.dto.Variazioni;
|
||||
package it.integry.ems.retail.ReportVariazioni.dto;
|
||||
|
||||
|
||||
import it.integry.ems_model.annotation.MapToTable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class VariazioniDTO {
|
||||
public class VariazioniDettaglioDTO {
|
||||
@MapToTable("data_variazione")
|
||||
private Date dataVariazione;
|
||||
@MapToTable("cod_vlis")
|
||||
private String codVlis;
|
||||
@MapToTable("descrizione")
|
||||
private String descrizione;
|
||||
@MapToTable("descr_cassa")
|
||||
private String descrCassa;
|
||||
@MapToTable("flag_list_iva_inclusa")
|
||||
private String flagListIvaInclusa;
|
||||
@MapToTable("cod_mdep")
|
||||
private String codMdep;
|
||||
@MapToTable("elenco_casse")
|
||||
private String elencoCasse;
|
||||
@MapToTable (value = "annotazioni_art")
|
||||
private String annotazioniArt;
|
||||
@MapToTable (value = "articolo_composto")
|
||||
@@ -18,8 +33,6 @@ public class VariazioniDTO {
|
||||
private String codBarreImb;
|
||||
@MapToTable (value = "cod_mart")
|
||||
private String codMart;
|
||||
@MapToTable (value = "cod_mdep")
|
||||
private String codMdep;
|
||||
@MapToTable (value = "cod_mgrp")
|
||||
private String codMgrp;
|
||||
@MapToTable (value = "cod_msfa")
|
||||
@@ -28,10 +41,8 @@ public class VariazioniDTO {
|
||||
private String codMsgr;
|
||||
@MapToTable (value = "cod_promo")
|
||||
private String codPromo;
|
||||
@MapToTable (value = "cod_vlis")
|
||||
private String codVlis;
|
||||
@MapToTable (value = "colli_pedana")
|
||||
private String colliPedana;
|
||||
private BigDecimal colliPedana;
|
||||
@MapToTable (value = "data_fine")
|
||||
private Date dataFine;
|
||||
@MapToTable (value = "data_iniz")
|
||||
@@ -68,8 +79,6 @@ public class VariazioniDTO {
|
||||
private String flagCalcPrzAcq;
|
||||
@MapToTable (value = "flag_esponi_prz")
|
||||
private String flagEsponiPrz;
|
||||
@MapToTable (value = "flag_list_iva_inclusa")
|
||||
private String flagListIvaInclusa;
|
||||
@MapToTable (value = "flag_stato")
|
||||
private String flagStato;
|
||||
@MapToTable (value = "flag_tipo_promo")
|
||||
@@ -138,12 +147,55 @@ public class VariazioniDTO {
|
||||
private String untMis2;
|
||||
@MapToTable (value = "unt_mis3")
|
||||
private String untMis3;
|
||||
@MapToTable (value = "libero1")
|
||||
private String libero1;
|
||||
@MapToTable (value = "libero2")
|
||||
private String libero2;
|
||||
@MapToTable (value = "posizione_articolo")
|
||||
private String posizioneArticolo;
|
||||
@MapToTable (value = "intercode_xml_variazioni")
|
||||
private String intercodeXmlVariazioni;
|
||||
public Date getDataVariazione() {
|
||||
return dataVariazione;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setDataVariazione(Date dataVariazione) {
|
||||
this.dataVariazione = dataVariazione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrCassa() {
|
||||
return descrCassa;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setDescrCassa(String descrCassa) {
|
||||
this.descrCassa = descrCassa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getElencoCasse() {
|
||||
return elencoCasse;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setElencoCasse(String elencoCasse) {
|
||||
this.elencoCasse = elencoCasse;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getAnnotazioniArt() {
|
||||
return annotazioniArt;
|
||||
}
|
||||
|
||||
public VariazioniDTO setAnnotazioniArt(String annotazioniArt) {
|
||||
public VariazioniDettaglioDTO setAnnotazioniArt(String annotazioniArt) {
|
||||
this.annotazioniArt = annotazioniArt;
|
||||
return this;
|
||||
}
|
||||
@@ -152,7 +204,7 @@ public class VariazioniDTO {
|
||||
return articoloComposto;
|
||||
}
|
||||
|
||||
public VariazioniDTO setArticoloComposto(String articoloComposto) {
|
||||
public VariazioniDettaglioDTO setArticoloComposto(String articoloComposto) {
|
||||
this.articoloComposto = articoloComposto;
|
||||
return this;
|
||||
}
|
||||
@@ -161,7 +213,7 @@ public class VariazioniDTO {
|
||||
return codAliq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodAliq(String codAliq) {
|
||||
public VariazioniDettaglioDTO setCodAliq(String codAliq) {
|
||||
this.codAliq = codAliq;
|
||||
return this;
|
||||
}
|
||||
@@ -170,7 +222,7 @@ public class VariazioniDTO {
|
||||
return codBarre;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodBarre(String codBarre) {
|
||||
public VariazioniDettaglioDTO setCodBarre(String codBarre) {
|
||||
this.codBarre = codBarre;
|
||||
return this;
|
||||
}
|
||||
@@ -179,7 +231,7 @@ public class VariazioniDTO {
|
||||
return codBarreImb;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodBarreImb(String codBarreImb) {
|
||||
public VariazioniDettaglioDTO setCodBarreImb(String codBarreImb) {
|
||||
this.codBarreImb = codBarreImb;
|
||||
return this;
|
||||
}
|
||||
@@ -188,7 +240,7 @@ public class VariazioniDTO {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMart(String codMart) {
|
||||
public VariazioniDettaglioDTO setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
@@ -197,7 +249,7 @@ public class VariazioniDTO {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMdep(String codMdep) {
|
||||
public VariazioniDettaglioDTO setCodMdep(String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
return this;
|
||||
}
|
||||
@@ -206,7 +258,7 @@ public class VariazioniDTO {
|
||||
return codMgrp;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMgrp(String codMgrp) {
|
||||
public VariazioniDettaglioDTO setCodMgrp(String codMgrp) {
|
||||
this.codMgrp = codMgrp;
|
||||
return this;
|
||||
}
|
||||
@@ -215,7 +267,7 @@ public class VariazioniDTO {
|
||||
return codMsfa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMsfa(String codMsfa) {
|
||||
public VariazioniDettaglioDTO setCodMsfa(String codMsfa) {
|
||||
this.codMsfa = codMsfa;
|
||||
return this;
|
||||
}
|
||||
@@ -224,7 +276,7 @@ public class VariazioniDTO {
|
||||
return codMsgr;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodMsgr(String codMsgr) {
|
||||
public VariazioniDettaglioDTO setCodMsgr(String codMsgr) {
|
||||
this.codMsgr = codMsgr;
|
||||
return this;
|
||||
}
|
||||
@@ -233,7 +285,7 @@ public class VariazioniDTO {
|
||||
return codPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodPromo(String codPromo) {
|
||||
public VariazioniDettaglioDTO setCodPromo(String codPromo) {
|
||||
this.codPromo = codPromo;
|
||||
return this;
|
||||
}
|
||||
@@ -242,16 +294,16 @@ public class VariazioniDTO {
|
||||
return codVlis;
|
||||
}
|
||||
|
||||
public VariazioniDTO setCodVlis(String codVlis) {
|
||||
public VariazioniDettaglioDTO setCodVlis(String codVlis) {
|
||||
this.codVlis = codVlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getColliPedana() {
|
||||
public BigDecimal getColliPedana() {
|
||||
return colliPedana;
|
||||
}
|
||||
|
||||
public VariazioniDTO setColliPedana(String colliPedana) {
|
||||
public VariazioniDettaglioDTO setColliPedana(BigDecimal colliPedana) {
|
||||
this.colliPedana = colliPedana;
|
||||
return this;
|
||||
}
|
||||
@@ -260,7 +312,7 @@ public class VariazioniDTO {
|
||||
return dataFine;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataFine(Date dataFine) {
|
||||
public VariazioniDettaglioDTO setDataFine(Date dataFine) {
|
||||
this.dataFine = dataFine;
|
||||
return this;
|
||||
}
|
||||
@@ -269,7 +321,7 @@ public class VariazioniDTO {
|
||||
return dataIniz;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataIniz(Date dataIniz) {
|
||||
public VariazioniDettaglioDTO setDataIniz(Date dataIniz) {
|
||||
this.dataIniz = dataIniz;
|
||||
return this;
|
||||
}
|
||||
@@ -278,7 +330,7 @@ public class VariazioniDTO {
|
||||
return dataInizPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataInizPromo(Date dataInizPromo) {
|
||||
public VariazioniDettaglioDTO setDataInizPromo(Date dataInizPromo) {
|
||||
this.dataInizPromo = dataInizPromo;
|
||||
return this;
|
||||
}
|
||||
@@ -287,7 +339,7 @@ public class VariazioniDTO {
|
||||
return dataUltVar;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDataUltVar(Date dataUltVar) {
|
||||
public VariazioniDettaglioDTO setDataUltVar(Date dataUltVar) {
|
||||
this.dataUltVar = dataUltVar;
|
||||
return this;
|
||||
}
|
||||
@@ -296,7 +348,7 @@ public class VariazioniDTO {
|
||||
return descrArt;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrArt(String descrArt) {
|
||||
public VariazioniDettaglioDTO setDescrArt(String descrArt) {
|
||||
this.descrArt = descrArt;
|
||||
return this;
|
||||
}
|
||||
@@ -305,7 +357,7 @@ public class VariazioniDTO {
|
||||
return descrArtEqui;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrArtEqui(String descrArtEqui) {
|
||||
public VariazioniDettaglioDTO setDescrArtEqui(String descrArtEqui) {
|
||||
this.descrArtEqui = descrArtEqui;
|
||||
return this;
|
||||
}
|
||||
@@ -314,7 +366,7 @@ public class VariazioniDTO {
|
||||
return descrGrup;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrGrup(String descrGrup) {
|
||||
public VariazioniDettaglioDTO setDescrGrup(String descrGrup) {
|
||||
this.descrGrup = descrGrup;
|
||||
return this;
|
||||
}
|
||||
@@ -323,7 +375,7 @@ public class VariazioniDTO {
|
||||
return descrLisv;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrLisv(String descrLisv) {
|
||||
public VariazioniDettaglioDTO setDescrLisv(String descrLisv) {
|
||||
this.descrLisv = descrLisv;
|
||||
return this;
|
||||
}
|
||||
@@ -332,7 +384,7 @@ public class VariazioniDTO {
|
||||
return descrMsfa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrMsfa(String descrMsfa) {
|
||||
public VariazioniDettaglioDTO setDescrMsfa(String descrMsfa) {
|
||||
this.descrMsfa = descrMsfa;
|
||||
return this;
|
||||
}
|
||||
@@ -341,7 +393,7 @@ public class VariazioniDTO {
|
||||
return descrPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrPromo(String descrPromo) {
|
||||
public VariazioniDettaglioDTO setDescrPromo(String descrPromo) {
|
||||
this.descrPromo = descrPromo;
|
||||
return this;
|
||||
}
|
||||
@@ -350,7 +402,7 @@ public class VariazioniDTO {
|
||||
return descrSgrp;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrSgrp(String descrSgrp) {
|
||||
public VariazioniDettaglioDTO setDescrSgrp(String descrSgrp) {
|
||||
this.descrSgrp = descrSgrp;
|
||||
return this;
|
||||
}
|
||||
@@ -359,7 +411,7 @@ public class VariazioniDTO {
|
||||
return descrizioneEstesa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setDescrizioneEstesa(String descrizioneEstesa) {
|
||||
public VariazioniDettaglioDTO setDescrizioneEstesa(String descrizioneEstesa) {
|
||||
this.descrizioneEstesa = descrizioneEstesa;
|
||||
return this;
|
||||
}
|
||||
@@ -368,7 +420,7 @@ public class VariazioniDTO {
|
||||
return esposizioneComp;
|
||||
}
|
||||
|
||||
public VariazioniDTO setEsposizioneComp(String esposizioneComp) {
|
||||
public VariazioniDettaglioDTO setEsposizioneComp(String esposizioneComp) {
|
||||
this.esposizioneComp = esposizioneComp;
|
||||
return this;
|
||||
}
|
||||
@@ -377,7 +429,7 @@ public class VariazioniDTO {
|
||||
return esposizioneCompAcq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setEsposizioneCompAcq(String esposizioneCompAcq) {
|
||||
public VariazioniDettaglioDTO setEsposizioneCompAcq(String esposizioneCompAcq) {
|
||||
this.esposizioneCompAcq = esposizioneCompAcq;
|
||||
return this;
|
||||
}
|
||||
@@ -386,7 +438,7 @@ public class VariazioniDTO {
|
||||
return finePromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFinePromo(String finePromo) {
|
||||
public VariazioniDettaglioDTO setFinePromo(String finePromo) {
|
||||
this.finePromo = finePromo;
|
||||
return this;
|
||||
}
|
||||
@@ -395,7 +447,7 @@ public class VariazioniDTO {
|
||||
return flagCalcPrz;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagCalcPrz(String flagCalcPrz) {
|
||||
public VariazioniDettaglioDTO setFlagCalcPrz(String flagCalcPrz) {
|
||||
this.flagCalcPrz = flagCalcPrz;
|
||||
return this;
|
||||
}
|
||||
@@ -404,7 +456,7 @@ public class VariazioniDTO {
|
||||
return flagCalcPrzAcq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagCalcPrzAcq(String flagCalcPrzAcq) {
|
||||
public VariazioniDettaglioDTO setFlagCalcPrzAcq(String flagCalcPrzAcq) {
|
||||
this.flagCalcPrzAcq = flagCalcPrzAcq;
|
||||
return this;
|
||||
}
|
||||
@@ -413,7 +465,7 @@ public class VariazioniDTO {
|
||||
return flagEsponiPrz;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagEsponiPrz(String flagEsponiPrz) {
|
||||
public VariazioniDettaglioDTO setFlagEsponiPrz(String flagEsponiPrz) {
|
||||
this.flagEsponiPrz = flagEsponiPrz;
|
||||
return this;
|
||||
}
|
||||
@@ -422,7 +474,7 @@ public class VariazioniDTO {
|
||||
return flagListIvaInclusa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagListIvaInclusa(String flagListIvaInclusa) {
|
||||
public VariazioniDettaglioDTO setFlagListIvaInclusa(String flagListIvaInclusa) {
|
||||
this.flagListIvaInclusa = flagListIvaInclusa;
|
||||
return this;
|
||||
}
|
||||
@@ -431,7 +483,7 @@ public class VariazioniDTO {
|
||||
return flagStato;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagStato(String flagStato) {
|
||||
public VariazioniDettaglioDTO setFlagStato(String flagStato) {
|
||||
this.flagStato = flagStato;
|
||||
return this;
|
||||
}
|
||||
@@ -440,7 +492,7 @@ public class VariazioniDTO {
|
||||
return flagTipoPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagTipoPromo(String flagTipoPromo) {
|
||||
public VariazioniDettaglioDTO setFlagTipoPromo(String flagTipoPromo) {
|
||||
this.flagTipoPromo = flagTipoPromo;
|
||||
return this;
|
||||
}
|
||||
@@ -449,7 +501,7 @@ public class VariazioniDTO {
|
||||
return flagTracciabilita;
|
||||
}
|
||||
|
||||
public VariazioniDTO setFlagTracciabilita(String flagTracciabilita) {
|
||||
public VariazioniDettaglioDTO setFlagTracciabilita(String flagTracciabilita) {
|
||||
this.flagTracciabilita = flagTracciabilita;
|
||||
return this;
|
||||
}
|
||||
@@ -458,7 +510,7 @@ public class VariazioniDTO {
|
||||
return ggScadPartita;
|
||||
}
|
||||
|
||||
public VariazioniDTO setGgScadPartita(Integer ggScadPartita) {
|
||||
public VariazioniDettaglioDTO setGgScadPartita(Integer ggScadPartita) {
|
||||
this.ggScadPartita = ggScadPartita;
|
||||
return this;
|
||||
}
|
||||
@@ -467,7 +519,7 @@ public class VariazioniDTO {
|
||||
return idArtEqui;
|
||||
}
|
||||
|
||||
public VariazioniDTO setIdArtEqui(String idArtEqui) {
|
||||
public VariazioniDettaglioDTO setIdArtEqui(String idArtEqui) {
|
||||
this.idArtEqui = idArtEqui;
|
||||
return this;
|
||||
}
|
||||
@@ -476,7 +528,7 @@ public class VariazioniDTO {
|
||||
return idPromo;
|
||||
}
|
||||
|
||||
public VariazioniDTO setIdPromo(String idPromo) {
|
||||
public VariazioniDettaglioDTO setIdPromo(String idPromo) {
|
||||
this.idPromo = idPromo;
|
||||
return this;
|
||||
}
|
||||
@@ -485,7 +537,7 @@ public class VariazioniDTO {
|
||||
return ingredienti;
|
||||
}
|
||||
|
||||
public VariazioniDTO setIngredienti(String ingredienti) {
|
||||
public VariazioniDettaglioDTO setIngredienti(String ingredienti) {
|
||||
this.ingredienti = ingredienti;
|
||||
return this;
|
||||
}
|
||||
@@ -494,7 +546,7 @@ public class VariazioniDTO {
|
||||
return percAliq;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercAliq(BigDecimal percAliq) {
|
||||
public VariazioniDettaglioDTO setPercAliq(BigDecimal percAliq) {
|
||||
this.percAliq = percAliq;
|
||||
return this;
|
||||
}
|
||||
@@ -503,7 +555,7 @@ public class VariazioniDTO {
|
||||
return percSco1;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco1(BigDecimal percSco1) {
|
||||
public VariazioniDettaglioDTO setPercSco1(BigDecimal percSco1) {
|
||||
this.percSco1 = percSco1;
|
||||
return this;
|
||||
}
|
||||
@@ -512,7 +564,7 @@ public class VariazioniDTO {
|
||||
return percSco2;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco2(BigDecimal percSco2) {
|
||||
public VariazioniDettaglioDTO setPercSco2(BigDecimal percSco2) {
|
||||
this.percSco2 = percSco2;
|
||||
return this;
|
||||
}
|
||||
@@ -521,7 +573,7 @@ public class VariazioniDTO {
|
||||
return percSco3;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco3(BigDecimal percSco3) {
|
||||
public VariazioniDettaglioDTO setPercSco3(BigDecimal percSco3) {
|
||||
this.percSco3 = percSco3;
|
||||
return this;
|
||||
}
|
||||
@@ -530,7 +582,7 @@ public class VariazioniDTO {
|
||||
return percSco4;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSco4(BigDecimal percSco4) {
|
||||
public VariazioniDettaglioDTO setPercSco4(BigDecimal percSco4) {
|
||||
this.percSco4 = percSco4;
|
||||
return this;
|
||||
}
|
||||
@@ -539,7 +591,7 @@ public class VariazioniDTO {
|
||||
return percSfrido;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPercSfrido(BigDecimal percSfrido) {
|
||||
public VariazioniDettaglioDTO setPercSfrido(BigDecimal percSfrido) {
|
||||
this.percSfrido = percSfrido;
|
||||
return this;
|
||||
}
|
||||
@@ -548,7 +600,7 @@ public class VariazioniDTO {
|
||||
return pesoKg;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPesoKg(BigDecimal pesoKg) {
|
||||
public VariazioniDettaglioDTO setPesoKg(BigDecimal pesoKg) {
|
||||
this.pesoKg = pesoKg;
|
||||
return this;
|
||||
}
|
||||
@@ -557,7 +609,7 @@ public class VariazioniDTO {
|
||||
return plu;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPlu(String plu) {
|
||||
public VariazioniDettaglioDTO setPlu(String plu) {
|
||||
this.plu = plu;
|
||||
return this;
|
||||
}
|
||||
@@ -566,7 +618,7 @@ public class VariazioniDTO {
|
||||
return posizione;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPosizione(String posizione) {
|
||||
public VariazioniDettaglioDTO setPosizione(String posizione) {
|
||||
this.posizione = posizione;
|
||||
return this;
|
||||
}
|
||||
@@ -575,7 +627,7 @@ public class VariazioniDTO {
|
||||
return prezzoPieno;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrezzoPieno(BigDecimal prezzoPieno) {
|
||||
public VariazioniDettaglioDTO setPrezzoPieno(BigDecimal prezzoPieno) {
|
||||
this.prezzoPieno = prezzoPieno;
|
||||
return this;
|
||||
}
|
||||
@@ -584,7 +636,7 @@ public class VariazioniDTO {
|
||||
return przBase;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzBase(BigDecimal przBase) {
|
||||
public VariazioniDettaglioDTO setPrzBase(BigDecimal przBase) {
|
||||
this.przBase = przBase;
|
||||
return this;
|
||||
}
|
||||
@@ -593,7 +645,7 @@ public class VariazioniDTO {
|
||||
return przPienoIva;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzPienoIva(BigDecimal przPienoIva) {
|
||||
public VariazioniDettaglioDTO setPrzPienoIva(BigDecimal przPienoIva) {
|
||||
this.przPienoIva = przPienoIva;
|
||||
return this;
|
||||
}
|
||||
@@ -602,7 +654,7 @@ public class VariazioniDTO {
|
||||
return przVend;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzVend(BigDecimal przVend) {
|
||||
public VariazioniDettaglioDTO setPrzVend(BigDecimal przVend) {
|
||||
this.przVend = przVend;
|
||||
return this;
|
||||
}
|
||||
@@ -611,7 +663,7 @@ public class VariazioniDTO {
|
||||
return przVendIva;
|
||||
}
|
||||
|
||||
public VariazioniDTO setPrzVendIva(BigDecimal przVendIva) {
|
||||
public VariazioniDettaglioDTO setPrzVendIva(BigDecimal przVendIva) {
|
||||
this.przVendIva = przVendIva;
|
||||
return this;
|
||||
}
|
||||
@@ -620,7 +672,7 @@ public class VariazioniDTO {
|
||||
return qtaCnf;
|
||||
}
|
||||
|
||||
public VariazioniDTO setQtaCnf(BigDecimal qtaCnf) {
|
||||
public VariazioniDettaglioDTO setQtaCnf(BigDecimal qtaCnf) {
|
||||
this.qtaCnf = qtaCnf;
|
||||
return this;
|
||||
}
|
||||
@@ -629,7 +681,7 @@ public class VariazioniDTO {
|
||||
return rapConv;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRapConv(BigDecimal rapConv) {
|
||||
public VariazioniDettaglioDTO setRapConv(BigDecimal rapConv) {
|
||||
this.rapConv = rapConv;
|
||||
return this;
|
||||
}
|
||||
@@ -638,7 +690,7 @@ public class VariazioniDTO {
|
||||
return rapConv2;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRapConv2(BigDecimal rapConv2) {
|
||||
public VariazioniDettaglioDTO setRapConv2(BigDecimal rapConv2) {
|
||||
this.rapConv2 = rapConv2;
|
||||
return this;
|
||||
}
|
||||
@@ -647,7 +699,7 @@ public class VariazioniDTO {
|
||||
return rapConv3;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRapConv3(BigDecimal rapConv3) {
|
||||
public VariazioniDettaglioDTO setRapConv3(BigDecimal rapConv3) {
|
||||
this.rapConv3 = rapConv3;
|
||||
return this;
|
||||
}
|
||||
@@ -656,7 +708,7 @@ public class VariazioniDTO {
|
||||
return repartoCassa;
|
||||
}
|
||||
|
||||
public VariazioniDTO setRepartoCassa(String repartoCassa) {
|
||||
public VariazioniDettaglioDTO setRepartoCassa(String repartoCassa) {
|
||||
this.repartoCassa = repartoCassa;
|
||||
return this;
|
||||
}
|
||||
@@ -665,7 +717,7 @@ public class VariazioniDTO {
|
||||
return taraKg;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTaraKg(BigDecimal taraKg) {
|
||||
public VariazioniDettaglioDTO setTaraKg(BigDecimal taraKg) {
|
||||
this.taraKg = taraKg;
|
||||
return this;
|
||||
}
|
||||
@@ -674,7 +726,7 @@ public class VariazioniDTO {
|
||||
return tipoCodice;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTipoCodice(String tipoCodice) {
|
||||
public VariazioniDettaglioDTO setTipoCodice(String tipoCodice) {
|
||||
this.tipoCodice = tipoCodice;
|
||||
return this;
|
||||
}
|
||||
@@ -683,7 +735,7 @@ public class VariazioniDTO {
|
||||
return tipoVariazione;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTipoVariazione(String tipoVariazione) {
|
||||
public VariazioniDettaglioDTO setTipoVariazione(String tipoVariazione) {
|
||||
this.tipoVariazione = tipoVariazione;
|
||||
return this;
|
||||
}
|
||||
@@ -692,7 +744,7 @@ public class VariazioniDTO {
|
||||
return tipoVariazioneLisv;
|
||||
}
|
||||
|
||||
public VariazioniDTO setTipoVariazioneLisv(String tipoVariazioneLisv) {
|
||||
public VariazioniDettaglioDTO setTipoVariazioneLisv(String tipoVariazioneLisv) {
|
||||
this.tipoVariazioneLisv = tipoVariazioneLisv;
|
||||
return this;
|
||||
}
|
||||
@@ -701,7 +753,7 @@ public class VariazioniDTO {
|
||||
return untMis;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMis(String untMis) {
|
||||
public VariazioniDettaglioDTO setUntMis(String untMis) {
|
||||
this.untMis = untMis;
|
||||
return this;
|
||||
}
|
||||
@@ -710,7 +762,7 @@ public class VariazioniDTO {
|
||||
return untMisVen;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMisVen(String untMisVen) {
|
||||
public VariazioniDettaglioDTO setUntMisVen(String untMisVen) {
|
||||
this.untMisVen = untMisVen;
|
||||
return this;
|
||||
}
|
||||
@@ -719,7 +771,7 @@ public class VariazioniDTO {
|
||||
return untMis2;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMis2(String untMis2) {
|
||||
public VariazioniDettaglioDTO setUntMis2(String untMis2) {
|
||||
this.untMis2 = untMis2;
|
||||
return this;
|
||||
}
|
||||
@@ -728,10 +780,44 @@ public class VariazioniDTO {
|
||||
return untMis3;
|
||||
}
|
||||
|
||||
public VariazioniDTO setUntMis3(String untMis3) {
|
||||
public VariazioniDettaglioDTO setUntMis3(String untMis3) {
|
||||
this.untMis3 = untMis3;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLibero1() {
|
||||
return libero1;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setLibero1(String libero1) {
|
||||
this.libero1 = libero1;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLibero2() {
|
||||
return libero2;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setLibero2(String libero2) {
|
||||
this.libero2 = libero2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPosizioneArticolo() {
|
||||
return posizioneArticolo;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setPosizioneArticolo(String posizioneArticolo) {
|
||||
this.posizioneArticolo = posizioneArticolo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getIntercodeXmlVariazioni() {
|
||||
return intercodeXmlVariazioni;
|
||||
}
|
||||
|
||||
public VariazioniDettaglioDTO setIntercodeXmlVariazioni(String intercodeXmlVariazioni) {
|
||||
this.intercodeXmlVariazioni = intercodeXmlVariazioni;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.dto.Variazioni;
|
||||
package it.integry.ems.retail.ReportVariazioni.dto;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class VariazioniPvInputDTO {
|
||||
private Date dataValidita;
|
||||
@@ -13,6 +14,8 @@ public class VariazioniPvInputDTO {
|
||||
private String fileXml;
|
||||
private String tipoReport;
|
||||
private String inviaDisattivazioni;
|
||||
private String userName;
|
||||
private List<VariazioniDettaglioDTO> variazioni;
|
||||
|
||||
public Date getDataValidita() {
|
||||
return dataValidita;
|
||||
@@ -23,11 +26,11 @@ public class VariazioniPvInputDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Type getTipoReportEnum() {
|
||||
return Type.fromString(tipoReport);
|
||||
public VariazioniReportType getTipoReportEnum() {
|
||||
return VariazioniReportType.fromString(tipoReport);
|
||||
}
|
||||
|
||||
public void setTipoReportEnum(Type tipoReport) {
|
||||
public void setTipoReportEnum(VariazioniReportType tipoReport) {
|
||||
this.tipoReport = tipoReport.getText();
|
||||
}
|
||||
|
||||
@@ -35,8 +38,9 @@ public class VariazioniPvInputDTO {
|
||||
return tipoReport;
|
||||
}
|
||||
|
||||
public void setTipoReport(String tipoReport) {
|
||||
public VariazioniPvInputDTO setTipoReport(String tipoReport) {
|
||||
this.tipoReport = tipoReport;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getWhereCondArt() {
|
||||
@@ -79,16 +83,18 @@ public class VariazioniPvInputDTO {
|
||||
return fileXml;
|
||||
}
|
||||
|
||||
public void setFileXml(String fileXml) {
|
||||
public VariazioniPvInputDTO setFileXml(String fileXml) {
|
||||
this.fileXml = fileXml;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getInviaDisattivazioni() {
|
||||
return inviaDisattivazioni;
|
||||
}
|
||||
|
||||
public void setInviaDisattivazioni(String inviaDisattivazioni) {
|
||||
public VariazioniPvInputDTO setInviaDisattivazioni(String inviaDisattivazioni) {
|
||||
this.inviaDisattivazioni = inviaDisattivazioni;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlis() {
|
||||
@@ -100,6 +106,26 @@ public class VariazioniPvInputDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<VariazioniDettaglioDTO> getVariazioni() {
|
||||
return variazioni;
|
||||
}
|
||||
|
||||
public VariazioniPvInputDTO setVariazioni(List<VariazioniDettaglioDTO> variazioni) {
|
||||
this.variazioni = variazioni;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public enum Type {
|
||||
VARIAZIONI("V"),
|
||||
PROMOZIONI("P"),
|
||||
@@ -123,4 +149,5 @@ public class VariazioniPvInputDTO {
|
||||
return this.text;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package it.integry.ems.retail.ReportVariazioni.dto;
|
||||
|
||||
public enum VariazioniReportType {
|
||||
VARIAZIONI("V"),
|
||||
GRIGLIA("G"),
|
||||
PROMOZIONI("P"),
|
||||
LISTINO("L");
|
||||
|
||||
private String text;
|
||||
|
||||
VariazioniReportType(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public static VariazioniReportType fromString(String text) {
|
||||
for (VariazioniReportType b : VariazioniReportType.values()) {
|
||||
if (b.text.equalsIgnoreCase(text)) return b;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
return this.text;
|
||||
}
|
||||
}
|
||||
@@ -2,20 +2,31 @@ package it.integry.ems.retail.ReportVariazioni.service;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.Variazioni.VariazioniPvInputDTO;
|
||||
import it.integry.ems.dto.Result;
|
||||
import it.integry.ems.expansion.RunnableArgsThrowable;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniDettaglioDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniReportType;
|
||||
import it.integry.ems.retail.ReportVariazioni.xml.*;
|
||||
import it.integry.ems.retail.dto.GrigliaAcquistoDTO;
|
||||
import it.integry.ems.retail.service.GrigliaAcquistoHandlerService;
|
||||
import it.integry.ems.service.HttpRestWrapper;
|
||||
import it.integry.ems.service.MailService;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDirs;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.TypeDbObject;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import kotlin.Triple;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
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 javax.ws.rs.client.Entity;
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.Marshaller;
|
||||
import java.io.File;
|
||||
@@ -26,83 +37,149 @@ import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class VariazioniPVService {
|
||||
public class VariazioniPvService {
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
private final String gestName = "w_vvariaz_prezzi_disp";
|
||||
private final String section = "VARIAZIONI";
|
||||
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
|
||||
@Autowired
|
||||
private GrigliaAcquistoHandlerService grigliaAcquistoHandlerService;
|
||||
|
||||
@Autowired
|
||||
private HttpRestWrapper httpRestWrapper;
|
||||
|
||||
@Autowired
|
||||
private MailService mailService;
|
||||
|
||||
private HashMap<String, String> listini = new HashMap<>();
|
||||
private List<GrigliaAcquistoDTO> grigliaAcquisto = new ArrayList<>();
|
||||
|
||||
|
||||
public String variazionePrezzoPVXml(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
|
||||
String xmlVariazioni = null;
|
||||
|
||||
ReportType fileVariazioniDTO = variazionePrezzoPV(variazioniPvDTO);
|
||||
|
||||
if (fileVariazioniDTO.getCodVlis() != null && fileVariazioniDTO.getCodVlis().size() > 0) {
|
||||
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(ReportType.class);
|
||||
Marshaller marshaller = jaxbContext.createMarshaller();
|
||||
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
|
||||
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
|
||||
|
||||
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryDatasource().getDbName(), "VARIAZIONI_PV", "XML_DIALOGO").getAbsolutePath();
|
||||
if (!UtilityString.isNullOrEmpty(pathFile)) {
|
||||
File tempFile = new File(pathFile + "//" + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + ".xml");
|
||||
marshaller.marshal(fileVariazioniDTO, tempFile);
|
||||
}
|
||||
StringWriter fileXml = new StringWriter();
|
||||
marshaller.marshal(fileVariazioniDTO, fileXml);
|
||||
xmlVariazioni = fileXml.toString();
|
||||
} else {
|
||||
if (fileVariazioniDTO.getCodVlis() == null || fileVariazioniDTO.getCodVlis().size() == 0)
|
||||
throw new Exception("Non ci sono variazione nel periodo selezionato.");
|
||||
}
|
||||
|
||||
return xmlVariazioni;
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(ReportType.class);
|
||||
Marshaller marshaller = jaxbContext.createMarshaller();
|
||||
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
|
||||
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
|
||||
|
||||
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryDatasource().getDbName(), "VARIAZIONI_PV", "XML_DIALOGO").getAbsolutePath();
|
||||
if (!UtilityString.isNullOrEmpty(pathFile)) {
|
||||
File tempFile = new File(pathFile + "//" + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + ".xml");
|
||||
marshaller.marshal(fileVariazioniDTO, tempFile);
|
||||
}
|
||||
StringWriter fileXml = new StringWriter();
|
||||
marshaller.marshal(fileVariazioniDTO, fileXml);
|
||||
return fileXml.toString();
|
||||
}
|
||||
|
||||
public ReportType variazionePrezzoPV(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
final String gestName = "w_vvariaz_prezzi_disp", section = "VARIAZIONI";
|
||||
public List<VariazioniDettaglioDTO> calcVariazionePrezzoPV(VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
return calcVariazionePrezzoPV(multiDBTransactionManager, variazioniPvDTO);
|
||||
}
|
||||
|
||||
public List<VariazioniDettaglioDTO> calcVariazionePrezzoPV(MultiDBTransactionManager mdb, VariazioniPvInputDTO variazioniPvDTO) throws Exception {
|
||||
LocalDateTime startTracingTime = UtilityLocalDate.getNowTime();
|
||||
// logger.trace("Calcolo variazioni: Start");
|
||||
|
||||
HashMap<String, String> setup = setupGest.getSetupSection(mdb.getPrimaryConnection(), gestName, section);
|
||||
|
||||
boolean existVariazioni = (variazioniPvDTO.getVariazioni() != null && !variazioniPvDTO.getVariazioni().isEmpty());
|
||||
List<VariazioniDTO> listini = getListini(mdb, variazioniPvDTO, existVariazioni);
|
||||
logger.trace("Calcolo variazioni: GetListini []");
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioni = new ArrayList<>();
|
||||
|
||||
|
||||
for (VariazioniDTO datiLisv : listini) {
|
||||
String codMdep = UtilityString.streNull(datiLisv.getCodMdep());
|
||||
HashMap<String, String> getSetupSectionDepo =
|
||||
setupGest.getSetupSectionDepo(mdb.getPrimaryConnection(), gestName, section, codMdep);
|
||||
|
||||
|
||||
String codVlisVariazioni = UtilityHashMap.getValueIfExists(getSetupSectionDepo, "COD_VLIS_VARIAZIONI");
|
||||
datiLisv.setCodVlis(UtilityString.isNull(codVlisVariazioni, datiLisv.getCodVlis()));
|
||||
|
||||
datiLisv.setDataVariazione(variazioniPvDTO.getDataValidita());
|
||||
datiLisv.setElencoCasse(getElencoCasse(mdb, codMdep));
|
||||
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioniLisv = null;
|
||||
if (existVariazioni) {
|
||||
variazioniLisv =
|
||||
variazioniPvDTO.getVariazioni().stream()
|
||||
.filter(x -> x.getCodVlis().equalsIgnoreCase(datiLisv.getCodVlis()))
|
||||
.collect(Collectors.toList());
|
||||
} else {
|
||||
String query = getQueryVariazioni(variazioniPvDTO, setup, datiLisv.getCodVlis(), UtilityHashMap.getValueIfExists(getSetupSectionDepo, "SELEZIONA_GRIGLIE"));
|
||||
variazioniLisv = UtilityDB.executeSimpleQueryDTO(mdb.getPrimaryConnection(), query, VariazioniDettaglioDTO.class);
|
||||
|
||||
if (variazioniLisv != null) {
|
||||
variazioniLisv
|
||||
.forEach(
|
||||
variazioniDettaglioDTO ->
|
||||
variazioniDettaglioDTO.setCodVlis(datiLisv.getCodVlis())
|
||||
.setCodMdep(datiLisv.getCodMdep())
|
||||
.setDataVariazione(variazioniPvDTO.getDataValidita())
|
||||
.setElencoCasse(datiLisv.getElencoCasse())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (variazioniLisv != null && !variazioniLisv.isEmpty())
|
||||
variazioni.addAll(variazioniLisv);
|
||||
|
||||
logger.debug(VariazioniPvService.class.getSimpleName() +
|
||||
" - getElencoArticoli Listino " + datiLisv.getCodVlis() +
|
||||
": Timing " + ChronoUnit.SECONDS.between(startTracingTime, UtilityLocalDate.getNowTime()) + " secs");
|
||||
|
||||
}
|
||||
|
||||
logger.debug(VariazioniPvService.class.getSimpleName() +
|
||||
" - Fine: Timing " + ChronoUnit.SECONDS.between(startTracingTime, UtilityLocalDate.getNowTime()) + " secs");
|
||||
|
||||
return variazioni;
|
||||
}
|
||||
|
||||
public ReportType variazionePrezzoPV(VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
HashMap<String, String> setup = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), gestName, section);
|
||||
|
||||
String sql =
|
||||
"SELECT vtb_list.cod_vlis, vtb_list.descrizione, vtb_list.flag_list_iva_inclusa, mtb_depo.cod_mdep " +
|
||||
" FROM vtb_list INNER JOIN mtb_depo ON mtb_depo.cod_vlis = vtb_list.cod_vlis " +
|
||||
" WHERE vtb_list.flag_attivo = 'S' " +
|
||||
"ORDER BY vtb_list.cod_vlis ";
|
||||
|
||||
sql = UtilityDB.addwhereCond(sql, variazioniPvDTO.getWhereCondLisv(), false);
|
||||
|
||||
List<HashMap<String, Object>> listini = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
String invioIngredienti = setup.get("INVIA_INGREDIENTI_OPZ");
|
||||
String colNameDescrEstesa = "descrizione_estesa";
|
||||
String setupDescr = setup.get("DESCRIZIONE_ESTESA");
|
||||
if (!UtilityString.isNullOrEmpty(setupDescr)) {
|
||||
if (setupDescr.equalsIgnoreCase("D"))
|
||||
colNameDescrEstesa = "descr_art";
|
||||
else if (setupDescr.equalsIgnoreCase("B"))
|
||||
colNameDescrEstesa = "descr_cassa";
|
||||
}
|
||||
|
||||
|
||||
boolean existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
List<VariazioniDTO> listini = getListini(variazioniPvInputDTO, existVariazioni);
|
||||
|
||||
ReportType fileVariazioniDTO = new ReportType();
|
||||
for (HashMap<String, Object> datiLisv : listini) {
|
||||
String codVlis = UtilityHashMap.getValueIfExists(datiLisv, "cod_vlis");
|
||||
String descrLisv = UtilityString.streNull(UtilityHashMap.getValueIfExists(datiLisv, "descrizione"));
|
||||
String flagListIvaInclusa = UtilityString.streNull(UtilityHashMap.getValueIfExists(datiLisv, "flag_list_iva_inclusa"));
|
||||
String codMdep = UtilityString.streNull(UtilityHashMap.getValueIfExists(datiLisv, "cod_mdep"));
|
||||
String elencoCasse = getElencoCasse(codMdep);
|
||||
Date startDate = new Date();
|
||||
logger.debug(VariazioniPvService.class.getSimpleName() + " - inizio : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
for (VariazioniDTO datiLisv : listini) {
|
||||
String codVlis = datiLisv.getCodVlis();
|
||||
String codMdep = UtilityString.streNull(datiLisv.getCodMdep());
|
||||
String elencoCasse = getElencoCasse(multiDBTransactionManager, codMdep);
|
||||
|
||||
HashMap<String, String> getSetupSectionDepo = setupGest.getSetupSectionDepo(multiDBTransactionManager.getPrimaryConnection(), gestName, section, codMdep);
|
||||
|
||||
|
||||
ObjectFactory objectFactory = new ObjectFactory();
|
||||
|
||||
CodVlisType listinoDTO = new CodVlisType();
|
||||
@@ -112,39 +189,52 @@ public class VariazioniPVService {
|
||||
} else {
|
||||
listinoDTO.getContent().add(codVlisVariazioni);
|
||||
}
|
||||
listinoDTO.setDescrizione(descrLisv);
|
||||
listinoDTO.setFlagListIvaInclusa(flagListIvaInclusa);
|
||||
listinoDTO.setDataVariazione(new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(variazioniPvDTO.getDataValidita()));
|
||||
listinoDTO.setDescrizione(datiLisv.getDescrizione());
|
||||
listinoDTO.setFlagListIvaInclusa(datiLisv.getFlagListIvaInclusa());
|
||||
listinoDTO.setDataVariazione(new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(variazioniPvInputDTO.getDataValidita()));
|
||||
listinoDTO.setCodMdep(codMdep);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeElencoCasse(elencoCasse));
|
||||
fileVariazioniDTO.getCodVlis().add(listinoDTO);
|
||||
|
||||
String query = getQueryVariazioni(variazioniPvDTO, setup, codVlis, getSetupSectionDepo.get("SELEZIONA_GRIGLIE"));
|
||||
List<HashMap<String, Object>> elencoVar = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
boolean getVariazioneGriglia = false;
|
||||
|
||||
if ((variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.GRIGLIA ||
|
||||
variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.LISTINO) &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE") != null &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE").equalsIgnoreCase("S")) {
|
||||
|
||||
getVariazioneGriglia = true;
|
||||
grigliaAcquisto = grigliaAcquistoHandlerService.getGrigliaAcquisto();
|
||||
grigliaAcquisto = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getDataValidita().equals(variazioniPvDTO.getDataValidita()) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep))
|
||||
.toList();
|
||||
List<VariazioniDettaglioDTO> elencoVar = null;
|
||||
if (existVariazioni) {
|
||||
elencoVar =
|
||||
Stream.of(variazioniPvInputDTO.getVariazioni())
|
||||
.filter(x -> x.getCodVlis().equalsIgnoreCase(datiLisv.getCodVlis()))
|
||||
.toList();
|
||||
} else {
|
||||
String query = getQueryVariazioni(variazioniPvInputDTO, setup, codVlis, getSetupSectionDepo.get("SELEZIONA_GRIGLIE"));
|
||||
elencoVar = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, VariazioniDettaglioDTO.class);
|
||||
}
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - getElencoArticoli Listino " + codVlis + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
if (elencoVar != null) {
|
||||
boolean getVariazioneGriglia = false;
|
||||
|
||||
for (HashMap<String, Object> variazioni : elencoVar) {
|
||||
CodMartType codMart = fillArticoloData(objectFactory,
|
||||
variazioni, variazioniPvDTO, invioIngredienti, getSetupSectionDepo, codMdep, colNameDescrEstesa,
|
||||
setup.get("LIBERO1"),
|
||||
setup.get("LIBERO2"), getVariazioneGriglia);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeCodMart(codMart));
|
||||
if ((variazioniPvInputDTO.getTipoReportEnum() == VariazioniReportType.GRIGLIA ||
|
||||
variazioniPvInputDTO.getTipoReportEnum() == VariazioniReportType.LISTINO) &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE") != null &&
|
||||
getSetupSectionDepo.get("SELEZIONA_GRIGLIE").equalsIgnoreCase("S")) {
|
||||
|
||||
getVariazioneGriglia = true;
|
||||
grigliaAcquisto = grigliaAcquistoHandlerService.getGrigliaAcquisto();
|
||||
grigliaAcquisto = Stream.of(grigliaAcquisto)
|
||||
.filter(x -> x.getDataValidita().equals(variazioniPvInputDTO.getDataValidita()) &&
|
||||
x.getCodMdep().equalsIgnoreCase(codMdep))
|
||||
.toList();
|
||||
}
|
||||
|
||||
int i = 1;
|
||||
for (VariazioniDettaglioDTO variazioni : elencoVar) {
|
||||
CodMartType codMart = fillArticoloData(objectFactory, variazioni, variazioniPvInputDTO, invioIngredienti, getSetupSectionDepo, codMdep, setupDescr,
|
||||
setup.get("LIBERO1"),
|
||||
setup.get("LIBERO2"), getVariazioneGriglia);
|
||||
listinoDTO.getContent().add(objectFactory.createCodVlisTypeCodMart(codMart));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - creazione xml Listino " + codVlis + ": Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
}
|
||||
logger.trace(VariazioniPvService.class.getSimpleName() + " - fine : Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
if (fileVariazioniDTO.getCodVlis() != null && fileVariazioniDTO.getCodVlis().size() > 0) {
|
||||
|
||||
@@ -155,140 +245,155 @@ public class VariazioniPVService {
|
||||
return fileVariazioniDTO;
|
||||
}
|
||||
|
||||
private CodMartType fillArticoloData(ObjectFactory objectFactory, HashMap<String, Object> var,
|
||||
VariazioniPvInputDTO variazioniPvDTO,
|
||||
private List<VariazioniDTO> getListini(VariazioniPvInputDTO variazioniPvDTO, boolean existVariazioni) throws Exception {
|
||||
return getListini(multiDBTransactionManager, variazioniPvDTO, existVariazioni);
|
||||
}
|
||||
|
||||
private List<VariazioniDTO> getListini(MultiDBTransactionManager mdb, VariazioniPvInputDTO variazioniPvDTO, boolean existVariazioni) throws Exception {
|
||||
List<VariazioniDTO> listini;
|
||||
if (existVariazioni) {
|
||||
listini = variazioniPvDTO.getVariazioni().stream()
|
||||
.map(x -> new VariazioniDTO()
|
||||
.setCodVlis(x.getCodVlis())
|
||||
.setCodMdep(x.getCodMdep())
|
||||
.setDescrizione(x.getDescrizione())
|
||||
.setFlagListIvaInclusa(x.getFlagListIvaInclusa()))
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
} else {
|
||||
String sql =
|
||||
"SELECT vtb_list.cod_vlis, vtb_list.descrizione, vtb_list.flag_list_iva_inclusa, mtb_depo.cod_mdep " +
|
||||
" FROM vtb_list INNER JOIN mtb_depo ON mtb_depo.cod_vlis = vtb_list.cod_vlis " +
|
||||
" WHERE vtb_list.flag_attivo = 'S' " +
|
||||
"ORDER BY vtb_list.cod_vlis ";
|
||||
|
||||
if (variazioniPvDTO != null) {
|
||||
if (!UtilityString.isNullOrEmpty(variazioniPvDTO.getCodVlis()))
|
||||
sql = UtilityDB.addwhereCond(sql, String.format("vtb_list.cod_vlis = '%s'", variazioniPvDTO.getCodVlis()), false);
|
||||
sql = UtilityDB.addwhereCond(sql, variazioniPvDTO.getWhereCondLisv(), false);
|
||||
}
|
||||
|
||||
listini = UtilityDB.executeSimpleQueryDTO(mdb.getPrimaryConnection(), sql, VariazioniDTO.class);
|
||||
}
|
||||
return listini;
|
||||
}
|
||||
|
||||
private CodMartType fillArticoloData(ObjectFactory objectFactory,
|
||||
VariazioniDettaglioDTO var,
|
||||
VariazioniPvInputDTO variazioniPvInputDTO,
|
||||
String invioIngredientiSetup,
|
||||
Map<String, String> setupDepo,
|
||||
String codMdep,
|
||||
String colNameDescrEstesa,
|
||||
String setupDescr,
|
||||
String valLibero1,
|
||||
String valLibero2,
|
||||
boolean getVariazioneGriglia) throws Exception {
|
||||
|
||||
CodMartType codMartType = objectFactory.createCodMartType();
|
||||
String codMart = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_mart"));
|
||||
String flagTipoPromo = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_tipo_promo"));
|
||||
BigDecimal przPieno = UtilityHashMap.getValueIfExists(var, "prezzo_pieno");
|
||||
BigDecimal przPienoIva = UtilityHashMap.getValueIfExists(var, "prz_pieno_iva");
|
||||
BigDecimal przVend = UtilityHashMap.getValueIfExists(var, "prz_vend");
|
||||
BigDecimal przVendIva = UtilityHashMap.getValueIfExists(var, "prz_vend_iva");
|
||||
String codMart = var.getCodMart();
|
||||
String flagTipoPromo = var.getFlagTipoPromo();
|
||||
BigDecimal przPieno = var.getPrezzoPieno();
|
||||
BigDecimal przPienoIva = var.getPrzPienoIva();
|
||||
BigDecimal przVend = var.getPrzVend();
|
||||
BigDecimal przVendIva = var.getPrzVendIva();
|
||||
|
||||
if ("P".equals(flagTipoPromo)) {
|
||||
przPienoIva = przVendIva;
|
||||
przPieno = przVend;
|
||||
}
|
||||
|
||||
String dataFinePromoS = "";
|
||||
Date dataFinePromo = UtilityHashMap.getValueIfExists(var, "data_fine");
|
||||
if (dataFinePromo != null) {
|
||||
dataFinePromoS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataFinePromo);
|
||||
}
|
||||
String dataInizPromoS = "";
|
||||
Date dataInizPromo = UtilityHashMap.getValueIfExists(var, "data_iniz_promo");
|
||||
if (dataInizPromo != null) {
|
||||
dataInizPromoS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataInizPromo);
|
||||
}
|
||||
String dataFinePromoS = convertDateToString(var.getDataFine());
|
||||
String dataInizPromoS = convertDateToString(var.getDataInizPromo());
|
||||
String dataUltVarS = convertDateToString(var.getDataUltVar());
|
||||
String dataAggPrzS = convertDateToString(var.getDataIniz());
|
||||
|
||||
String dataUltVarS = "";
|
||||
Date dataUltVar = UtilityHashMap.getValueIfExists(var, "data_ult_var");
|
||||
if (dataUltVar != null) {
|
||||
dataUltVarS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataUltVar);
|
||||
}
|
||||
|
||||
String dataAggPrzS = "";
|
||||
Date dataAggPrz = UtilityHashMap.getValueIfExists(var, "data_iniz");
|
||||
if (dataAggPrz != null) {
|
||||
dataAggPrzS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(dataAggPrz);
|
||||
}
|
||||
|
||||
String tipoVariazioneLisv = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "tipo_variazione_lisv"));
|
||||
String flagStato = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_stato"));
|
||||
String tipoVariazioneLisv = var.getTipoVariazioneLisv();
|
||||
String flagStato = var.getFlagStato();
|
||||
if ("D".equalsIgnoreCase(tipoVariazioneLisv)) {
|
||||
flagStato = "I";
|
||||
}
|
||||
codMartType.getContent().add(codMart);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_art"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis2(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis2"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv2(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "rap_conv2"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis3(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis3"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv3(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "rap_conv3"), "###0.00").replace(",", ".")));
|
||||
CodMgrpType codMgrpType = objectFactory.createCodMgrpType();
|
||||
codMgrpType.setValue(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_mgrp")));
|
||||
codMgrpType.setDescrGrup(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_grup")));
|
||||
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizione(UtilityString.streNull(var.getDescrArt())));
|
||||
String descrizioneEstesa = var.getDescrizioneEstesa();
|
||||
if (!UtilityString.isNullOrEmpty(setupDescr)) {
|
||||
if (setupDescr.equalsIgnoreCase("D"))
|
||||
descrizioneEstesa = var.getDescrArt();
|
||||
else if (setupDescr.equalsIgnoreCase("B"))
|
||||
descrizioneEstesa = var.getDescrCassa();
|
||||
}
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizioneEstesa(UtilityString.streNull(descrizioneEstesa)));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis2(UtilityString.streNull(var.getUntMis2())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis(UtilityString.streNull(var.getUntMis())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv2(UtilityString.bigDecimalToString(var.getRapConv2(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMis3(UtilityString.streNull(var.getUntMis3())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConv3(UtilityString.bigDecimalToString(var.getRapConv3(), "###0.00").replace(",", ".")));
|
||||
CodMgrpType codMgrpType = getCodMgrpType(objectFactory, var);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodMgrp(codMgrpType));
|
||||
CodMsgrType codMsgrType = objectFactory.createCodMsgrType();
|
||||
codMsgrType.setValue(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_msgr")));
|
||||
codMsgrType.setDescrSgrp(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_sgrp")));
|
||||
CodMsgrType codMsgrType = getCodMsgrType(objectFactory, var);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodMsgr(codMsgrType));
|
||||
CodMsfaType codMsfaType = objectFactory.createCodMsfaType();
|
||||
codMsfaType.setValue(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_msfa")));
|
||||
codMsfaType.setDescrSfam(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_msfa")));
|
||||
CodMsfaType codMsfaType = getCodMsfaType(objectFactory, var);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodMsfa(codMsfaType));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRepartoCassa(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "reparto_cassa"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "tipo_variazione"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRepartoCassa(UtilityString.streNull(var.getRepartoCassa())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazione(UtilityString.streNull(var.getTipoVariazione())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazioneLisv(tipoVariazioneLisv));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzBase(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "prz_base"), "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzBase(UtilityString.bigDecimalToString(var.getPrzBase(), "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzVend(UtilityString.bigDecimalToString(przVend, "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrzVendIva(UtilityString.bigDecimalToString(przVendIva, "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePosizione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "posizione"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMisVen(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "unt_mis_ven"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConvVen(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "rap_conv"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePesoKg(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "peso_kg"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagEsponiPrz(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_esponi_prz"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSfrido(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sfrido"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarreImb(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_barre_imb"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrz(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_calc_prz"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneCompAcq(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "esposizione_comp_acq"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneComp(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "esposizione_comp"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrzAcq(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_calc_prz_acq"))));
|
||||
BigDecimal colliPedane = UtilityHashMap.getValueIfExists(var, "colli_pedana");
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePosizione(UtilityString.streNull(var.getPosizione())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeUntMisVen(UtilityString.streNull(var.getUntMisVen())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeRapConvVen(UtilityString.bigDecimalToString(var.getRapConv(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePesoKg(UtilityString.bigDecimalToString(var.getPesoKg(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagEsponiPrz(UtilityString.streNull(var.getFlagEsponiPrz())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSfrido(UtilityString.bigDecimalToString(var.getPercSfrido(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarreImb(UtilityString.streNull(var.getCodBarreImb())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrz(UtilityString.streNull(var.getFlagCalcPrz())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneCompAcq(UtilityString.streNull(var.getEsposizioneCompAcq())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeEsposizioneComp(UtilityString.streNull(var.getEsposizioneComp())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagCalcPrzAcq(UtilityString.streNull(var.getFlagCalcPrzAcq())));
|
||||
BigDecimal colliPedane = var.getColliPedana();
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeColliPedane(UtilityString.bigDecimalToString(colliPedane == null ? BigDecimal.ZERO : colliPedane, "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco1(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco1"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco2(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco2"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco3(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco3"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco4(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_sco4"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco1(UtilityString.bigDecimalToString(var.getPercSco1(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco2(UtilityString.bigDecimalToString(var.getPercSco2(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco3(UtilityString.bigDecimalToString(var.getPercSco3(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercSco4(UtilityString.bigDecimalToString(var.getPercSco4(), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataUltVar(dataUltVarS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataAggPrz(dataAggPrzS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarre(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_barre"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePlu(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "plu"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodBarre(UtilityString.streNull(var.getCodBarre())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePlu(UtilityString.streNull(var.getPlu())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagStato(flagStato));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeQtaCnf(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "qta_cnf"), "###0.00").replace(",", ".")));
|
||||
BigDecimal tara = UtilityHashMap.getValueIfExists(var, "tara_kg");
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeQtaCnf(UtilityString.bigDecimalToString(var.getQtaCnf(), "###0.00").replace(",", ".")));
|
||||
BigDecimal tara = var.getTaraKg();
|
||||
if (tara.compareTo(BigDecimal.ZERO) != 0) {
|
||||
tara = (tara.multiply(new BigDecimal("1000"))).setScale(0, RoundingMode.HALF_UP);
|
||||
}
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTara(UtilityString.bigDecimalToString(tara, "###0.00").replace(",", ".")));
|
||||
String descrizioneEstesa = UtilityHashMap.getValueIfExists(var, colNameDescrEstesa);
|
||||
if (UtilityString.isNullOrEmpty(descrizioneEstesa))
|
||||
descrizioneEstesa = UtilityHashMap.getValueIfExists(var, "descrizione_estesa");
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizioneEstesa(UtilityString.streNull(descrizioneEstesa)));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeAnnotazioniArt(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "annotazioni_art"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodAliq(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_aliq"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeArticoloComposto(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "articolo_composto"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoEan(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "tipo_codice"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTracciabilita(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "flag_tracciabilita"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeGgScadPartita(String.valueOf(UtilityHashMap.<Integer>getValueIfExists(var, "gg_scad_partita"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercAliq(UtilityString.bigDecimalToString(UtilityHashMap.getValueIfExists(var, "perc_aliq"), "###0.00").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeAnnotazioniArt(UtilityString.streNull(var.getAnnotazioniArt())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodAliq(UtilityString.streNull(var.getCodAliq())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeArticoloComposto(UtilityString.streNull(var.getArticoloComposto())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoEan(UtilityString.streNull(var.getTipoCodice())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTracciabilita(UtilityString.streNull(var.getFlagTracciabilita())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeGgScadPartita(String.valueOf(var.getGgScadPartita())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePercAliq(UtilityString.bigDecimalToString(var.getPercAliq(), "###0.00").replace(",", ".")));
|
||||
|
||||
String idArtEqui = UtilityHashMap.getValueIfExists(var, "id_art_equi");
|
||||
String idArtEqui = var.getIdArtEqui();
|
||||
if (!UtilityString.isNullOrEmpty(idArtEqui)) {
|
||||
IdArtEquiType idArtEquiType = objectFactory.createIdArtEquiType();
|
||||
idArtEquiType.setValue(idArtEqui);
|
||||
idArtEquiType.setDescrizione(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_art_equi")));
|
||||
IdArtEquiType idArtEquiType = getIdArtEquiType(objectFactory, var, idArtEqui);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIdArtEqui(idArtEquiType));
|
||||
}
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrezzoPieno(UtilityString.bigDecimalToString(przPieno, "###0.00###").replace(",", ".")));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePrezzoPienoIva(UtilityString.bigDecimalToString(przPienoIva, "###0.00").replace(",", ".")));
|
||||
|
||||
//PUNTI ARTICOLO
|
||||
BigDecimal puntiArticolo = getPuntiArt(codMart, variazioniPvDTO.getDataValidita());
|
||||
BigDecimal puntiArticolo = getPuntiArt(codMart, variazioniPvInputDTO.getDataValidita());
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePuntiArticolo(UtilityString.bigDecimalToString(puntiArticolo, "###0.00").replace(",", ".")));
|
||||
|
||||
//PROMOZIONE MxN
|
||||
HashMap<String, Object> datiPromo = new HashMap<>();
|
||||
FlagMxnType flagMxnType = getScontoMerce(objectFactory, codMart, variazioniPvDTO.getDataValidita(), datiPromo);
|
||||
FlagMxnType flagMxnType = getScontoMerce(objectFactory, codMart, variazioniPvInputDTO.getDataValidita(), datiPromo);
|
||||
|
||||
String finePromo = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "fine_promo"));
|
||||
String codPromo = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "cod_promo"));
|
||||
String finePromo = UtilityString.streNull(var.getFinePromo());
|
||||
String codPromo = UtilityString.streNull(var.getCodPromo());
|
||||
if (flagMxnType.getValue().equalsIgnoreCase("S") && finePromo.equalsIgnoreCase("S")) {
|
||||
codPromo = (String) datiPromo.get("cod_promo");
|
||||
dataInizPromoS = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(datiPromo.get("data_iniz"));
|
||||
@@ -296,24 +401,23 @@ public class VariazioniPVService {
|
||||
}
|
||||
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodPromo(codPromo));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizionePromo(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "descr_promo"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTipoPromo(flagTipoPromo));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDescrizionePromo(UtilityString.streNull(var.getDescrPromo())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagTipoPromo(UtilityString.streNull(flagTipoPromo)));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataInizPromo(dataInizPromoS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeDataFinePromo(dataFinePromoS));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFinePromo(finePromo));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIdPromo(UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "id_promo"))));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIdPromo(UtilityString.streNull(var.getIdPromo())));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeFlagMxn(flagMxnType));
|
||||
|
||||
//INGREDIENTI
|
||||
String inviaIngrOpz = null;
|
||||
inviaIngrOpz = variazioniPvDTO.getInviaIngredienti();
|
||||
String inviaIngrOpz = variazioniPvInputDTO.getInviaIngredienti();
|
||||
if (UtilityString.isNullOrEmpty(inviaIngrOpz)) {
|
||||
//PER CARELLI ABBIAMO RESO OPZIONALE L'INVIO DEGLI INGREDIENTI (SOLO SE VARIATI IN DISTINTA BASE) PER TUTTI GLI ALTRI
|
||||
//GLI INGREDIENTI VENGONO COMUNQUE INVIATI
|
||||
inviaIngrOpz = invioIngredientiSetup;
|
||||
}
|
||||
String ingredienti = UtilityString.streNull(UtilityHashMap.getValueIfExists(var, "ingredienti"));
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvDTO.getDataValidita(), variazioniPvDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti);
|
||||
String ingredienti = UtilityString.streNull(var.getIngredienti());
|
||||
IngredientiType ingredientiType = getIngredienti(objectFactory, codMart, variazioniPvInputDTO.getDataValidita(), variazioniPvInputDTO.getTipoReportEnum(), tipoVariazioneLisv, inviaIngrOpz, ingredienti);
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeIngredienti(ingredientiType));
|
||||
|
||||
//COMPONENTI
|
||||
@@ -321,7 +425,7 @@ public class VariazioniPVService {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeComponenti(componentiType));
|
||||
|
||||
//PREMI
|
||||
PremioType premioType = getPuntiPremi(objectFactory, codMart, variazioniPvDTO.getDataValidita());
|
||||
PremioType premioType = getPuntiPremi(objectFactory, codMart, variazioniPvInputDTO.getDataValidita());
|
||||
if (premioType != null) {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypePremio(premioType));
|
||||
}
|
||||
@@ -332,7 +436,7 @@ public class VariazioniPVService {
|
||||
|
||||
//DATI GRIGLIA DI ACQUISTO
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("SELEZIONA_GRIGLIE"))) {
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvDTO.getDataValidita(), codMartType, getVariazioneGriglia);
|
||||
getDatiGriglia(objectFactory, codMart, codMdep, variazioniPvInputDTO.getDataValidita(), codMartType, getVariazioneGriglia);
|
||||
}
|
||||
|
||||
if ("S".equalsIgnoreCase(setupDepo.get("ABILITA_CAMPI_LIBERI"))) {
|
||||
@@ -340,10 +444,11 @@ public class VariazioniPVService {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeLibero2(UtilityString.streNull(getValueCampoLibero(valLibero2, var, codMdep, codMart))));
|
||||
}
|
||||
|
||||
|
||||
return codMartType;
|
||||
}
|
||||
|
||||
private String getValueCampoLibero(String tipoValore, HashMap<String, Object> var, String codMdep, String codMart) throws Exception {
|
||||
private String getValueCampoLibero(String tipoValore, VariazioniDettaglioDTO var, String codMdep, String codMart) throws Exception {
|
||||
if (UtilityString.isNullOrEmpty(tipoValore)) return "";
|
||||
if (tipoValore.equalsIgnoreCase("M")) {
|
||||
String sql =
|
||||
@@ -363,13 +468,49 @@ public class VariazioniPVService {
|
||||
}
|
||||
return (valMedio == null ? "" : new DecimalFormat("#,##0.00").format(valMedio));
|
||||
} else if (tipoValore.equalsIgnoreCase("P")) {
|
||||
return UtilityHashMap.getValueIfExists(var, "posizione_art");
|
||||
return var.getPosizioneArticolo();
|
||||
} else if (tipoValore.equalsIgnoreCase("T")) {
|
||||
return UtilityHashMap.getValueIfExists(var, "intercode_xml_variazioni");
|
||||
return var.getIntercodeXmlVariazioni();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String convertDateToString(Date data) {
|
||||
String dataString = "";
|
||||
if (data != null) {
|
||||
dataString = new SimpleDateFormat(CommonConstants.DATE_FORMAT_YMD).format(data);
|
||||
}
|
||||
return dataString;
|
||||
}
|
||||
|
||||
private static IdArtEquiType getIdArtEquiType(ObjectFactory objectFactory, VariazioniDettaglioDTO var, String idArtEqui) {
|
||||
IdArtEquiType idArtEquiType = objectFactory.createIdArtEquiType();
|
||||
idArtEquiType.setValue(idArtEqui);
|
||||
idArtEquiType.setDescrizione(UtilityString.streNull(var.getDescrArtEqui()));
|
||||
return idArtEquiType;
|
||||
}
|
||||
|
||||
private static CodMsfaType getCodMsfaType(ObjectFactory objectFactory, VariazioniDettaglioDTO var) {
|
||||
CodMsfaType codMsfaType = objectFactory.createCodMsfaType();
|
||||
codMsfaType.setValue(UtilityString.streNull(var.getCodMsfa()));
|
||||
codMsfaType.setDescrSfam(UtilityString.streNull(var.getDescrMsfa()));
|
||||
return codMsfaType;
|
||||
}
|
||||
|
||||
private static CodMsgrType getCodMsgrType(ObjectFactory objectFactory, VariazioniDettaglioDTO var) {
|
||||
CodMsgrType codMsgrType = objectFactory.createCodMsgrType();
|
||||
codMsgrType.setValue(UtilityString.streNull(var.getCodMsgr()));
|
||||
codMsgrType.setDescrSgrp(UtilityString.streNull(var.getDescrSgrp()));
|
||||
return codMsgrType;
|
||||
}
|
||||
|
||||
private static CodMgrpType getCodMgrpType(ObjectFactory objectFactory, VariazioniDettaglioDTO var) {
|
||||
CodMgrpType codMgrpType = objectFactory.createCodMgrpType();
|
||||
codMgrpType.setValue(UtilityString.streNull(var.getCodMgrp()));
|
||||
codMgrpType.setDescrGrup(UtilityString.streNull(var.getDescrGrup()));
|
||||
return codMgrpType;
|
||||
}
|
||||
|
||||
private String getQueryVariazioni(VariazioniPvInputDTO variazioniPvDTO,
|
||||
HashMap<String, String> setup,
|
||||
String codVlis,
|
||||
@@ -494,7 +635,7 @@ public class VariazioniPVService {
|
||||
" ON listino.cod_vlis = promozione.cod_vlis AND listino.cod_mart = promozione.cod_mart\n" +
|
||||
" LEFT OUTER JOIN vtb_promo ON promozione.cod_promo = vtb_promo.cod_promo\n" +
|
||||
"WHERE vtb_promo.cod_promo_intercode IS NULL\n" +
|
||||
((variazioniPvDTO.getTipoReportEnum() == VariazioniPvInputDTO.Type.LISTINO) ?
|
||||
((variazioniPvDTO.getTipoReportEnum() == VariazioniReportType.LISTINO) ?
|
||||
" AND ( (IsNull('[INVIA_DISATTIVAZIONI]', 'N') = 'S') " +
|
||||
" OR (IsNull('[INVIA_DISATTIVAZIONI]', 'N') = 'N' AND listino.tipo_variazione <> 'D')) " : "") +
|
||||
"ORDER BY listino.cod_mart ";
|
||||
@@ -509,14 +650,13 @@ public class VariazioniPVService {
|
||||
}
|
||||
|
||||
|
||||
private String getElencoCasse(String codMdep) throws Exception {
|
||||
private String getElencoCasse(MultiDBTransactionManager mdb, String codMdep) throws Exception {
|
||||
String sql =
|
||||
"SELECT mtb_depo_casse.cod_cassa\n" +
|
||||
" FROM mtb_depo_casse\n" +
|
||||
" WHERE mtb_depo_casse.cod_mdep = " + UtilityDB.valueToString(codMdep);
|
||||
|
||||
List<Object> casse = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
List<String> casse = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sql);
|
||||
return StringUtils.join(casse, "|");
|
||||
}
|
||||
|
||||
@@ -577,17 +717,6 @@ public class VariazioniPVService {
|
||||
"WHERE '[DATA_VALIDITA]' BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine\n" +
|
||||
" AND vtb_list_data.cod_vlis = '[COD_VLIS]'\n" +
|
||||
"UNION\n" +
|
||||
"SELECT mtb_depo.cod_vlis,\n" +
|
||||
" atb_griglie_art.cod_mart,\n" +
|
||||
" 'G' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new,\n" +
|
||||
" 'N' AS 'fine_promo'\n" +
|
||||
"FROM atb_griglie_art\n" +
|
||||
" INNER JOIN mtb_depo ON atb_griglie_art.cod_mdep = mtb_depo.cod_mdep\n" +
|
||||
"WHERE atb_griglie_art.data_validita BETWEEN DateAdd(day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]'\n" +
|
||||
" AND mtb_depo.cod_vlis = '[COD_VLIS]'\n" +
|
||||
" AND " + UtilityDB.valueToString(selezionaGriglia) + " = 'S'\n" +
|
||||
"UNION\n" +
|
||||
"SELECT lisv.cod_vlis\n" +
|
||||
" , lisv.cod_mart\n" +
|
||||
" , tipo_variazione\n" +
|
||||
@@ -746,7 +875,7 @@ public class VariazioniPVService {
|
||||
return flagMxnType;
|
||||
}
|
||||
|
||||
private IngredientiType getIngredienti(ObjectFactory objectFactory, String codMart, Date dataVariazioni, VariazioniPvInputDTO.Type tipoReport, String tipoVariazioneLisv, String invioIngOpz, String ingredientiArt) throws Exception {
|
||||
private IngredientiType getIngredienti(ObjectFactory objectFactory, String codMart, Date dataVariazioni, VariazioniReportType tipoReport, String tipoVariazioneLisv, String invioIngOpz, String ingredientiArt) throws Exception {
|
||||
IngredientiType ingredientiType = objectFactory.createIngredientiType();
|
||||
if (UtilityString.isNullOrEmpty(ingredientiArt)) {
|
||||
String whereCond = "";
|
||||
@@ -759,7 +888,7 @@ public class VariazioniPVService {
|
||||
" ORDER BY jtb_dist_mate.id_riga";
|
||||
|
||||
if ("S".equalsIgnoreCase(invioIngOpz)) {
|
||||
if (tipoReport.compareTo(VariazioniPvInputDTO.Type.LISTINO) != 0 &&
|
||||
if (tipoReport.compareTo(VariazioniReportType.LISTINO) != 0 &&
|
||||
!"I".equalsIgnoreCase(tipoVariazioneLisv)) {
|
||||
whereCond = "jtb_cicl.data_ult_var = " + UtilityDB.valueDateToString(dataVariazioni, CommonConstants.DATE_FORMAT_YMD);
|
||||
query = UtilityDB.addwhereCond(query, whereCond, false);
|
||||
@@ -966,4 +1095,239 @@ public class VariazioniPVService {
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeTipoVariazioneGriglia(tipoVariazioneGriglia));
|
||||
codMartType.getContent().add(objectFactory.createCodMartTypeCodAlis(codAlisType));
|
||||
}
|
||||
|
||||
public void exportByTipoReport(String tipoReport, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
List<String> tipiReport = new ArrayList<>();
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(tipoReport))
|
||||
tipiReport.add(tipoReport);
|
||||
else {
|
||||
tipiReport.add("V"); //Variazioni
|
||||
tipiReport.add("P"); //Promozioni
|
||||
tipiReport.add("G"); //Griglie
|
||||
}
|
||||
|
||||
boolean existVariazioni = false;
|
||||
Date dataValidita = null;
|
||||
if (variazioniPvInputDTO != null) {
|
||||
existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
dataValidita = variazioniPvInputDTO.getDataValidita();
|
||||
}
|
||||
|
||||
if (dataValidita == null)
|
||||
dataValidita = UtilityDate.RelativeDateTime(UtilityDate.getTodayWithoutTime(), 1);
|
||||
|
||||
List<VariazioniDTO> listini = getListini(variazioniPvInputDTO, existVariazioni);
|
||||
|
||||
List<RunnableArgsThrowable<Triple<String, String, List<VariazioniDettaglioDTO>>>> calls = new ArrayList<>();
|
||||
|
||||
for (VariazioniDTO pv : listini) {
|
||||
for (String report : tipiReport) {
|
||||
final Date finalDataValidita = dataValidita;
|
||||
final String finalProfileDb = multiDBTransactionManager.getPrimaryDatasource().getProfile();
|
||||
|
||||
calls.add(() -> {
|
||||
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(finalProfileDb)) {
|
||||
String codVlis = pv.getCodVlis();
|
||||
|
||||
logger.debug(
|
||||
String.format("Variazioni: Export [CodListino: %s, TipoReport: %s, Validità: %s]",
|
||||
codVlis,
|
||||
report,
|
||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(finalDataValidita)));
|
||||
|
||||
return new Triple<>(codVlis, report, exportVariazioni(mdb, codVlis, finalDataValidita, report, variazioniPvInputDTO));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
final ArrayList<Result<Triple<String, String, List<VariazioniDettaglioDTO>>>> results = UtilityThread.executeParallel(calls, 6);
|
||||
|
||||
final List<Triple<String, String, List<VariazioniDettaglioDTO>>> completedExports = results.stream()
|
||||
.filter(x -> x instanceof Result.Success)
|
||||
.map(x -> ((Result.Success<Triple<String, String, List<VariazioniDettaglioDTO>>>) x).getData())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final List<Exception> generatedErrors = results.stream()
|
||||
.filter(x -> x instanceof Result.Error)
|
||||
.map(x -> ((Result.Error<?>) x).getError())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
String emailForLog = setupGest.getExportSetup(multiDBTransactionManager.getPrimaryConnection(), "VARIAZIONE PV", "XML_DIALOGO", "EMAIL_FOR_LOG");
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(emailForLog)) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
for (Triple<String, String, List<VariazioniDettaglioDTO>> completedExport : completedExports) {
|
||||
if(completedExport.getThird().isEmpty())
|
||||
continue;
|
||||
|
||||
sb.append("Esportazione ")
|
||||
.append(completedExport.getSecond())
|
||||
.append(" punto vendita ")
|
||||
.append(completedExport.getFirst())
|
||||
.append(" (").append(completedExport.getThird().size()).append(" variazioni)")
|
||||
.append(" avvenuta con successo\n\r");
|
||||
}
|
||||
|
||||
if(!generatedErrors.isEmpty())
|
||||
sb.append("\n\r\n\rErrori\n\r");
|
||||
|
||||
|
||||
for (Exception generatedError : generatedErrors) {
|
||||
sb.append("Messaggio errore: ")
|
||||
.append(generatedError.getMessage())
|
||||
.append("\n\r");
|
||||
}
|
||||
|
||||
|
||||
mailService.sendMailPrimary(multiDBTransactionManager,
|
||||
null, null,
|
||||
emailForLog, null, null,
|
||||
"Esportazione variazioni", sb.toString(), false, false,
|
||||
null, null, null,
|
||||
false, null);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private List<VariazioniDettaglioDTO> exportVariazioni(MultiDBTransactionManager multiDBTransactionManager, String codVlis, Date dataValidita, String tipoReport, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
VariazioniPvInputDTO v =
|
||||
new VariazioniPvInputDTO()
|
||||
.setCodVlis(codVlis)
|
||||
.setTipoReport(tipoReport)
|
||||
.setDataValidita(dataValidita)
|
||||
.setWhereCondArt(variazioniPvInputDTO != null ? variazioniPvInputDTO.getWhereCondArt() : null)
|
||||
.setWhereCondLisv(variazioniPvInputDTO != null ? variazioniPvInputDTO.getWhereCondLisv() : null)
|
||||
.setWhereCondDoc(variazioniPvInputDTO != null ? variazioniPvInputDTO.getWhereCondDoc() : null)
|
||||
.setInviaIngredienti(variazioniPvInputDTO != null ? variazioniPvInputDTO.getInviaIngredienti() : "S")
|
||||
.setFileXml(variazioniPvInputDTO != null ? variazioniPvInputDTO.getFileXml() : null)
|
||||
.setInviaDisattivazioni(variazioniPvInputDTO != null ? variazioniPvInputDTO.getInviaDisattivazioni() : "N")
|
||||
.setUserName(variazioniPvInputDTO != null ? variazioniPvInputDTO.getUserName() : null)
|
||||
.setVariazioni(variazioniPvInputDTO != null ? variazioniPvInputDTO.getVariazioni() : new ArrayList<>());
|
||||
|
||||
|
||||
return exportVariazioni(multiDBTransactionManager, codVlis, v);
|
||||
}
|
||||
|
||||
public void exportByCodVlis(String codVlis, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
exportVariazioni(multiDBTransactionManager, codVlis, variazioniPvInputDTO);
|
||||
}
|
||||
|
||||
public List<VariazioniDettaglioDTO> exportVariazioni(MultiDBTransactionManager multiDBTransactionManager, String codVlis, VariazioniPvInputDTO variazioniPvInputDTO) throws Exception {
|
||||
|
||||
boolean existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
|
||||
if (!existVariazioni) {
|
||||
variazioniPvInputDTO.setCodVlis(codVlis);
|
||||
|
||||
List<VariazioniDettaglioDTO> variazioniDettaglioList = calcVariazionePrezzoPV(multiDBTransactionManager, variazioniPvInputDTO);
|
||||
variazioniPvInputDTO.setVariazioni(variazioniDettaglioList);
|
||||
|
||||
existVariazioni = (variazioniPvInputDTO.getVariazioni() != null && !variazioniPvInputDTO.getVariazioni().isEmpty());
|
||||
}
|
||||
|
||||
|
||||
if (existVariazioni) {
|
||||
final String exportType = "VARIAZIONE PV";
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT value\n" +
|
||||
"FROM mtb_depo\n" +
|
||||
" LEFT OUTER JOIN stb_gest_setup_depo ON mtb_depo.cod_mdep = stb_gest_setup_depo.cod_mdep\n" +
|
||||
" AND stb_gest_setup_depo.gest_name = 'DATI_AZIENDA' AND\n" +
|
||||
" stb_gest_setup_depo.section = 'DATI_DEPOSITO' AND\n" +
|
||||
" stb_gest_setup_depo.key_section = 'PROFILE_DB'\n" +
|
||||
"WHERE mtb_depo.cod_vlis = %s", codVlis);
|
||||
|
||||
String profileDb = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
if (UtilityString.isNullOrEmpty(profileDb)) {
|
||||
profileDb = multiDBTransactionManager.getPrimaryDatasource().getProfile();
|
||||
}
|
||||
|
||||
|
||||
try (MultiDBTransactionManager multiDBPv = new MultiDBTransactionManager(profileDb)) {
|
||||
runExportOnRemote(multiDBPv, variazioniPvInputDTO, codVlis, exportType);
|
||||
}
|
||||
}
|
||||
|
||||
return variazioniPvInputDTO.getVariazioni();
|
||||
}
|
||||
|
||||
|
||||
private void runExportOnRemote(MultiDBTransactionManager multiDBPv, VariazioniPvInputDTO variazioniPvInputDTO, String codVlis, String exportType) throws Exception {
|
||||
String sql = Query.format("SELECT cod_mdep, descrizione FROM mtb_depo WHERE cod_vlis = %s and flag_movimentabile = 'S' ", codVlis);
|
||||
HashMap<String, Object> datiDepo = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBPv.getPrimaryConnection(), sql);
|
||||
|
||||
if (!UtilityHashMap.isPresent(datiDepo))
|
||||
throw new Exception(String.format("Nessun deposito agganciato al listino %s", codVlis));
|
||||
|
||||
String codMdep = UtilityHashMap.getValueIfExists(datiDepo, "cod_mdep");
|
||||
String descrizione = UtilityHashMap.getValueIfExists(datiDepo, "descrizione");
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT wtb_depo.cod_mdep,\n" +
|
||||
" wui.format_file,\n" +
|
||||
" stb_user.user_name,\n" +
|
||||
" stb_user.password,\n" +
|
||||
" wui.priority\n" +
|
||||
"FROM wtb_depo\n" +
|
||||
" INNER JOIN stb_user ON wtb_depo.user_name = stb_user.user_name AND stb_user.key_group = '10'\n" +
|
||||
" INNER JOIN wtb_users_info wui ON stb_user.user_name = wui.user_name AND\n" +
|
||||
" wui.export_type = %s AND\n" +
|
||||
" wui.flag_state = 'S' AND\n" +
|
||||
" IsNull(wui.priority, '0') <> '0'\n" +
|
||||
"WHERE wtb_depo.cod_mdep = %s",
|
||||
exportType, codMdep);
|
||||
|
||||
List<HashMap<String, Object>> listExport = UtilityDB.executeSimpleQuery(multiDBPv.getPrimaryConnection(), sql);
|
||||
|
||||
boolean existFormatFile = listExport.stream()
|
||||
.anyMatch(x -> !UtilityString.isNullOrEmpty(UtilityHashMap.getValueIfExists(x, "format_file")));
|
||||
|
||||
if (!existFormatFile)
|
||||
throw new Exception(String.format("Nessuna tipologia di esportazione configurata per il punto vendita %s - %s", codMdep, descrizione));
|
||||
|
||||
for (HashMap<String, Object> export : listExport) {
|
||||
String userName = UtilityHashMap.getValueIfExists(export, "user_name");
|
||||
String formatFile = UtilityHashMap.getValueIfExists(export, "format_file");
|
||||
|
||||
httpRestWrapper.callInternalExport(multiDBPv.getDistributoreDatasource().getProfile(),
|
||||
userName,
|
||||
exportType,
|
||||
formatFile,
|
||||
Entity.json(variazioniPvInputDTO));
|
||||
|
||||
boolean testError = false;
|
||||
|
||||
if (testError)
|
||||
throw new Exception("TEST ERROR");
|
||||
|
||||
|
||||
|
||||
//
|
||||
// String emailForLog = setupGest.getExportSetup(multiDBTransactionManager.getPrimaryConnection(), exportType, formatFile, "EMAIL_FOR_LOG");
|
||||
// int numVariazioni = variazioniPvInputDTO.getVariazioni().size();
|
||||
// if (!UtilityString.isNullOrEmpty(emailForLog) && numVariazioni > 0) {
|
||||
// String oggetto =
|
||||
// "Esportazione " +
|
||||
// variazioniPvInputDTO.getTipoReportEnum().toString() +
|
||||
// " punto vendita " +
|
||||
// userName;
|
||||
//
|
||||
// String messaggio = oggetto +
|
||||
// " avvenuta con successo." + CommonConstants.A_CAPO +
|
||||
// " Sono stati esportati n. " + numVariazioni + " articoli";
|
||||
//
|
||||
//
|
||||
// mailService.sendMailPrimary(multiDBTransactionManager, null, null, emailForLog, null, null, oggetto, messaggio, false, false, null, null, null, false, null);
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,8 +8,8 @@ import it.integry.ems.json.ResponseJSONObjectMapper;
|
||||
import it.integry.ems.response.EsitoType;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.response.StatusResponse;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.Variazioni.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPVService;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvService;
|
||||
import it.integry.ems.retail.Scontrini.service.ScontriniImportService;
|
||||
import it.integry.ems.retail.dto.IntegRetailRequestDTO;
|
||||
import it.integry.ems.retail.export.VariazioniExporter;
|
||||
@@ -45,7 +45,7 @@ public class RetailController {
|
||||
private ScontriniService scontriniService;
|
||||
|
||||
@Autowired
|
||||
private VariazioniPVService retailService;
|
||||
private VariazioniPvService retailService;
|
||||
|
||||
@Autowired
|
||||
private EmsServices emsServices;
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
package it.integry.ems.retail.export;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.ems.export.base.BaseEntityExporter;
|
||||
import it.integry.ems.export.base.EntityExportResponse;
|
||||
import it.integry.ems.export.base.IEntityExporter;
|
||||
import it.integry.ems.retail.export.service.VariazioniPvExportServices;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.NtbVariazioniExportLog;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
import org.springframework.web.context.WebApplicationContext;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class VariazioniExporter extends BaseEntityExporter implements IEntityExporter {
|
||||
|
||||
@@ -21,7 +28,7 @@ public class VariazioniExporter extends BaseEntityExporter implements IEntityExp
|
||||
|
||||
switch (currentFormatEnum) {
|
||||
case XML_DIALOGO:
|
||||
entityExportResponse = variazioniPvExportServices.xmlDialogo(type, format, whereCond, jsonBody, this.wtbUserInfo, anomalie);
|
||||
entityExportResponse = variazioniPvExportServices.xmlDialogo(type, format, whereCond, jsonBody, this.wtbUserInfo);
|
||||
break;
|
||||
case SES_SEP:
|
||||
entityExportResponse = variazioniPvExportServices.sesSep(type, format, whereCond, jsonBody, this.wtbUserInfo, anomalie);
|
||||
@@ -36,6 +43,19 @@ public class VariazioniExporter extends BaseEntityExporter implements IEntityExp
|
||||
public void postSend(EntityExportResponse entityExportResponse) throws Exception {
|
||||
Connection conn = multiDBTransactionManager.getPrimaryDatasource().getConnection();
|
||||
//SE CONFIGURATO SALVARE NELLA TABELLA DI LOG DELLE VARIAZIONI.
|
||||
boolean saveLog = setupGest.getExportSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), type, format, "SAVE_LOG");
|
||||
if (saveLog && entityExportResponse != null && entityExportResponse.getExtraInfo() instanceof List){
|
||||
WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext();
|
||||
|
||||
List<NtbVariazioniExportLog> ntbVariazioniExportLogs =
|
||||
((List<?>) entityExportResponse.getExtraInfo()).stream()
|
||||
.filter(x -> x instanceof NtbVariazioniExportLog)
|
||||
.map(x -> (NtbVariazioniExportLog) x)
|
||||
.collect(Collectors.toList());
|
||||
EntityProcessor entityProcessor = context.getBean(EntityProcessor.class);
|
||||
entityProcessor.processEntityList(ntbVariazioniExportLogs, true);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -9,18 +9,23 @@ import it.integry.ems.json.ResponseJSONObjectMapper;
|
||||
import it.integry.ems.properties.EmsProperties;
|
||||
import it.integry.ems.response.EsitoType;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.Variazioni.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPVService;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniPvInputDTO;
|
||||
import it.integry.ems.retail.ReportVariazioni.dto.VariazioniReportType;
|
||||
import it.integry.ems.retail.ReportVariazioni.service.VariazioniPvService;
|
||||
import it.integry.ems.retail.ReportVariazioni.xml.*;
|
||||
import it.integry.ems.retail.pvmRetail.dto.SesSepDTO;
|
||||
import it.integry.ems.service.HttpRestWrapper;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDirs;
|
||||
import it.integry.ems.utility.UtilityFile;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.entity.NtbVariazioniExportLog;
|
||||
import it.integry.ems_model.entity.WtbUsersInfo;
|
||||
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.UtilityDate;
|
||||
import it.integry.ems_model.utility.UtilityHashMap;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
@@ -40,8 +45,6 @@ import javax.xml.transform.stream.StreamSource;
|
||||
import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
@@ -57,58 +60,60 @@ public class VariazioniPvExportServices {
|
||||
private SetupGest setupGest;
|
||||
@Autowired
|
||||
private ResponseJSONObjectMapper jsonObjectMapper;
|
||||
@Autowired
|
||||
private VariazioniPVService variazioniPVService;
|
||||
|
||||
public EntityExportResponse xmlDialogo(String type, String format, String whereCond, JsonNode jsonBody, WtbUsersInfo wtbUsersInfo, List<AnomalieDTO> anomalie) throws Exception {
|
||||
String fileXml = null;
|
||||
VariazioniPvInputDTO variazioniPvDTO = new VariazioniPvInputDTO();
|
||||
EntityExportResponse<List<File>> entityExportResponse = new EntityExportResponse<List<File>>();
|
||||
entityExportResponse.setResponse(new ArrayList<File>());
|
||||
boolean isSingleLisv = false;
|
||||
@Autowired
|
||||
private VariazioniPvService variazioniPvService;
|
||||
|
||||
|
||||
public EntityExportResponse xmlDialogo(String type, String format, String whereCond, JsonNode jsonBody, WtbUsersInfo wtbUsersInfo) throws Exception {
|
||||
String fileXml;
|
||||
List<EntityBase> extraInfo = new ArrayList<>();
|
||||
|
||||
EntityExportResponse<List<File>> entityExportResponse = new EntityExportResponse<>();
|
||||
entityExportResponse.setResponse(new ArrayList<>());
|
||||
|
||||
|
||||
Map<String, String> setup = setupGest.getExportSetupSection(multiDBTransactionManager.getPrimaryConnection(), type, format);
|
||||
|
||||
VariazioniPvInputDTO variazioniPvDTO = null;
|
||||
if (jsonBody != null) {
|
||||
ResponseJSONObjectMapper mapper = new ResponseJSONObjectMapper();
|
||||
variazioniPvDTO = mapper.readValue(jsonBody.toString(), VariazioniPvInputDTO.class);
|
||||
variazioniPvDTO = jsonObjectMapper.readValue(jsonBody.toString(), VariazioniPvInputDTO.class);
|
||||
}
|
||||
|
||||
if (UtilityString.isNullOrEmpty(variazioniPvDTO.getFileXml())) {
|
||||
if (variazioniPvDTO != null && UtilityString.isNullOrEmpty(variazioniPvDTO.getFileXml())) {
|
||||
boolean existJson = (variazioniPvDTO.getVariazioni() != null || variazioniPvDTO.getVariazioni().size() > 0);
|
||||
if (variazioniPvDTO.getDataValidita() == null) {
|
||||
variazioniPvDTO.setDataValidita(UtilityDate.RelativeDateTime(new Date(), 1));
|
||||
variazioniPvDTO.setDataValidita( UtilityDate.RelativeDateTime(new Date(), 1));
|
||||
}
|
||||
if (variazioniPvDTO.getTipoReportEnum() == null) {
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniPvInputDTO.Type.VARIAZIONI);
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniReportType.VARIAZIONI);
|
||||
|
||||
}
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(whereCond) && UtilityString.isNullOrEmpty(variazioniPvDTO.getWhereCondArt())) {
|
||||
variazioniPvDTO.setWhereCondArt(whereCond);
|
||||
} else if (UtilityString.isNullOrEmpty(whereCond) && UtilityString.isNullOrEmpty(variazioniPvDTO.getWhereCondArt()) &&
|
||||
wtbUsersInfo != null) {
|
||||
String query =
|
||||
"SELECT cod_vlis " +
|
||||
" FROM wtb_depo INNER JOIN mtb_depo ON wtb_depo.cod_mdep = mtb_depo.cod_mdep " +
|
||||
" WHERE wtb_depo.user_name = " + UtilityDB.valueToString(wtbUsersInfo.getUserName());
|
||||
PreparedStatement ps = multiDBTransactionManager.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
if (rs.next()) {
|
||||
String codVlis = rs.getString(1);
|
||||
if (!existJson) {
|
||||
if (!UtilityString.isNullOrEmpty(whereCond) && UtilityString.isNullOrEmpty(variazioniPvDTO.getWhereCondArt())) {
|
||||
variazioniPvDTO.setWhereCondArt(whereCond);
|
||||
} else if (UtilityString.isNullOrEmpty(whereCond) && UtilityString.isNullOrEmpty(variazioniPvDTO.getWhereCondArt()) &&
|
||||
wtbUsersInfo != null) {
|
||||
String query =
|
||||
"SELECT cod_vlis " +
|
||||
" FROM wtb_depo INNER JOIN mtb_depo ON wtb_depo.cod_mdep = mtb_depo.cod_mdep " +
|
||||
" WHERE wtb_depo.user_name = " + UtilityDB.valueToString(wtbUsersInfo.getUserName());
|
||||
String codVlis = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
if (!UtilityString.isNullOrEmpty(codVlis)) {
|
||||
whereCond = "vtb_list.cod_vlis = " + UtilityDB.valueToString(codVlis);
|
||||
variazioniPvDTO.setWhereCondLisv(whereCond);
|
||||
variazioniPvDTO.setWhereCondArt(whereCond);
|
||||
}
|
||||
}
|
||||
rs.close();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
fileXml = variazioniPVService.variazionePrezzoPVXml(variazioniPvDTO);
|
||||
}
|
||||
}
|
||||
fileXml = variazioniPvService.variazionePrezzoPVXml(variazioniPvDTO);
|
||||
} else {
|
||||
//fileXml = new String(Base64.decodeBase64(variazioniPvDTO.getFileXml()), "UTF-8");
|
||||
fileXml = variazioniPvDTO.getFileXml();
|
||||
logger.trace(String.format(VariazioniPvExportServices.class.getSimpleName() + " %s %s", variazioniPvDTO.getCodVlis(), variazioniPvDTO.getTipoReport()));
|
||||
}
|
||||
|
||||
boolean isSingleLisv = false;
|
||||
if (!UtilityString.isNullOrEmpty(fileXml)) {
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(ReportType.class);
|
||||
Source source = new StreamSource(new StringReader(fileXml));
|
||||
@@ -134,7 +139,7 @@ public class VariazioniPvExportServices {
|
||||
String query =
|
||||
"SELECT wtb_users.user_name, " +
|
||||
" wtb_users.password, " +
|
||||
" case when charindex('FILE', priority) < 0 THEN 'S' ELSE flag_remote_save END " +
|
||||
" case when charindex('FILE', priority) < 0 THEN 'S' ELSE flag_remote_save END as salvataggio_remoto" +
|
||||
" FROM wtb_users INNER JOIN wtb_users_info ON wtb_users.user_name = wtb_users_info.user_name " +
|
||||
" INNER JOIN wtb_depo on wtb_users.user_name = wtb_depo.user_name " +
|
||||
" WHERE wtb_users.key_group = '10' AND " +
|
||||
@@ -142,61 +147,52 @@ public class VariazioniPvExportServices {
|
||||
" wtb_users_info.export_type = " + UtilityDB.valueToString(type) + " AND " +
|
||||
" wtb_users_info.format_file = " + UtilityDB.valueToString(format);
|
||||
|
||||
PreparedStatement ps = multiDBPv.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
if (rs.next()) {
|
||||
String userName = rs.getString(1);
|
||||
String password = rs.getString(2);
|
||||
String salvataggioRemoto = rs.getString(3);
|
||||
HashMap<String, Object> datiUtente = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBPv.getPrimaryConnection(), query);
|
||||
|
||||
if ("N".equalsIgnoreCase(salvataggioRemoto)) {
|
||||
throw new Exception(String.format("Impossobile esportare le variazioni del punto vendita %s. Non è attivo il salvataggio in remoto del file.", listino.getCodMdep()));
|
||||
}
|
||||
if (!UtilityHashMap.isPresent(datiUtente))
|
||||
throw new Exception(String.format("Nessun utente trovato per il punto vendita %s", fileVariazioniDTO.getCodVlis()));
|
||||
|
||||
Marshaller marshaller = jaxbContext.createMarshaller();
|
||||
//marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
|
||||
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
|
||||
//marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
|
||||
String userName = UtilityHashMap.getValueIfExists(datiUtente, "user_name");
|
||||
String password = UtilityHashMap.getValueIfExists(datiUtente, "password");
|
||||
String salvataggioRemoto = UtilityHashMap.getValueIfExists(datiUtente, "salvataggio_remoto", "N");
|
||||
|
||||
StringWriter fileXmlListino = new StringWriter();
|
||||
marshaller.marshal(fileVariazioniDTO, fileXmlListino);
|
||||
//xmlStreamWriter.writeEndDocument();
|
||||
String xmlVariazioni = fileXmlListino.toString();
|
||||
//variazioniPvDTO.setFileXml(Base64.encodeBase64String(xmlVariazioni.getBytes("UTF-8")));
|
||||
variazioniPvDTO.setFileXml(xmlVariazioni);
|
||||
StringBuilder jsonResponse = new StringBuilder();
|
||||
String url = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "DATI_AZIENDA", "WEBSERVICE", "WS_ENDPOINT_REST");
|
||||
if (UtilityString.isNullOrEmpty(url)) {
|
||||
url = "localhost:8080";
|
||||
}
|
||||
HashMap<String, String> param = new HashMap<String, String>();
|
||||
param.put("profileDb", profileDB);
|
||||
param.put("tipoReport", variazioniPvDTO.getTipoReport());
|
||||
param.put("dataValidita", new SimpleDateFormat("dd/MM/yyyy").format(variazioniPvDTO.getDataValidita()));
|
||||
int requestStatusCode = HttpRestWrapper.callGeneric("http://" + url + "/ems-api/exportVariazioniPv", userName, password, xmlVariazioni, ContentType.TEXT_PLAIN, jsonResponse, param);
|
||||
if ("N".equalsIgnoreCase(salvataggioRemoto))
|
||||
throw new Exception(String.format("Impossobile esportare le variazioni del punto vendita %s. Non è attivo il salvataggio in remoto del file.", listino.getCodMdep()));
|
||||
|
||||
if (requestStatusCode != 200) {
|
||||
throw new Exception(String.format("Non è stato possibile chiamare il servizio di esportazione variazioni (Status: %d)", requestStatusCode));
|
||||
} else {
|
||||
ServiceRestResponse responseObject = jsonObjectMapper.readValue(jsonResponse.toString(), ServiceRestResponse.class);
|
||||
if (responseObject.getEsito() == EsitoType.KO) {
|
||||
throw new Exception(responseObject.getErrorMessage());
|
||||
}
|
||||
Marshaller marshaller = jaxbContext.createMarshaller();
|
||||
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
|
||||
|
||||
StringWriter fileXmlListino = new StringWriter();
|
||||
marshaller.marshal(fileVariazioniDTO, fileXmlListino);
|
||||
String xmlVariazioni = fileXmlListino.toString();
|
||||
variazioniPvDTO.setFileXml(xmlVariazioni);
|
||||
StringBuilder jsonResponse = new StringBuilder();
|
||||
String url = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "DATI_AZIENDA", "WEBSERVICE", "WS_ENDPOINT_REST");
|
||||
if (UtilityString.isNullOrEmpty(url)) url = "localhost:8080";
|
||||
|
||||
HashMap<String, String> param = new HashMap<>();
|
||||
param.put("profileDb", profileDB);
|
||||
param.put("type", type);
|
||||
param.put("format", format);
|
||||
String json = jsonObjectMapper.writeValueAsString(variazioniPvDTO);
|
||||
int requestStatusCode = HttpRestWrapper.callGeneric("http://" + url + "/ems-api/export", userName, password, json, ContentType.APPLICATION_JSON, jsonResponse, param);
|
||||
|
||||
if (requestStatusCode != 200) {
|
||||
throw new Exception(String.format("Non è stato possibile chiamare il servizio di esportazione variazioni (Status: %d)", requestStatusCode));
|
||||
} else {
|
||||
ServiceRestResponse responseObject = jsonObjectMapper.readValue(jsonResponse.toString(), ServiceRestResponse.class);
|
||||
if (responseObject.getEsito() == EsitoType.KO) {
|
||||
throw new Exception(responseObject.getErrorMessage());
|
||||
}
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
multiDBPv.closeAll();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (isSingleLisv) {
|
||||
String suffix = "";
|
||||
if (variazioniPvDTO.getTipoReportEnum().compareTo(VariazioniPvInputDTO.Type.PROMOZIONI) == 0) {
|
||||
if (variazioniPvDTO.getTipoReportEnum().compareTo(VariazioniReportType.PROMOZIONI) == 0) {
|
||||
suffix = "P";
|
||||
}
|
||||
String pathFile = setup.get("PATH_FILE");
|
||||
@@ -214,12 +210,32 @@ public class VariazioniPvExportServices {
|
||||
if (!UtilityString.isNullOrEmpty(wtbUsersInfo.getFileName())) {
|
||||
fileName = UtilityString.replaceSubString(wtbUsersInfo.getFileName(), "%", fileName);
|
||||
}
|
||||
|
||||
boolean saveLog = setupGest.getExportSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), type, format, "SAVE_LOG");
|
||||
|
||||
if ( saveLog ) {
|
||||
String json = null;
|
||||
if (variazioniPvDTO != null && variazioniPvDTO.getVariazioni() != null ){
|
||||
json = jsonObjectMapper.writeValueAsString(variazioniPvDTO.getVariazioni());
|
||||
}
|
||||
NtbVariazioniExportLog ntbVariazioniExportLog =
|
||||
new NtbVariazioniExportLog()
|
||||
.setDataExport(new Date())
|
||||
.setCodVlis(variazioniPvDTO.getCodVlis())
|
||||
.setFormatFile(format)
|
||||
.setJsonString(json)
|
||||
.setXmlFileName(fileName + ".xml")
|
||||
.setUserName(variazioniPvDTO.getUserName());
|
||||
ntbVariazioniExportLog.setOperation(OperationType.INSERT);
|
||||
extraInfo.add(ntbVariazioniExportLog);
|
||||
}
|
||||
fileName = pathFile + File.separator + fileName + ".xml";
|
||||
File file = new File(fileName);
|
||||
FileOutputStream fos = new FileOutputStream(file);
|
||||
IOUtils.write(fileXml.toString().getBytes("UTF-8"), fos);
|
||||
fos.flush();
|
||||
IOUtils.closeQuietly(fos);
|
||||
entityExportResponse.setExtraInfo(extraInfo);
|
||||
entityExportResponse.getResponse().add(file);
|
||||
}
|
||||
|
||||
@@ -240,17 +256,16 @@ public class VariazioniPvExportServices {
|
||||
}
|
||||
|
||||
if (jsonBody != null) {
|
||||
ResponseJSONObjectMapper mapper = new ResponseJSONObjectMapper();
|
||||
variazioniPvDTO = mapper.readValue(jsonBody.toString(), VariazioniPvInputDTO.class);
|
||||
variazioniPvDTO = jsonObjectMapper.readValue(jsonBody.toString(), VariazioniPvInputDTO.class);
|
||||
}
|
||||
if (variazioniPvDTO.getDataValidita() == null) {
|
||||
variazioniPvDTO.setDataValidita(UtilityDate.RelativeDateTime(new Date(), 1));
|
||||
}
|
||||
if (variazioniPvDTO.getTipoReportEnum() == null) {
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniPvInputDTO.Type.VARIAZIONI);
|
||||
variazioniPvDTO.setTipoReportEnum(VariazioniReportType.VARIAZIONI);
|
||||
}
|
||||
|
||||
ReportType variazioni = variazioniPVService.variazionePrezzoPV(variazioniPvDTO);
|
||||
ReportType variazioni = variazioniPvService.variazionePrezzoPV(variazioniPvDTO);
|
||||
|
||||
if (variazioni.getCodVlis().size() == 1) {
|
||||
List<Serializable> content = variazioni.getCodVlis().get(0).getContent();
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@RestController
|
||||
@Scope("request")
|
||||
@@ -22,13 +23,30 @@ public class ExchangeColliImportController {
|
||||
private ExchangeColliImportService exchangeColliImportService;
|
||||
|
||||
|
||||
|
||||
@RequestMapping(value = "importLavorazione", method = RequestMethod.GET)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse importColliLavorazione(HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration) throws Exception {
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration) throws Exception {
|
||||
|
||||
exchangeColliImportService.importColliLavorazione();
|
||||
return ServiceRestResponse.createPositiveResponse();
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = "getCertificati", method = RequestMethod.GET)
|
||||
public @ResponseBody
|
||||
ServiceRestResponse getCertificati(HttpServletRequest request,
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@RequestParam() String codAnag,
|
||||
@RequestParam() String dataCert,
|
||||
@RequestParam() String codMart,
|
||||
@RequestParam() String codVdes
|
||||
) throws Exception {
|
||||
LocalDate dataCertificato = LocalDate.parse(dataCert);
|
||||
return ServiceRestResponse.createPositiveResponse(exchangeColliImportService.getCertificati(codAnag,
|
||||
dataCertificato,
|
||||
codMart,
|
||||
codVdes));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,252 @@
|
||||
package it.integry.ems.system.exchange.dto;
|
||||
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class CertificatiSinfoOneDTO {
|
||||
@SqlField("codAnag")
|
||||
private String codAnag;
|
||||
@SqlField("ragSoc")
|
||||
private String ragSoc;
|
||||
@SqlField("codVdes")
|
||||
private String codVdes;
|
||||
@SqlField("dataCert")
|
||||
private LocalDate dataCert;
|
||||
@SqlField("numCert")
|
||||
private BigDecimal numCert;
|
||||
@SqlField("dataBolla")
|
||||
private LocalDate dataBolla;
|
||||
@SqlField("numBolla")
|
||||
private String numBolla;
|
||||
@SqlField("codMart")
|
||||
private String codMart;
|
||||
@SqlField("varieta")
|
||||
private String varieta;
|
||||
@SqlField("lottoFornitore")
|
||||
private String lottoFornitore;
|
||||
@SqlField("pesoLordoKg")
|
||||
private BigDecimal pesoLordoKg;
|
||||
@SqlField("pesoNettoKg")
|
||||
private BigDecimal pesoNettoKg;
|
||||
@SqlField("scartoKg")
|
||||
private BigDecimal scartoKg;
|
||||
@SqlField("valUnt")
|
||||
private BigDecimal valUnt;
|
||||
@SqlField("casseScaricate")
|
||||
private BigDecimal casseScaricate;
|
||||
@SqlField("casseRese")
|
||||
private BigDecimal casseRese;
|
||||
@SqlField("targaMotrice")
|
||||
private String targaMotrice;
|
||||
@SqlField("targaRimorchio")
|
||||
private String targaRimorchio;
|
||||
@SqlField("tagliandoPesa")
|
||||
private String tagliandoPesa;
|
||||
@SqlField("dataOraLordo")
|
||||
private LocalDateTime dataOraLordo;
|
||||
@SqlField("sconto8")
|
||||
private BigDecimal sconto8;
|
||||
@SqlField("scartoCq")
|
||||
private BigDecimal scartoCq;
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRagSoc() {
|
||||
return ragSoc;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setRagSoc(String ragSoc) {
|
||||
this.ragSoc = ragSoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVdes() {
|
||||
return codVdes;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setCodVdes(String codVdes) {
|
||||
this.codVdes = codVdes;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDate getDataCert() {
|
||||
return dataCert;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setDataCert(LocalDate dataCert) {
|
||||
this.dataCert = dataCert;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumCert() {
|
||||
return numCert;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setNumCert(BigDecimal numCert) {
|
||||
this.numCert = numCert;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDate getDataBolla() {
|
||||
return dataBolla;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setDataBolla(LocalDate dataBolla) {
|
||||
this.dataBolla = dataBolla;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNumBolla() {
|
||||
return numBolla;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setNumBolla(String numBolla) {
|
||||
this.numBolla = numBolla;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getVarieta() {
|
||||
return varieta;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setVarieta(String varieta) {
|
||||
this.varieta = varieta;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLottoFornitore() {
|
||||
return lottoFornitore;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setLottoFornitore(String lottoFornitore) {
|
||||
this.lottoFornitore = lottoFornitore;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPesoLordoKg() {
|
||||
return pesoLordoKg;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setPesoLordoKg(BigDecimal pesoLordoKg) {
|
||||
this.pesoLordoKg = pesoLordoKg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPesoNettoKg() {
|
||||
return pesoNettoKg;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setPesoNettoKg(BigDecimal pesoNettoKg) {
|
||||
this.pesoNettoKg = pesoNettoKg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getScartoKg() {
|
||||
return scartoKg;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setScartoKg(BigDecimal scartoKg) {
|
||||
this.scartoKg = scartoKg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getValUnt() {
|
||||
return valUnt;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setValUnt(BigDecimal valUnt) {
|
||||
this.valUnt = valUnt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getCasseScaricate() {
|
||||
return casseScaricate;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setCasseScaricate(BigDecimal casseScaricate) {
|
||||
this.casseScaricate = casseScaricate;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getCasseRese() {
|
||||
return casseRese;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setCasseRese(BigDecimal casseRese) {
|
||||
this.casseRese = casseRese;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTargaMotrice() {
|
||||
return targaMotrice;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setTargaMotrice(String targaMotrice) {
|
||||
this.targaMotrice = targaMotrice;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTargaRimorchio() {
|
||||
return targaRimorchio;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setTargaRimorchio(String targaRimorchio) {
|
||||
this.targaRimorchio = targaRimorchio;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTagliandoPesa() {
|
||||
return tagliandoPesa;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setTagliandoPesa(String tagliandoPesa) {
|
||||
this.tagliandoPesa = tagliandoPesa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDateTime getDataOraLordo() {
|
||||
return dataOraLordo;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setDataOraLordo(LocalDateTime dataOraLordo) {
|
||||
this.dataOraLordo = dataOraLordo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getSconto8() {
|
||||
return sconto8;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setSconto8(BigDecimal sconto8) {
|
||||
this.sconto8 = sconto8;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getScartoCq() {
|
||||
return scartoCq;
|
||||
}
|
||||
|
||||
public CertificatiSinfoOneDTO setScartoCq(BigDecimal scartoCq) {
|
||||
this.scartoCq = scartoCq;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,27 @@
|
||||
package it.integry.ems.system.exchange.service;
|
||||
|
||||
import it.integry.ems.datasource.DataSource;
|
||||
import it.integry.ems.expansion.RunnableThrowable;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.system.exchange.dto.CertificatiSinfoOneDTO;
|
||||
import it.integry.ems_model.base.EquatableEntityInterface;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.MtbColr;
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||
import it.integry.ems_model.utility.UtilityQuery;
|
||||
import it.integry.ems_model.utility.*;
|
||||
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.sql.Connection;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
@@ -47,6 +54,8 @@ public class ExchangeColliImportService {
|
||||
private ExchangePartiteMagazzinoImportService exchangePartiteMagazzinoImportService;
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
|
||||
public void importColliLavorazione() throws Exception {
|
||||
|
||||
@@ -179,4 +188,63 @@ public class ExchangeColliImportService {
|
||||
}
|
||||
|
||||
|
||||
public List<CertificatiSinfoOneDTO> getCertificati(String codAnag, LocalDate dataCert, String codMart, String codVdes) throws Exception {
|
||||
String profileDbExchange = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "PVM", "PIAN_ACC_ROSSG", "PROFILE_DB_CERT");
|
||||
|
||||
|
||||
DataSource dsSync = new DataSource();
|
||||
dsSync.initialize(profileDbExchange);
|
||||
multiDBTransactionManager.addConnection(profileDbExchange, dsSync);
|
||||
Connection conExch = multiDBTransactionManager.getDatabaseDataSource(profileDbExchange).getConnection();
|
||||
|
||||
List<CertificatiSinfoOneDTO> listaCert = UtilityDB.executeSimpleQueryDTO(
|
||||
conExch,
|
||||
Query.format("SELECT TRIM(cod_anag) AS codAnag,\n" +
|
||||
" TRIM(rag_soc) AS ragSoc,\n" +
|
||||
" TRIM(cod_Vdes) AS codVdes,\n" +
|
||||
" data_cert AS dataCert,\n" +
|
||||
" CONVERT(NUMERIC(10, 0), num_cert) AS numCert,\n" +
|
||||
" data_bolla AS dataBolla,\n" +
|
||||
" TRIM(num_bolla) AS numBolla,\n" +
|
||||
" TRIM(PMB_TIPO_POMODORO) AS codMart,\n" +
|
||||
" TRIM(PMB_SEME) AS varieta,\n" +
|
||||
" TRIM(lotto_fornitore) AS lottoFornitore,\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), scarto_kg) AS scartoKg,\n" +
|
||||
" CONVERT(NUMERIC(15, 3), val_unt) AS valUnt,\n" +
|
||||
" CONVERT(NUMERIC(10, 0), casse_scaricate) AS casseScaricate,\n" +
|
||||
" CONVERT(NUMERIC(10, 0), casse_rese) AS casseRese,\n" +
|
||||
" TRIM(targa_motrice) AS targaMotrice,\n" +
|
||||
" TRIM(targa_rimorchio) AS targaRimorchio,\n" +
|
||||
" TRIM(tagliando_pesa) AS tagliandoPesa,\n" +
|
||||
" data_ora_lordo AS dataOraLordo,\n" +
|
||||
" CONVERT(NUMERIC(15, 3), sconto8) AS sconto8,\n" +
|
||||
" CONVERT(NUMERIC(15, 3), PMB_SCARTO_CQ) AS scartoCq\n " +
|
||||
"FROM s1_Certificati\n" +
|
||||
"WHERE cod_anag = {}\n" +
|
||||
" AND data_cert = {}\n" +
|
||||
" AND PMB_TIPO_POMODORO = {}", codAnag, dataCert, codMart),
|
||||
CertificatiSinfoOneDTO.class);
|
||||
String codDtipLavCar = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "CRUSCOTTO_PRODUZIONE",
|
||||
"SETUP",
|
||||
"COD_DTIP_CAR");
|
||||
|
||||
List<DtbDoct> certificatiImportati = UtilityDB.executeSimpleQueryDTO(
|
||||
multiDBTransactionManager.getPrimaryConnection(),
|
||||
Query.format("SELECT data_doc,num_doc,ser_doc,cod_dtip,cod_anag \n" +
|
||||
"from dtb_doct \n" +
|
||||
" WHERE " +
|
||||
" cod_dtip = {}" +
|
||||
" AND cod_anag = {}\n" +
|
||||
" AND data_doc = {}\n", codDtipLavCar, codAnag, dataCert),
|
||||
DtbDoct.class);
|
||||
if (!UtilityList.isNullOrEmpty(certificatiImportati) && ! UtilityList.isNullOrEmpty(listaCert)) {
|
||||
listaCert = listaCert.stream().filter((CertificatiSinfoOneDTO cert) ->
|
||||
certificatiImportati.stream().noneMatch(ddt -> ddt.getNumDoc() == cert.getNumCert().intValue())
|
||||
).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
return listaCert;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ public class SystemMigrationService {
|
||||
sqlObjectType = SqlObjectTypeEnum.PROCEDURE;
|
||||
break;
|
||||
case "T":
|
||||
case "TR":
|
||||
sqlObjectType = SqlObjectTypeEnum.TRIGGER;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -90,6 +90,9 @@ public class RestLoggerBodyFilter extends AbstractRequestLoggingFilter {
|
||||
!serviceName.startsWith("agribook/orders/attachment/") &&
|
||||
!serviceName.contains("upload") &&
|
||||
!serviceName.startsWith("users/") &&
|
||||
!serviceName.startsWith("users/") &&
|
||||
!serviceName.startsWith("variazioni-negozi/") &&
|
||||
!serviceName.startsWith("decodeUcs/") &&
|
||||
(!serviceName.contains("processSql") || UtilityDebug.isDebugExecution());
|
||||
}
|
||||
|
||||
|
||||
19
pom.xml
19
pom.xml
@@ -77,6 +77,25 @@
|
||||
<target>${java.version}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-toolchains-plugin</artifactId>
|
||||
<version>1.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>toolchain</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<toolchains>
|
||||
<jdk>
|
||||
<version>${java.version}</version>
|
||||
</jdk>
|
||||
</toolchains>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
|
||||
14
toolchains-jenkins.xml
Normal file
14
toolchains-jenkins.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<toolchains>
|
||||
<!-- JDK toolchains -->
|
||||
<toolchain>
|
||||
<type>jdk</type>
|
||||
<provides>
|
||||
<version>1.8</version>
|
||||
</provides>
|
||||
<configuration>
|
||||
<jdkHome>C:\Program Files\Java\jdk1.8.0_202</jdkHome>
|
||||
</configuration>
|
||||
</toolchain>
|
||||
|
||||
</toolchains>
|
||||
Reference in New Issue
Block a user