salvato json che arriva da Tuidi

This commit is contained in:
2024-05-02 18:59:18 +02:00
parent fdc7f9bf10
commit 932bc290d4
3 changed files with 31 additions and 4 deletions

View File

@@ -58,6 +58,18 @@ public class UtilityDirs {
return fileToReturn;
}
public static File getDirectoryImport(String nomeDB, String type, String format) {
String dir = "IMPORT" + File.separator + nomeDB + File.separator + type + File.separator + format;
File fileToReturn = new File(getEmsApiTempDirectoryPath() + File.separator + dir);
if (!fileToReturn.exists()) {
fileToReturn.mkdirs();
}
return fileToReturn;
}
public static String getConfigPath() {
return CATALINA_HOME + "/conf/integry/";
}

View File

@@ -61,12 +61,12 @@ public class OrdiniImporter extends BaseEntityImporter<List<EntityBase>> impleme
break;
case TUIDI:
result = new ArrayList<>();
TypeReference<ArrayList<DialogoJsonDTO>> type = new TypeReference<ArrayList<DialogoJsonDTO>>() {};
ArrayList<DialogoJsonDTO> dialogoJsonDTO = mapJsonToDTO(requestDto.getRawContent(), type);
TypeReference<ArrayList<DialogoJsonDTO>> typeDTO = new TypeReference<ArrayList<DialogoJsonDTO>>() {};
ArrayList<DialogoJsonDTO> dialogoJsonDTO = mapJsonToDTO(requestDto.getRawContent(), typeDTO);
OrdiniImportService ordiniImportService = getContextBean(OrdiniImportService.class);
for (DialogoJsonDTO dto: dialogoJsonDTO) {
result.add(ordiniImportService.importOrdineDialogo(dto));
result.add(ordiniImportService.importOrdineDialogo(dto, type, format));
}
break;

View File

@@ -1,11 +1,14 @@
package it.integry.ems.order.Import.service;
import com.annimon.stream.Stream;
import com.fasterxml.jackson.databind.ObjectMapper;
import it.integry.common.var.CommonConstants;
import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.order.Import.dto.DialogoJsonDTO;
import it.integry.ems.service.EntityProcessor;
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.DtbOrdr;
import it.integry.ems_model.entity.DtbOrdt;
@@ -21,8 +24,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -45,7 +52,7 @@ public class OrdiniImportService {
private RequestDataDTO requestDataDTO;
public EntityBase importOrdineDialogo(DialogoJsonDTO dialogoJsonDTO) throws Exception {
public EntityBase importOrdineDialogo(DialogoJsonDTO dialogoJsonDTO, String type, String format) throws Exception {
boolean isAcquisto = dialogoJsonDTO.getFornitore() != null;
String sql = (
@@ -62,6 +69,14 @@ public class OrdiniImportService {
.setCodAnag(isAcquisto ? dialogoJsonDTO.getFornitore().getCodAnag() : dialogoJsonDTO.getCliente().getCodAnag())
.setListino(dialogoJsonDTO.getListino());
StringWriter writer = new StringWriter();
new ObjectMapper().writeValue(writer, dialogoJsonDTO);
String contentBody = writer.toString();
String pathFile = UtilityDirs.getDirectoryImport(multiDBTransactionManager.getPrimaryDatasource().getDbName(), type, format).getAbsolutePath();
String fileName = dialogoJsonDTO.getCodMdep() + "_" + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + ".json";
UtilityFile.saveFile(pathFile, fileName, contentBody);
String codVdes = null;
if (isAcquisto && dialogoJsonDTO.getFornitore().getDatiSpedizione() != null) {
codVdes = dialogoJsonDTO.getFornitore().getDatiSpedizione().getCodVdes();