controllo sul null

This commit is contained in:
2024-09-24 16:59:05 +02:00
parent 25a7acb865
commit a401490d4b

View File

@@ -981,7 +981,7 @@ public class DocumentiAcquistoImportService {
if (codClie == null) {
anomalie.add(
AnomalieDTO.info(
"Codice cliente non trovato: " +
"Codice fornitore non trovato: " +
CommonConstants.A_CAPO +
CommonConstants.TAB +
CommonConstants.TAB +
@@ -1012,13 +1012,11 @@ public class DocumentiAcquistoImportService {
HashMap<String, Object> result = UtilityDB.executeSimpleQueryOnlyFirstRow(connection, sql);
if (result == null){
anomalie.add(
AnomalieDTO.error(String.format("Nessun deposito agganciato all'intercode %s", rifOrdApulia.getCodicePv() ))
);
continue;
}
String codMdep = result.get("cod_mdep").toString();
String codForn = result.get("cod_forn").toString();
String codMdep = (String) result.get("cod_mdep");
String codForn = (String) result.get("cod_forn");
sql = "select dtb_ordt.data_ord, dtb_ordt.num_ord, dtb_ordr.riga_ord, dtb_ordr.cod_mart, dtb_ordr.cod_art_for\n" +
"from dtb_ordt \n" +
@@ -1068,13 +1066,9 @@ public class DocumentiAcquistoImportService {
", Codice deposito: " + codMdep
)
);
} else if (!listDocumentDtb.isEmpty() && listDocumentWdtb.isEmpty()) {
entityReturn.addAll(processRifOrdApuliaList(listDocumentDtb, selectOrdine, anomalie, tipiDoc, ds, pIva, false));
} else if (listDocumentDtb.isEmpty()) {
entityReturn.addAll(processRifOrdApuliaList(listDocumentWdtb, selectOrdine, anomalie, tipiDoc, ds, pIva, true));
} else {
entityReturn.addAll(processRifOrdApuliaList(listDocumentDtb, selectOrdine, anomalie, tipiDoc, ds, pIva, false));
entityReturn.addAll(processRifOrdApuliaList(listDocumentWdtb, selectOrdine, anomalie, tipiDoc, ds, pIva, true));
if( !listDocumentDtb.isEmpty()) entityReturn.add(processRifOrdApuliaList(listDocumentDtb, selectOrdine, anomalie, tipiDoc, ds, pIva, false));
if( !listDocumentWdtb.isEmpty()) entityReturn.add(processRifOrdApuliaList(listDocumentWdtb, selectOrdine, anomalie, tipiDoc, ds, pIva, true));
}
}
}
@@ -1097,8 +1091,7 @@ public class DocumentiAcquistoImportService {
storedProcedure.close();
}
private List<EntityBase> processRifOrdApuliaList(List<HashMap<String, Object>> listDocument, List<HashMap<String, Object>> selectOrdine, List<AnomalieDTO> anomalie, String tipiDoc, AdvancedDataSource ds, String pIva, boolean isWdtb) throws Exception {
List<EntityBase> entityList = new ArrayList<>();
private DtbBaseDocT processRifOrdApuliaList(List<HashMap<String, Object>> listDocument, List<HashMap<String, Object>> selectOrdine, List<AnomalieDTO> anomalie, String tipiDoc, AdvancedDataSource ds, String pIva, boolean isWdtb) throws Exception {
DtbBaseDocT dtbBaseDoct;
if (isWdtb) {
@@ -1114,6 +1107,11 @@ public class DocumentiAcquistoImportService {
.setSerDoc(listDocument.get(0).get("ser_doc").toString())
.setCodAnag(listDocument.get(0).get("cod_anag").toString());
if (isWdtb)
((WdtbDoct) dtbBaseDoct).setWdtbDocr(new ArrayList<>());
else
((DtbDoct) dtbBaseDoct).setDtbDocr(new ArrayList<>());
List<DtbBaseDocR> baseDtbDocrList = new ArrayList<>();
for (HashMap<String, Object> document : listDocument) {
@@ -1162,56 +1160,37 @@ public class DocumentiAcquistoImportService {
existingObject.getSerDoc().equals(dtbBaseDocr.getSerDoc()));
if (!existsInList) {
if (isWdtb)
((WdtbDoct) dtbBaseDoct).getWdtbDocr().add((WdtbDocr) dtbBaseDocr);
else
((DtbDoct) dtbBaseDoct).getDtbDocr().add((DtbDocr) dtbBaseDocr);
baseDtbDocrList.add(dtbBaseDocr);
}
}
}
if (isWdtb) {
WdtbDoct wdtbDoct = (WdtbDoct) dtbBaseDoct;
List<WdtbDocr> wdtbDocrList = new ArrayList<>();
for (DtbBaseDocR dtbBaseDocr : baseDtbDocrList) {
wdtbDocrList.add((WdtbDocr) dtbBaseDocr);
}
wdtbDoct.setWdtbDocr(wdtbDocrList);
entityList.add(wdtbDoct);
} else {
DtbDoct dtbDoct = (DtbDoct) dtbBaseDoct;
List<DtbDocr> dtbDocrList = new ArrayList<>();
for (DtbBaseDocR dtbBaseDocr : baseDtbDocrList) {
dtbDocrList.add((DtbDocr) dtbBaseDocr);
}
dtbDoct.setDtbDocr(dtbDocrList);
entityList.add(dtbDoct);
}
}
List<EntityBase> entityReturn = new ArrayList<>();
MultiDBTransactionManager m = new MultiDBTransactionManager();
try {
m.addConnection(ds.getProfileName(), ds.getDataSource());
m.setPrimaryDs(ds.getProfileName());
for (EntityBase e : entityList) {
if (!isWdtb) {
UpdProgOrdini(m, (DtbDoct) e, -1);
}
if (!isWdtb) {
UpdProgOrdini(m, (DtbDoct) dtbBaseDoct, -1);
}
entityProcessor.processEntity(e, true, false, requestData.getUsername(), m, false);
entityReturn.add(e);
entityProcessor.processEntity(dtbBaseDoct, true, false, requestData.getUsername(), m, false);
if (!isWdtb) {
UpdProgOrdini(m, (DtbDoct) e, 1);
}
if (!isWdtb) {
UpdProgOrdini(m, (DtbDoct) dtbBaseDoct, 1);
}
} catch (Exception e) {
m.rollbackAll();
}
m.closeAll();
return entityReturn;
return dtbBaseDoct;
}
}