Esclusi gli articoli a peso variabile dall'accettazione bolle
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-02-07 16:59:56 +01:00
parent aea41e4c97
commit 02098b703d
2 changed files with 47 additions and 6 deletions

View File

@@ -0,0 +1,29 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20250207165023 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
createSetup("PICKING", "ACCETTAZIONE_BOLLA", "FLAG_EXCLUDE_KG", "N",
"Flag per escludere gli articoli a peso variabile", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
if (isCustomer(IntegryCustomer.Carelli)){
updateSetupValue("PICKING", "ACCETTAZIONE_BOLLA", "FLAG_EXCLUDE_KG", "S");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -67,6 +67,12 @@ public class WMSAccettazioneBollaService {
}
public List<SitBollaAccettazioneDTO> retrievePickingListBolle(List<BollaAccettazioneDTO> bolle) throws Exception {
String sql = "SELECT CAST(IIF(value = 'S', 1, 0) AS BIT)\n" +
"FROM stb_gest_setup\n" +
"WHERE gest_name = 'PICKING'\n" +
" AND section = 'ACCETTAZIONE_BOLLA'\n" +
" AND key_section = 'FLAG_EXCLUDE_KG'";
boolean excludeKg = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
if (!userSession.isAttivo()) {
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
@@ -84,7 +90,7 @@ public class WMSAccettazioneBollaService {
whereCondBolle.add(whereCond);
}
String sql = "WITH colli_registrati AS (SELECT num_doc,\n" +
sql = "WITH colli_registrati AS (SELECT num_doc,\n" +
" data_doc,\n" +
" ser_doc,\n" +
" gestione,\n" +
@@ -107,15 +113,21 @@ public class WMSAccettazioneBollaService {
" Wdtb_docr.cod_dtip,\n" +
" Wdtb_docr.cod_mart,\n" +
" SUM(Wdtb_docr.qta_doc * Wdtb_docr.rap_conv) AS qta_doc,\n" +
" Wdtb_docr.cod_art_for,\n" +" " +
" Wdtb_docr.cod_art_for,\n" + " " +
" Cast(IIF(IsNull(mtb_aart.articolo_composto, 'N') = 'S',1,0) as bit) as kit,\n" +
" (SELECT CAST(count(*) as bit) FROM mtb_comp WHERE wdtb_docr.cod_mart = mtb_comp.cod_comp)as componente\n" +
" FROM Wdtb_docr left outer join mtb_aart on Wdtb_docr.cod_mart = mtb_aart.cod_mart \n" +
" left outer join mtb_grup on mtb_aart.cod_mgrp = mtb_grup.cod_mgrp \n" +
" FROM Wdtb_docr LEFT OUTER JOIN mtb_aart ON Wdtb_docr.cod_mart = mtb_aart.cod_mart \n" +
" LEFT OUTER JOIN mtb_grup ON mtb_aart.cod_mgrp = mtb_grup.cod_mgrp \n" +
" LEFT OUTER JOIN mtb_unt_mis ON mtb_unt_mis.unt_mis = Wdtb_docr.unt_doc \n" +
" WHERE wdtb_docr.cod_art_for is not null AND \n" +
" wdtb_docr.cod_mart is not null AND \n" +
" ( mtb_grup.tipo_mgrp is null or mtb_grup.tipo_mgrp <> 'FTT') \n" +
" group by Wdtb_docr.num_doc,\n" +
" ( mtb_grup.tipo_mgrp is null or mtb_grup.tipo_mgrp <> 'FTT') \n";
if (excludeKg) {
sql += " AND mtb_unt_mis.flag_unita_kg = 'S' \n";
}
sql += " group by Wdtb_docr.num_doc,\n" +
" Wdtb_docr.data_doc,\n" +
" Wdtb_docr.ser_doc,\n" +
" Wdtb_docr.cod_dtip,\n" +