Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-04-11 10:11:34 +02:00
3 changed files with 41 additions and 53 deletions

View File

@@ -1186,23 +1186,22 @@ public class VariazioniPvService {
// .append(" avvenuta con successo\n\r");
// }
if (!generatedErrors.isEmpty())
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");
}
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);
}
mailService.sendMailPrimary(multiDBTransactionManager,
null, null,
emailForLog, null, null,
"Esportazione variazioni", sb.toString(), false, false,
null, null, null,
false, null);
}
}catch (Exception e ){
if (!UtilityString.isNullOrEmpty(emailForLog)) {

View File

@@ -70,27 +70,33 @@ public class ScontriniZucchettiExportServices {
}
sql =
"SELECT ntb_doct.cod_mdep,\n" +
" ntb_doct.date_only_doc AS data,\n" +
" CONVERT(VARCHAR(5), MIN(ntb_doct.data_doc), 108) AS ora_iniz,\n" +
" CONVERT(VARCHAR(5), MAX(ntb_doct.data_doc), 108) AS ora_fine,\n" +
" mtb_aart.cod_mgrp,\n" +
" CAST(\n" +
" CAST(DATEDIFF(MINUTE, ntb_doct.date_only_doc, ntb_doct.data_doc) AS FLOAT) / 30 AS INT) AS gruppo_ore,\n" +
" SUM(ntb_docr.qta_doc) AS qta,\n" +
" SUM((ntb_docr.qta_doc * ntb_docr.prz_unt_iva) - ntb_docr.val_sco) AS valore,\n" +
" COUNT(DISTINCT ntb_doct.id_scontr) AS count_scontrini,\n" +
" COUNT(*) AS count_battute\n" +
"FROM ntb_doct\n" +
" INNER JOIN ntb_docr ON ntb_doct.cod_mdep = ntb_docr.cod_mdep\n" +
" AND ntb_doct.cod_cassa = ntb_docr.cod_cassa\n" +
" AND ntb_doct.data_doc = ntb_docr.data_doc\n" +
" INNER JOIN mtb_aart ON ntb_docr.cod_mart = mtb_aart.cod_mart\n" +
"GROUP BY ntb_doct.cod_mdep, ntb_doct.date_only_doc,\n" +
" CAST(\n" +
" CAST(DATEDIFF(MINUTE, ntb_doct.date_only_doc, ntb_doct.data_doc) AS FLOAT) / 30 AS INT),\n" +
" mtb_aart.cod_mgrp\n" +
"ORDER BY ntb_doct.cod_mdep, ntb_doct.date_only_doc, 3";
Query.format(
"SELECT ntb_doct.cod_mdep,\n" +
" ntb_doct.date_only_doc AS data,\n" +
" CONVERT(VARCHAR(5), MIN(ntb_doct.data_doc), 108) AS ora_iniz,\n" +
" CONVERT(VARCHAR(5), MAX(ntb_doct.data_doc), 108) AS ora_fine,\n" +
" stb_gest_setup_det.value as cod_mgrp,\n" +
" CAST(\n" +
" CAST(DATEDIFF(MINUTE, ntb_doct.date_only_doc, ntb_doct.data_doc) AS FLOAT) / 30 AS INT) AS gruppo_ore,\n" +
" SUM(ntb_docr.qta_doc) AS qta,\n" +
" SUM((ntb_docr.qta_doc * ntb_docr.prz_unt_iva) - ntb_docr.val_sco) AS valore,\n" +
" COUNT(DISTINCT ntb_doct.id_scontr) AS count_scontrini,\n" +
" COUNT(*) AS count_battute\n" +
"FROM ntb_doct\n" +
" INNER JOIN ntb_docr ON ntb_doct.cod_mdep = ntb_docr.cod_mdep\n" +
" AND ntb_doct.cod_cassa = ntb_docr.cod_cassa\n" +
" AND ntb_doct.data_doc = ntb_docr.data_doc\n" +
" INNER JOIN mtb_aart ON ntb_docr.cod_mart = mtb_aart.cod_mart\n" +
" INNER JOIN stb_gest_setup_det ON mtb_aart.cod_mgrp = stb_gest_setup_det.val_col_rif \n" +
" AND stb_gest_setup_det.gest_name = %s \n" +
" AND stb_gest_setup_det.section = %s \n" +
" AND stb_gest_setup_det.key_section = %s\n" +
"GROUP BY ntb_doct.cod_mdep, ntb_doct.date_only_doc,\n" +
" CAST(\n" +
" CAST(DATEDIFF(MINUTE, ntb_doct.date_only_doc, ntb_doct.data_doc) AS FLOAT) / 30 AS INT),\n" +
" stb_gest_setup_det.value\n" +
"ORDER BY ntb_doct.cod_mdep, ntb_doct.date_only_doc, 3",
"EXPORT_" + type, format, "INTERCODE_REPARTO");
sql = UtilityDB.addwhereCond(sql, whereCond, false );
List<HashMap<String, Object>> scontrini = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql);
@@ -106,19 +112,13 @@ public class ScontriniZucchettiExportServices {
getIntercodePV(setupDepo, codMdep, anomalie);
}
//verifica intercode reparti
List<String> reparti = scontrini.stream().map(x -> ((String) x.get("cod_mgrp"))).distinct().collect(Collectors.toList());
for (String codMgrp : reparti) {
getIntecodeReparti(setupReparti, codMgrp, anomalie);
}
if ( !anomalie.isEmpty() && anomalie.stream().anyMatch(x->x.isError())) {
return entityExportResponse;
}
List<ZucchettiHrDTO> dati = new ArrayList<>();
for(HashMap<String, Object> row : scontrini) {
String intercodePv = getIntercodePV(setupDepo, (String) row.get("cod_mdep"), anomalie);
String intercodeReparto = getIntecodeReparti(setupReparti, (String) row.get("cod_mgrp"), anomalie);
String intercodeReparto = (String) row.get("cod_mgrp");
BigDecimal oraInizio = new BigDecimal(row.get("ora_iniz").toString().replace(":", "."));
BigDecimal oraFine = new BigDecimal(row.get("ora_fine").toString().replace(":", "."));
@@ -184,16 +184,5 @@ public class ScontriniZucchettiExportServices {
}
private String getIntecodeReparti(List<HashMap<String, Object>> setupReparti, String codMgrp, List<AnomalieDTO> anomalie) throws Exception {
String intercodeReparto = setupReparti.stream()
.filter(x->((String) x.get("cod_mgrp")).equalsIgnoreCase(codMgrp)).findFirst().map(x->(String)x.get("intercode")).orElse(null);
if ( intercodeReparto == null) {
String errore = String.format("Intercode non trovato per il reparto %s", codMgrp);
logger.error(errore);
anomalie.add(AnomalieDTO.error(errore));
}
return intercodeReparto;
}
}

View File

@@ -134,7 +134,7 @@ public class PvmAccettazioneService {
}
if (UtilityBigDecimal.greaterThan(articolo.getQtaDoc(), BigDecimal.ZERO) &&
(newDoc || (!newDoc && ("S".equals(articolo.getRigaMod()) || !UtilityString.isNullOrEmpty(articolo.getLotti()) || qtaOrd.compareTo(BigDecimal.ZERO) > 0)))) {
(newDoc || (!newDoc && ("S".equals(articolo.getRigaMod()) || qtaOrd.compareTo(BigDecimal.ZERO) > 0)))) {
List<WdtbDocr> righeNew = insertRowBolla(articolo, wdtbDoct, rowColli);
if (righeNew != null && !righeNew.isEmpty()) {
wdtbDoct.getWdtbDocr().addAll(righeNew);