Implementata esportazione dati zucchetti

This commit is contained in:
2024-03-21 10:05:13 +01:00
parent e1cdf4ed93
commit 42d6867be5
5 changed files with 111 additions and 5 deletions

View File

@@ -11,6 +11,7 @@ public enum EntityExportType {
ORDINI("ORDINI"),
ORDINI_ACQUISTO("ORDINI ACQUISTO"),
ORDINI_VENDITA("ORDINI VENDITA"),
RISORSE_UMANE("RISORSE UMANE"),
MOVIMENTI_CONTABILI("MOVIMENTI CONTABILI"),
OFFERTE("OFFERTE"),
RAPPORTINI("RAPPORTINI"),

View File

@@ -7,6 +7,7 @@ import it.integry.ems.export.base.EntityExporterUtility;
import it.integry.ems.export.enums.EntityExportType;
import it.integry.ems.system.Import.AnagraficaImporter;
import it.integry.ems.system.export.AnagraficaExporter;
import it.integry.ems.system.export.RisorseUmaneExporter;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
@@ -21,6 +22,7 @@ public class EmsSystemContext {
logger.debug("Init");
EntityImporterUtility.addTypeBinding(EntityImportType.ANAGRAFICHE_CLIENTI_FORNITORI, AnagraficaImporter.class);
EntityExporterUtility.addTypeBinding(EntityExportType.ANAGRAFICHE_CLIENTI_FORNITORI, AnagraficaExporter.class);
EntityExporterUtility.addTypeBinding(EntityExportType.RISORSE_UMANE, RisorseUmaneExporter.class);
}
}

View File

@@ -10,7 +10,7 @@ import org.springframework.web.context.WebApplicationContext;
public class RisorseUmaneExporter extends BaseEntityExporter implements IEntityExporter {
@Override
public EntityExportResponse doExport() throws Exception {
Format enumFormat = Format.fromString(format);
Format enumFormat = Format.fromString(super.format);
WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext();
if (enumFormat != null){

View File

@@ -1,2 +1,30 @@
package it.integry.ems.system.export.dto;public class ZucchettiDto {
package it.integry.ems.system.export.dto;
public class ZucchettiDTO {
public String key;
public String value;
public ZucchettiDTO set(String key, String value) {
this.key = key;
this.value = value;
return this;
}
public String getKey() {
return key;
}
public ZucchettiDTO setKey(String key) {
this.key = key;
return this;
}
public String getValue() {
return value;
}
public ZucchettiDTO setValue(String value) {
this.value = value;
return this;
}
}

View File

@@ -1,17 +1,22 @@
package it.integry.ems.system.export.services.risorseUmane;
import com.annimon.stream.Stream;
import it.integry.ems.export.base.EntityExportResponse;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.system.export.dto.ZucchettiDTO;
import it.integry.ems_model.entity.JtbFlav;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.utility.UtilityString;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityDate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.io.File;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Scope("request")
@@ -24,7 +29,77 @@ public class RisorseUmaneService {
public EntityExportResponse export(String type, String format) throws Exception {
EntityExportResponse<List<File>> entityExportResponse = new EntityExportResponse<>();
List<JtbFlav> users = getUsers();
String file = "";
String codAzienda = "000001";
String codDipendete = "0000001";
String dataInizioValidita = "18000101";
String codRicezione = "HRANAGRAFICO";
int numDipendete = Integer.parseInt(codDipendete);
List<String> usersFileList = new ArrayList<>();
for (JtbFlav jtbFlav : users) {
List<ZucchettiDTO> zucchettiDto = new ArrayList<>();
numDipendete++;
String baseLine = codAzienda + ";" +
codDipendete + ";" +
dataInizioValidita + ";" +
codRicezione + ";";
zucchettiDto.add(new ZucchettiDTO().set("FLCHECKOBB", "S"));
zucchettiDto.add(new ZucchettiDTO().set("IDSUBJECT", jtbFlav.getCodJflav()));
zucchettiDto.add(new ZucchettiDTO().set("IDTPSUBJ", "DIPEND"));
zucchettiDto.add(new ZucchettiDTO().set("ANNAME", jtbFlav.getNome()));
zucchettiDto.add(new ZucchettiDTO().set("ANSURNAM", jtbFlav.getCognome()));
zucchettiDto.add(new ZucchettiDTO().set("DTBIRTH", UtilityDate.formatDate(jtbFlav.getDataNascita(), "yyyyMMdd")));
zucchettiDto.add(new ZucchettiDTO().set("DTENDVL", UtilityDate.formatDate(jtbFlav.getDataFineLavoro(), "yyyyMMdd")));
zucchettiDto.add(new ZucchettiDTO().set("FLACTIVE", jtbFlav.getCodJfas().equalsIgnoreCase("LIC") ? "N" : "S"));
zucchettiDto.add(new ZucchettiDTO().set("IDCITYBT", jtbFlav.getCodiceFiscale()));
zucchettiDto.add(new ZucchettiDTO().set("IDIDENTIFP", jtbFlav.getCodiceFiscale().substring(11, 15))); //Cod città
zucchettiDto.add(new ZucchettiDTO().set("IDLEGALNAT", "000"));
zucchettiDto.add(new ZucchettiDTO().set("IDMARITAL", jtbFlav.getStatoCivile()));
zucchettiDto.add(new ZucchettiDTO().set("IDSTUDY", jtbFlav.getTitoloStudio()));
zucchettiDto.add(new ZucchettiDTO().set("TPSEX", jtbFlav.getSesso()));
zucchettiDto.add(new ZucchettiDTO().set("ANADDRESRS", jtbFlav.getIndirizzo()));
zucchettiDto.add(new ZucchettiDTO().set("ANCIVICNRS", jtbFlav.getIndirizzo().substring(jtbFlav.getIndirizzo().indexOf(',') + 1).trim().replace(" ", "")));
zucchettiDto.add(new ZucchettiDTO().set("ANEMAILRS", jtbFlav.geteMail()));
zucchettiDto.add(new ZucchettiDTO().set("ANMOBILTEL", jtbFlav.getNumTelefono()));
zucchettiDto.add(new ZucchettiDTO().set("IDCITYRS", getCodCitta(jtbFlav.getComune())));
zucchettiDto.add(new ZucchettiDTO().set("IDRGNRS", "14"));
zucchettiDto.add(new ZucchettiDTO().set("IDSTATERS", "IT"));
usersFileList.add(format(baseLine, zucchettiDto));
codDipendete = String.format("%07d", numDipendete);
}
String a = String.join("||", usersFileList);
return entityExportResponse;
}
public String format(String baseLine, List<ZucchettiDTO> zucchettiDto) {
List<String> list = Stream.of(zucchettiDto)
.filter(x -> x.getValue() != null)
.filter(x -> !x.getValue().equalsIgnoreCase("NULL"))
.map(x -> baseLine + x.getKey() + ";;" + x.getValue())
.toList();
return String.join("||", list);
}
public List<JtbFlav> getUsers() throws Exception {
String sql = "SELECT jtb_flav.* FROM jtb_flav INNER JOIN mtb_depo ON jtb_flav.cod_jfas = mtb_depo.cod_jfas where mtb_depo.cod_mdep = 'AN'";
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, JtbFlav.class);
}
public String getCodCitta(String citta) throws Exception {
String sql = "SELECT cod_comu FROM gtb_istat_comuni where denominazione_comune = " + UtilityDB.valueToString(citta);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
}
}