diff --git a/ems-engine/src/main/java/it/integry/ems/order/puddy/service/PuddyService.java b/ems-engine/src/main/java/it/integry/ems/order/puddy/service/PuddyService.java index 7a0b1b0a6d..e8d5163ba5 100644 --- a/ems-engine/src/main/java/it/integry/ems/order/puddy/service/PuddyService.java +++ b/ems-engine/src/main/java/it/integry/ems/order/puddy/service/PuddyService.java @@ -618,242 +618,255 @@ public class PuddyService { setLog(logList, dataOrdProv, numOrdProv, "ORDINE GIA' IMPORTATO", "ORDINE AGENTE " + codVage); } - /*ArrayNode arrayNode = objectMapper.createArrayNode();*/ - /*ArrayNode arrayNodeVG = objectMapper.createArrayNode();*/ - if ("S".equals(flagTD)) { - // Acquisizione dati ordine - sql = "SELECT x_puddy3_prev_ordini.cod_vage" + - " ,mtb_aart_anag.cod_anag as cod_forn_td " + - " ,x_puddy3_prev_ordini.riga_ord" + - " ,x_puddy3_prev_ordini.cod_anag" + - " ,x_puddy3_prev_ordini.cod_vdes" + - " ,x_puddy3_prev_ordini.cod_mart" + - " ,x_puddy3_prev_ordini.qta_ord" + - " ,x_puddy3_prev_ordini.qta_omg" + - " ,x_puddy3_prev_ordini.qta_resi" + - " ,x_puddy3_prev_ordini.flag_tipo_reso" + - " ,x_puddy3_prev_ordini.data_cons" + - " ,x_puddy3_prev_ordini.partita_mag" + - " ,x_puddy3_prev_agenti_info.deposito " + - " ,x_puddy3_prev_ordini.sconto1 " + - " ,x_puddy3_prev_ordini.sconto2 " + - " ,x_puddy3_prev_ordini.sconto3 " + - " ,x_puddy3_prev_ordini.sconto4 " + - " ,x_puddy3_prev_ordini.cod_promo " + - " ,x_puddy3_prev_intercode_clienti_VG.cod_anag_vg, " + - " ,x_puddy3_prev_intercode_clienti_VG.cod_vdes_vg " + - " ,x_puddy3_prev_agenti.cod_vage_vg " + - " ,case when x_puddy3_prev_griglie_art_vg.cod_mart is not null then 'SEVENBAR' else 'VG' end as azienda " + - " ,x_puddy3_prev_agenti.serie_vg " + - " FROM x_puddy3_prev_ordini left outer join x_puddy3_prev_intercode_clienti_VG on x_puddy3_prev_ordini.cod_anag = x_puddy3_prev_intercode_clienti_VG.cod_anag and " + - " x_puddy3_prev_ordini.cod_vdes = x_puddy3_prev_intercode_clienti_VG.cod_vdes " + - " left outer join on x_puddy3_prev_ordini.cod_mart = x_puddy3_prev_griglie_art_vg.cod_mart , " + - " vtb_clie, " + - " x_puddy3_prev_agenti_info inner join x_puddy3_prev_intercode_agenti_VG on x_puddy3_prev_agenti_info.CodAgente = x_puddy3_prev_intercode_agenti_VG.cod_vage " + - " inner join x_puddy3_prev_agenti on x_puddy3_prev_intercode_agenti_VG.cod_vage = x_puddy3_prev_agenti.CodAgente " + - " mtb_aart_anag " + - "WHERE x_puddy3_prev_ordini.cod_anag = vtb_clie.cod_anag AND " + - " x_puddy3_prev_agenti_info.codAgente = x_puddy3_prev_ordini.cod_vage AND " + - " mtb_aart_anag.cod_mart = x_puddy3_prev_ordini.cod_mart AND " + - condWhereRigheOrdine + - "ORDER BY 1, 2, 3"; - } else { - sql = "SELECT x_puddy3_prev_ordini.cod_vage" + - " ,CONVERT(varchar(15), 'NO_TD') as cod_forn_td " + - " ,x_puddy3_prev_ordini.riga_ord" + - " ,x_puddy3_prev_ordini.cod_anag" + - " ,x_puddy3_prev_ordini.cod_vdes" + - " ,x_puddy3_prev_ordini.cod_mart" + - " ,x_puddy3_prev_ordini.qta_ord" + - " ,x_puddy3_prev_ordini.qta_omg" + - " ,x_puddy3_prev_ordini.qta_resi" + - " ,x_puddy3_prev_ordini.flag_tipo_reso" + - " ,x_puddy3_prev_ordini.data_cons" + - " ,x_puddy3_prev_ordini.partita_mag" + - " ,x_puddy3_prev_agenti_info.deposito " + - " ,x_puddy3_prev_ordini.sconto1 " + - " ,x_puddy3_prev_ordini.sconto2 " + - " ,x_puddy3_prev_ordini.sconto3 " + - " ,x_puddy3_prev_ordini.sconto4 " + - " ,x_puddy3_prev_ordini.cod_promo " + - " ,x_puddy3_prev_intercode_clienti_VG.cod_anag_vg " + - " ,x_puddy3_prev_intercode_clienti_VG.cod_vdes_vg " + - " ,x_puddy3_prev_agenti.cod_vage_vg " + - " ,case when x_puddy3_prev_griglie_art_vg.cod_mart is null then 'SEVENBAR' else 'VG' end as azienda " + - " ,x_puddy3_prev_agenti.serie_vg " + - " FROM x_puddy3_prev_ordini left outer join x_puddy3_prev_intercode_clienti_VG on x_puddy3_prev_ordini.cod_anag = x_puddy3_prev_intercode_clienti_VG.cod_anag and " + - " x_puddy3_prev_ordini.cod_vdes = x_puddy3_prev_intercode_clienti_VG.cod_vdes " + - " left outer join x_puddy3_prev_griglie_art_vg on x_puddy3_prev_ordini.cod_mart = x_puddy3_prev_griglie_art_vg.cod_mart , " + - " vtb_clie, " + - " x_puddy3_prev_agenti_info inner join x_puddy3_prev_intercode_agenti_VG on x_puddy3_prev_agenti_info.CodAgente = x_puddy3_prev_intercode_agenti_VG.cod_vage " + - " inner join x_puddy3_prev_agenti on x_puddy3_prev_intercode_agenti_VG.cod_vage = x_puddy3_prev_agenti.CodAgente " + - " WHERE x_puddy3_prev_ordini.cod_anag = vtb_clie.cod_anag AND " + - " x_puddy3_prev_agenti_info.codAgente = x_puddy3_prev_ordini.cod_vage AND " + - condWhereRigheOrdine + - "ORDER BY 22, 1, 2, 3"; - } - - info = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); - res = info.executeQuery(); - int rows = UtilityDB.countRow(res); - int i = 0; - while (res.next()) { - String codFornTD = res.getString(2); - String codAnag = res.getString(4); - String codVdes = res.getString(5); - String codMart = res.getString(6); - BigDecimal qtaOrd = res.getBigDecimal(7); - BigDecimal qtaOmg = res.getBigDecimal(8); - BigDecimal qtaResi = res.getBigDecimal(9); - String flagTipoReso = res.getString(10); - Date dataCons = res.getDate(11); - String partitaMag = res.getString(12); - String codMdep = res.getString(13); - BigDecimal sconto5 = res.getBigDecimal(14); - BigDecimal sconto6 = res.getBigDecimal(15); - BigDecimal sconto7 = res.getBigDecimal(16); - BigDecimal sconto8 = res.getBigDecimal(17); - String codPromo = res.getString(18); - String codAnagVG = res.getString(19); - String codVdesVG = res.getString(20); - String codVageVG = res.getString(21); - String azienda = res.getString(22); - String serieVG = res.getString(23); - i++; - - // Se si tratta di un cliente non presente in VG allora viene letto il codice cliente nuovo fittizio dell'agente - if (codAnagVG == null){ - codAnagVG = setupGest.getSetup("PUDDY", "ORDINI_VENDITA", "NUOVO_CLIENT_AGENTE_" + codVage); - codVdesVG = (String) getSingleValue(conn, "select cod_vdes from vtb_dest where cod_anag = " + UtilityDB.valueToString(codAnagVG)); + try { + /*ArrayNode arrayNode = objectMapper.createArrayNode();*/ + /*ArrayNode arrayNodeVG = objectMapper.createArrayNode();*/ + if ("S".equals(flagTD)) { + // Acquisizione dati ordine + sql = "SELECT x_puddy3_prev_ordini.cod_vage" + + " ,mtb_aart_anag.cod_anag as cod_forn_td " + + " ,x_puddy3_prev_ordini.riga_ord" + + " ,x_puddy3_prev_ordini.cod_anag" + + " ,x_puddy3_prev_ordini.cod_vdes" + + " ,x_puddy3_prev_ordini.cod_mart" + + " ,x_puddy3_prev_ordini.qta_ord" + + " ,x_puddy3_prev_ordini.qta_omg" + + " ,x_puddy3_prev_ordini.qta_resi" + + " ,x_puddy3_prev_ordini.flag_tipo_reso" + + " ,x_puddy3_prev_ordini.data_cons" + + " ,x_puddy3_prev_ordini.partita_mag" + + " ,x_puddy3_prev_agenti_info.deposito " + + " ,x_puddy3_prev_ordini.sconto1 " + + " ,x_puddy3_prev_ordini.sconto2 " + + " ,x_puddy3_prev_ordini.sconto3 " + + " ,x_puddy3_prev_ordini.sconto4 " + + " ,x_puddy3_prev_ordini.cod_promo " + + " ,x_puddy3_prev_intercode_clienti_VG.cod_anag_vg, " + + " ,x_puddy3_prev_intercode_clienti_VG.cod_vdes_vg " + + " ,x_puddy3_prev_agenti.cod_vage_vg " + + " ,case when x_puddy3_prev_griglie_art_vg.cod_mart is not null then 'SEVENBAR' else 'VG' end as azienda " + + " ,x_puddy3_prev_agenti.serie_vg " + + " FROM x_puddy3_prev_ordini left outer join x_puddy3_prev_intercode_clienti_VG on x_puddy3_prev_ordini.cod_anag = x_puddy3_prev_intercode_clienti_VG.cod_anag and " + + " x_puddy3_prev_ordini.cod_vdes = x_puddy3_prev_intercode_clienti_VG.cod_vdes " + + " left outer join on x_puddy3_prev_ordini.cod_mart = x_puddy3_prev_griglie_art_vg.cod_mart , " + + " vtb_clie, " + + " x_puddy3_prev_agenti_info inner join x_puddy3_prev_intercode_agenti_VG on x_puddy3_prev_agenti_info.CodAgente = x_puddy3_prev_intercode_agenti_VG.cod_vage " + + " inner join x_puddy3_prev_agenti on x_puddy3_prev_intercode_agenti_VG.cod_vage = x_puddy3_prev_agenti.CodAgente " + + " mtb_aart_anag " + + "WHERE x_puddy3_prev_ordini.cod_anag = vtb_clie.cod_anag AND " + + " x_puddy3_prev_agenti_info.codAgente = x_puddy3_prev_ordini.cod_vage AND " + + " mtb_aart_anag.cod_mart = x_puddy3_prev_ordini.cod_mart AND " + + condWhereRigheOrdine + + "ORDER BY 1, 2, 3"; + } else { + sql = "SELECT x_puddy3_prev_ordini.cod_vage" + + " ,CONVERT(varchar(15), 'NO_TD') as cod_forn_td " + + " ,x_puddy3_prev_ordini.riga_ord" + + " ,x_puddy3_prev_ordini.cod_anag" + + " ,x_puddy3_prev_ordini.cod_vdes" + + " ,x_puddy3_prev_ordini.cod_mart" + + " ,x_puddy3_prev_ordini.qta_ord" + + " ,x_puddy3_prev_ordini.qta_omg" + + " ,x_puddy3_prev_ordini.qta_resi" + + " ,x_puddy3_prev_ordini.flag_tipo_reso" + + " ,x_puddy3_prev_ordini.data_cons" + + " ,x_puddy3_prev_ordini.partita_mag" + + " ,x_puddy3_prev_agenti_info.deposito " + + " ,x_puddy3_prev_ordini.sconto1 " + + " ,x_puddy3_prev_ordini.sconto2 " + + " ,x_puddy3_prev_ordini.sconto3 " + + " ,x_puddy3_prev_ordini.sconto4 " + + " ,x_puddy3_prev_ordini.cod_promo " + + " ,x_puddy3_prev_intercode_clienti_VG.cod_anag_vg " + + " ,x_puddy3_prev_intercode_clienti_VG.cod_vdes_vg " + + " ,x_puddy3_prev_agenti.cod_vage_vg " + + " ,case when x_puddy3_prev_griglie_art_vg.cod_mart is null then 'SEVENBAR' else 'VG' end as azienda " + + " ,x_puddy3_prev_agenti.serie_vg " + + " FROM x_puddy3_prev_ordini left outer join x_puddy3_prev_intercode_clienti_VG on x_puddy3_prev_ordini.cod_anag = x_puddy3_prev_intercode_clienti_VG.cod_anag and " + + " x_puddy3_prev_ordini.cod_vdes = x_puddy3_prev_intercode_clienti_VG.cod_vdes " + + " left outer join x_puddy3_prev_griglie_art_vg on x_puddy3_prev_ordini.cod_mart = x_puddy3_prev_griglie_art_vg.cod_mart , " + + " vtb_clie, " + + " x_puddy3_prev_agenti_info inner join x_puddy3_prev_intercode_agenti_VG on x_puddy3_prev_agenti_info.CodAgente = x_puddy3_prev_intercode_agenti_VG.cod_vage " + + " inner join x_puddy3_prev_agenti on x_puddy3_prev_intercode_agenti_VG.cod_vage = x_puddy3_prev_agenti.CodAgente " + + " WHERE x_puddy3_prev_ordini.cod_anag = vtb_clie.cod_anag AND " + + " x_puddy3_prev_agenti_info.codAgente = x_puddy3_prev_ordini.cod_vage AND " + + condWhereRigheOrdine + + "ORDER BY 22, 1, 2, 3"; } + info = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + res = info.executeQuery(); + int rows = UtilityDB.countRow(res); + int i = 0; + while (res.next()) { + String codFornTD = res.getString(2); + String codAnag = res.getString(4); + String codVdes = res.getString(5); + String codMart = res.getString(6); + BigDecimal qtaOrd = res.getBigDecimal(7); + BigDecimal qtaOmg = res.getBigDecimal(8); + BigDecimal qtaResi = res.getBigDecimal(9); + String flagTipoReso = res.getString(10); + Date dataCons = res.getDate(11); + String partitaMag = res.getString(12); + String codMdep = res.getString(13); + BigDecimal sconto5 = res.getBigDecimal(14); + BigDecimal sconto6 = res.getBigDecimal(15); + BigDecimal sconto7 = res.getBigDecimal(16); + BigDecimal sconto8 = res.getBigDecimal(17); + String codPromo = res.getString(18); + String codAnagVG = res.getString(19); + String codVdesVG = res.getString(20); + String codVageVG = res.getString(21); + String azienda = res.getString(22); + String serieVG = res.getString(23); + i++; - String codVageAss = codVage; - String codAnagAss = codAnag; - String codVdesAss = codVdes; - String serieAss = serieOrd; - if (azienda.compareTo("VG") == 0) { - codVageAss = codVageVG; - codAnagAss = codAnagVG; - codVdesAss = codVdesVG; - serieAss = serieVG; - } - - - // Insermento testata ordine - if (codFornTDOld.compareTo(codFornTD) != 0 || azienda.compareTo(aziendaOld) != 0) { - ordT = new DtbOrdt(); - ordT.setOperation(OperationType.INSERT); - ordT.setGestione(gestione); - ordT.setCodAnag(codAnagAss); - ordT.setCodVdes(codVdesAss); - ordT.setDataOrd(dataOrdProv); - ordT.setNumOrdProvv(numOrdProv); - ordT.setCodVage(codVageAss); - ordT.setCodMdep(codMdep); - ordT.setSerie(serieAss); - if ("S".equals(flagTD)) { - ordT.setCodFornTd(codFornTD); + // Se si tratta di un cliente non presente in VG allora viene letto il codice cliente nuovo fittizio dell'agente + if (codAnagVG == null){ + codAnagVG = setupGest.getSetup("PUDDY", "ORDINI_VENDITA", "NUOVO_CLIENT_AGENTE_" + codVage); + codVdesVG = (String) getSingleValue(conn, "select cod_vdes from vtb_dest where cod_anag = " + UtilityDB.valueToString(codAnagVG)); } - } - // Inserimento righe ordine - ordR = new DtbOrdr(); - ordR.setOperation(OperationType.INSERT); - ordR.setCodMart(codMart); - ordR.setPartitaMag(partitaMag); - ordR.setCodPromo(codPromo); - if (qtaOrd.compareTo(BigDecimal.ZERO) != 0) { - /*VENDUTO*/ - ordR.setQtaOrd(qtaOrd); - ordR.setSconto5(sconto5); - ordR.setSconto6(sconto6); - ordR.setSconto7(sconto7); - ordR.setSconto8(sconto8); - } else if (qtaOmg.compareTo(BigDecimal.ZERO) != 0) { - /*OMAGGIO*/ - ordR.setQtaOrd(qtaOmg); - ordR.setSconto5(scontoMerce); - } else if (qtaResi.compareTo(BigDecimal.ZERO) != 0 && "O".equals(flagTipoReso)) { - /*OMAGGIO RESO*/ - ordR.setSconto5(cambioMerce); - ordR.setQtaOrd(qtaResi); - } else if (qtaResi.compareTo(BigDecimal.ZERO) != 0 && "C".equals(flagTipoReso)) { - /*SCONTO FRESCHEZZA*/ - ordR.setSconto5(scontoMerce); - ordR.setQtaOrd(qtaResi); - ordR.setCodAliq(null); - ordR.setSconto8(scontoFreschezza); + String codVageAss = codVage; + String codAnagAss = codAnag; + String codVdesAss = codVdes; + String serieAss = serieOrd; + if (azienda.compareTo("VG") == 0) { + codVageAss = codVageVG; + codAnagAss = codAnagVG; + codVdesAss = codVdesVG; + serieAss = serieVG; + } - if (gestioneScontofreschezza.equals("S")) { - sql = "SELECT TOP 1 round(importo_riga / qta_doc, 5) " + - "FROM dtb_docr, " + - " dtb_doct, " + - " gtb_divi, " + - " dtb_tipi " + - "WHERE dtb_doct.cod_anag = " + UtilityDB.valueToString(codAnagAss) + " AND " + - "dtb_doct.cod_vdes = " + UtilityDB.valueToString(codVdesAss) + " AND " + - "dtb_docr.cod_mart = " + UtilityDB.valueToString(codMart) + " AND " + - "dtb_docr.data_doc > dateadd(day, -30, " + UtilityDB.valueDateToString(dataOrdProv, CommonConstants.DATE_FORMAT_YMD) + ") and " + - "dtb_tipi.prevista_fat = 'S' AND " + - "dtb_tipi.segno_val_scar = 1 AND " + - "dtb_doct.gestione = 'V' AND " + - "dtb_doct.cod_anag = dtb_docr.cod_anag and " + - "dtb_doct.cod_dtip = dtb_docr.cod_dtip and " + - "dtb_doct.data_doc = dtb_docr.data_doc and " + - "dtb_doct.ser_doc = dtb_docr.ser_doc and " + - "dtb_doct.num_doc = dtb_docr.num_doc and " + - "gtb_divi.cod_divi = dtb_doct.cod_divi and " + - "dtb_tipi.cod_dtip = dtb_doct.cod_dtip and " + - "dtb_docr.sconto5 + dtb_docr.sconto6 + dtb_docr.sconto7 + dtb_docr.sconto8 < 100 " + - "order by dtb_doct.data_doc desc, dtb_doct.num_doc desc; "; - BigDecimal valUntNetto = (BigDecimal) getSingleValue(conn, sql); - if (valUntNetto != null && !valUntNetto.equals(BigDecimal.ZERO)) { - ordR.setValUnt(valUntNetto); + // Insermento testata ordine + if (codFornTDOld.compareTo(codFornTD) != 0 || azienda.compareTo(aziendaOld) != 0) { + ordT = new DtbOrdt(); + ordT.setOperation(OperationType.INSERT); + ordT.setGestione(gestione); + ordT.setCodAnag(codAnagAss); + ordT.setCodVdes(codVdesAss); + ordT.setDataOrd(dataOrdProv); + ordT.setNumOrdProvv(numOrdProv); + ordT.setCodVage(codVageAss); + ordT.setCodMdep(codMdep); + ordT.setSerie(serieAss); + if (azienda.equalsIgnoreCase("VG")){ + ordT.setNote("INTERCODE=" + codAnag + "|" + codVdes); + } + if ("S".equals(flagTD)) { + ordT.setCodFornTd(codFornTD); } } - } else { - } + // Inserimento righe ordine + ordR = new DtbOrdr(); + ordR.setOperation(OperationType.INSERT); + ordR.setCodMart(codMart); + ordR.setPartitaMag(partitaMag); + ordR.setCodPromo(codPromo); + if (qtaOrd.compareTo(BigDecimal.ZERO) != 0) { + /*VENDUTO*/ + ordR.setQtaOrd(qtaOrd); + ordR.setSconto5(sconto5); + ordR.setSconto6(sconto6); + ordR.setSconto7(sconto7); + ordR.setSconto8(sconto8); + } else if (qtaOmg.compareTo(BigDecimal.ZERO) != 0) { + /*OMAGGIO*/ + ordR.setQtaOrd(qtaOmg); + ordR.setSconto5(scontoMerce); + } else if (qtaResi.compareTo(BigDecimal.ZERO) != 0 && "O".equals(flagTipoReso)) { + /*OMAGGIO RESO*/ + ordR.setSconto5(cambioMerce); + ordR.setQtaOrd(qtaResi); + } else if (qtaResi.compareTo(BigDecimal.ZERO) != 0 && "C".equals(flagTipoReso)) { + /*SCONTO FRESCHEZZA*/ + ordR.setSconto5(scontoMerce); + ordR.setQtaOrd(qtaResi); + ordR.setCodAliq(null); + ordR.setSconto8(scontoFreschezza); - ordR.setDataCons(dataCons); - ordT.getDtbOrdr().add(ordR); + if (gestioneScontofreschezza.equals("S")) { + sql = "SELECT TOP 1 round(importo_riga / qta_doc, 5) " + + "FROM dtb_docr, " + + " dtb_doct, " + + " gtb_divi, " + + " dtb_tipi " + + "WHERE dtb_doct.cod_anag = " + UtilityDB.valueToString(codAnagAss) + " AND " + + "dtb_doct.cod_vdes = " + UtilityDB.valueToString(codVdesAss) + " AND " + + "dtb_docr.cod_mart = " + UtilityDB.valueToString(codMart) + " AND " + + "dtb_docr.data_doc > dateadd(day, -30, " + UtilityDB.valueDateToString(dataOrdProv, CommonConstants.DATE_FORMAT_YMD) + ") and " + + "dtb_tipi.prevista_fat = 'S' AND " + + "dtb_tipi.segno_val_scar = 1 AND " + + "dtb_doct.gestione = 'V' AND " + + "dtb_doct.cod_anag = dtb_docr.cod_anag and " + + "dtb_doct.cod_dtip = dtb_docr.cod_dtip and " + + "dtb_doct.data_doc = dtb_docr.data_doc and " + + "dtb_doct.ser_doc = dtb_docr.ser_doc and " + + "dtb_doct.num_doc = dtb_docr.num_doc and " + + "gtb_divi.cod_divi = dtb_doct.cod_divi and " + + "dtb_tipi.cod_dtip = dtb_doct.cod_dtip and " + + "dtb_docr.sconto5 + dtb_docr.sconto6 + dtb_docr.sconto7 + dtb_docr.sconto8 < 100 " + + "order by dtb_doct.data_doc desc, dtb_doct.num_doc desc; "; - codFornTDOld = codFornTD; - aziendaOld = azienda; - if (i < rows) { - res.next(); - codFornTD = res.getString(2); - res.previous(); - } - - if (i == rows || codFornTD.compareTo(codFornTDOld) != 0 || azienda.compareTo(aziendaOld) != 0) { - DtbOrdt retOrd = null; - if (aziendaOld.compareTo("VG") == 0) { - entityProcessor.processEntity(ordT, true, true, profileDBVG, multiDBTransactionManagerVG); + BigDecimal valUntNetto = (BigDecimal) getSingleValue(conn, sql); + if (valUntNetto != null && !valUntNetto.equals(BigDecimal.ZERO)) { + ordR.setValUnt(valUntNetto); + } + } } else { - entityProcessor.processEntity(ordT, true, true, profileDB, multiDBTransactionManager); + } - // Creazione collo di reso con riferimenti ordine di vendita generato per cod_forn_td - importColloReso(multiDBTransactionManager, - multiDBTransactionManagerVG, - serieOrd, - dataOrdProv, - numOrdProv, - codFornTDOld, - ordT.getDataOrd(), - ordT.getNumOrd()); + ordR.setDataCons(dataCons); + ordT.getDtbOrdr().add(ordR); - // Assegnazione flag_elaborato = 'S' su righe processione - sql = "UPDATE x_puddy3_prev_ordini SET flag_elaborato = 'S' WHERE " + condWhereRigheOrdine; - conn.createStatement().executeUpdate(sql); + codFornTDOld = codFornTD; + aziendaOld = azienda; + if (i < rows) { + res.next(); + codFornTD = res.getString(2); + azienda = res.getString(22); + res.previous(); + } + if (i == rows || codFornTD.compareTo(codFornTDOld) != 0 || azienda.compareTo(aziendaOld) != 0) { + DtbOrdt retOrd = null; + if (aziendaOld.compareTo("VG") == 0) { + entityProcessor.processEntity(ordT, true, true, profileDBVG, multiDBTransactionManagerVG); + } else { + entityProcessor.processEntity(ordT, true, true, profileDB, multiDBTransactionManager); + } + + // Creazione collo di reso con riferimenti ordine di vendita generato per cod_forn_td + importColloReso(multiDBTransactionManager, + multiDBTransactionManagerVG, + serieOrd, + dataOrdProv, + numOrdProv, + codFornTDOld, + ordT.getDataOrd(), + ordT.getNumOrd()); + + // Assegnazione flag_elaborato = 'S' su righe processione + sql = "UPDATE x_puddy3_prev_ordini SET flag_elaborato = 'S' WHERE " + condWhereRigheOrdine; + conn.createStatement().executeUpdate(sql); + + } } + res.close(); + info.close(); + + multiDBTransactionManager.commitAll(); + multiDBTransactionManagerVG.commitAll(); + + } catch (Exception e){ + multiDBTransactionManager.rollbackAll(); + multiDBTransactionManagerVG.rollbackAll(); + throw e; } - res.close(); - info.close(); return List; }