Creato servizio AziendaService e gestita creazione documenti per terzista smetar
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -0,0 +1,614 @@
|
||||
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.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241010103639 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
String value = null;
|
||||
|
||||
if (isCustomerDb(IntegryCustomerDB.Smetar_Smetar)) {
|
||||
value = "DDTContoLavorazione";
|
||||
}
|
||||
|
||||
createSetup("PVM", "MONITORAGGIO_ORDINI", "REPORT_DOCUMENTI", value,
|
||||
"Nome report per i documenti di scarico.", "REPORT_NAME");
|
||||
|
||||
if (isCustomer(IntegryCustomer.Gramm)) {
|
||||
return;
|
||||
}
|
||||
|
||||
createOrUpdateFunction("MES_GetWorkOrders",
|
||||
"CREATE FUNCTION [dbo].[MES_GetWorkOrders](@codJfas VARCHAR(50), @dateStart DATE, @dateEnd DATE, @flagEvaso VARCHAR(1),\n" +
|
||||
" @codAnag VARCHAR(5))\n" +
|
||||
" RETURNS @val TABLE\n" +
|
||||
" (\n" +
|
||||
" [sort] [int] NULL,\n" +
|
||||
" [cod_jcom] [varchar](10) NULL,\n" +
|
||||
" [data_ord_prod] [datetime] NULL,\n" +
|
||||
" [num_ord_prod] [int] NULL,\n" +
|
||||
" [riga_ord_prod] [int] NULL,\n" +
|
||||
" [flag_avviabile] [varchar](1) NULL,\n" +
|
||||
" [flag_tracciabilita] [varchar](1) NULL,\n" +
|
||||
" [unt_ord] [varchar](3) NULL,\n" +
|
||||
" [rap_conv] [numeric](20, 10) NULL,\n" +
|
||||
" [unt_ord2] [varchar](3) NULL,\n" +
|
||||
" [rap_conv2] [numeric](20, 5) NULL,\n" +
|
||||
" [unt_ord3] [varchar](3) NULL,\n" +
|
||||
" [rap_conv3] [numeric](20, 5) NULL,\n" +
|
||||
" [descrizione_prod] [varchar](255) NULL,\n" +
|
||||
" [num_pezzi] [numeric](38, 6) NULL,\n" +
|
||||
" [num_cnf] [numeric](20, 5) NULL,\n" +
|
||||
" [gg_scad_partita] [int] NULL,\n" +
|
||||
" [qta_cnf] [numeric](15, 5) NULL,\n" +
|
||||
" [colli_pedana] [numeric](20, 5) NULL,\n" +
|
||||
" [num_pedane] [numeric](38, 18) NULL,\n" +
|
||||
" [pos_riga] [int] NULL,\n" +
|
||||
" [flag_evaso_prod] [varchar](1) NULL,\n" +
|
||||
" [flag_evaso_forzato] [varchar](1) NOT NULL,\n" +
|
||||
" [flag_ordine_evaso] [varchar](1) NULL,\n" +
|
||||
" [gestione] [varchar](1) NOT NULL,\n" +
|
||||
" [data_ord] [datetime] NOT NULL,\n" +
|
||||
" [cod_tcol_UL] [varchar](5) NULL,\n" +
|
||||
" [descrizione_tcol] [varchar](40) NULL,\n" +
|
||||
" [cod_anag] [varchar](5) NOT NULL,\n" +
|
||||
" [rag_soc_anag] [varchar](40) NULL,\n" +
|
||||
" [part_iva] [varchar](20) NULL,\n" +
|
||||
" [rif_ord] [varchar](40) NULL,\n" +
|
||||
" [cod_vdes] [varchar](5) NULL,\n" +
|
||||
" [cod_mdep] [varchar](5) NOT NULL,\n" +
|
||||
" [cod_mdep_prod] [varchar](5) NOT NULL,\n" +
|
||||
" [num_ord] [int] NOT NULL,\n" +
|
||||
" [cod_jfas] [varchar](5) NOT NULL,\n" +
|
||||
" [cod_jfas_lav] [varchar](5) NOT NULL,\n" +
|
||||
" [partita_mag] [varchar](20) NULL,\n" +
|
||||
" [note_lav] [varchar](255) NULL,\n" +
|
||||
" [data_scad] [datetime] NULL,\n" +
|
||||
" [cod_prod] [varchar](15) NULL,\n" +
|
||||
" [descrizione_commessa] [varchar](40) NULL,\n" +
|
||||
" [data_iniz_prod] [datetime] NULL,\n" +
|
||||
" [max_step] [int] NULL,\n" +
|
||||
" [unt_mis_prod] [varchar](5) NULL,\n" +
|
||||
" [qta_batch_prod] [numeric](15, 5) NULL,\n" +
|
||||
" [rap_conv_prod] [numeric](20, 10) NULL,\n" +
|
||||
" [data_iniz] [datetime] NULL,\n" +
|
||||
" [data_fine] [datetime] NULL,\n" +
|
||||
" [qta_prod] [decimal](20, 5) NULL,\n" +
|
||||
" [qta_lav] [decimal](20, 5) NULL,\n" +
|
||||
" [max_fase] [int] NULL,\n" +
|
||||
" [num_fase] [int] NULL,\n" +
|
||||
" [hr_num] [int] NOT NULL,\n" +
|
||||
" [descrizione_attivita] [varchar](1024) NULL,\n" +
|
||||
" [prod_std] [numeric](38, 21) NULL,\n" +
|
||||
" [elapsed_time] [int] NULL,\n" +
|
||||
" [qta_trasferite] [numeric](38, 5) NULL,\n" +
|
||||
" [udc_trasferiti] [int] NULL,\n" +
|
||||
" [stato] [varchar](11) NOT NULL,\n" +
|
||||
" [pz_trasferiti] [int] NULL,\n" +
|
||||
" [run_time_sec] [numeric](38, 6) NULL,\n" +
|
||||
" [cumulative_run_time_sec] [numeric](38, 6) NULL,\n" +
|
||||
" [run_time_hour] [int] NULL,\n" +
|
||||
" [run_time_min] [numeric](38, 6) NULL,\n" +
|
||||
" [run_time_end] [datetime] NULL,\n" +
|
||||
" [id_lotto] [int] NULL,\n" +
|
||||
" [data_lotto] [datetime] NULL,\n" +
|
||||
" [peso_kg] [numeric](20, 5) NULL,\n" +
|
||||
" [data_cons_prod_max] [datetime] NULL\n" +
|
||||
" ) AS\n" +
|
||||
"BEGIN\n" +
|
||||
"\n" +
|
||||
" -- DECLARE @codJfas VARCHAR(5) = 'L1'\n" +
|
||||
"-- DECLARE @dateStart DATE = DATEADD(MONTH, -1, GETDATE())\n" +
|
||||
"-- DECLARE @dateEnd DATE = DATEADD(MONTH, 1, GETDATE())\n" +
|
||||
"-- DECLARE @flagEvaso VARCHAR(1) = 'I'\n" +
|
||||
"-- DECLARE @codAnag VARCHAR(5) = null;\n" +
|
||||
"\n" +
|
||||
" SET @dateStart = ISNULL(@dateStart, DATEADD(DAY, -14, GETDATE()));\n" +
|
||||
" SET @dateEND = ISNULL(@dateEnd, GETDATE());\n" +
|
||||
" SET @flagEvaso = ISNULL(@flagEvaso, 'I');\n" +
|
||||
"\n" +
|
||||
"--Funzione per calcolare la sequenza di ordini su una linea e il RunTimeEND\n" +
|
||||
" WITH setup AS (SELECT @dateStart AS date_start,\n" +
|
||||
" @dateEnd AS date_end,\n" +
|
||||
" @flagEvaso AS flag_evaso,\n" +
|
||||
" @codJfas AS cod_jfas,\n" +
|
||||
" @codAnag AS cod_anag),\n" +
|
||||
" setup_jfas AS (SELECT value_string AS cod_jfas\n" +
|
||||
" FROM dbo.ParseStringIntoArray(@codJfas, '|')),\n" +
|
||||
" setup_depo AS (SELECT cod_mdep, value AS flag_carico_scarico_immediato\n" +
|
||||
" FROM stb_gest_setup_depo\n" +
|
||||
" WHERE gest_name = 'CARICO_SCARICO_PF'\n" +
|
||||
" AND section = 'SETUP'\n" +
|
||||
" AND key_section = 'GENERA_CARICO_SCARICO_IMMEDIATO'),\n" +
|
||||
" mtb_colr_sum AS (SELECT mtb_colr.gestione,\n" +
|
||||
" mtb_colr.data_collo,\n" +
|
||||
" mtb_colr.num_collo,\n" +
|
||||
" mtb_colr.cod_mart,\n" +
|
||||
" mtb_colr.data_ord,\n" +
|
||||
" mtb_colr.num_ord,\n" +
|
||||
" SUM(mtb_colr.qta_col) AS qta_col,\n" +
|
||||
" SUM(mtb_colr.num_cnf) AS num_cnf\n" +
|
||||
" FROM mtb_colr\n" +
|
||||
" WHERE mtb_colr.gestione_rif IS NULL\n" +
|
||||
" AND mtb_colr.data_collo_rif IS NULL\n" +
|
||||
" AND mtb_colr.ser_collo_rif IS NULL\n" +
|
||||
" AND mtb_colr.num_collo_rif IS NULL\n" +
|
||||
" AND EXISTS(SELECT *\n" +
|
||||
" FROM mtb_colt\n" +
|
||||
" WHERE mtb_colr.gestione = mtb_colt.gestione\n" +
|
||||
" AND mtb_colr.data_collo = mtb_colt.data_collo\n" +
|
||||
" AND mtb_colr.ser_collo = mtb_colt.ser_collo\n" +
|
||||
" AND mtb_colr.num_collo = mtb_colt.num_collo\n" +
|
||||
" AND mtb_colt.segno = 1)\n" +
|
||||
" GROUP BY mtb_colr.gestione,\n" +
|
||||
" mtb_colr.data_collo,\n" +
|
||||
" mtb_colr.num_collo,\n" +
|
||||
" mtb_colr.cod_mart,\n" +
|
||||
" mtb_colr.data_ord,\n" +
|
||||
" mtb_colr.num_ord),\n" +
|
||||
" in_production_machines AS (SELECT DISTINCT dtb_ord_macc.gestione,\n" +
|
||||
" dtb_ord_macc.data_ord,\n" +
|
||||
" dtb_ord_macc.num_ord,\n" +
|
||||
" MAX(dtb_ord_macc.data_mov) AS max_data_mov\n" +
|
||||
" FROM dtb_ord_macc\n" +
|
||||
" INNER JOIN (SELECT gestione, data_ord, num_ord, cod_cmac, MAX(data_mov) AS data_mov\n" +
|
||||
" FROM dtb_ord_macc\n" +
|
||||
" GROUP BY gestione, data_ord, num_ord, cod_cmac) last_event\n" +
|
||||
" ON dtb_ord_macc.data_ord = last_event.data_ord AND\n" +
|
||||
" dtb_ord_macc.num_ord = last_event.num_ord AND\n" +
|
||||
" dtb_ord_macc.gestione = last_event.gestione AND\n" +
|
||||
" dtb_ord_macc.cod_cmac = last_event.cod_cmac AND\n" +
|
||||
" dtb_ord_macc.data_mov = last_event.data_mov\n" +
|
||||
" INNER JOIN (SELECT evento, IIF(tipologia = 'ENTRATA', 1, -1) AS value\n" +
|
||||
" FROM dtb_ord_macc_eventi) dtb_ord_macc_eventi\n" +
|
||||
" ON dtb_ord_macc.evento = dtb_ord_macc_eventi.evento\n" +
|
||||
" WHERE value = 1\n" +
|
||||
" GROUP BY dtb_ord_macc.num_ord, dtb_ord_macc.data_ord, dtb_ord_macc.gestione),\n" +
|
||||
" dtb_ord_max_step AS (SELECT gestione,\n" +
|
||||
" data_ord,\n" +
|
||||
" num_ord,\n" +
|
||||
" MAX(id_step) AS max_step,\n" +
|
||||
" num_fase,\n" +
|
||||
" MAX(num_fase) OVER (PARTITION BY gestione,\n" +
|
||||
" data_ord,\n" +
|
||||
" num_ord) AS max_fase,\n" +
|
||||
" dtb_ord_steps.cod_jfas,\n" +
|
||||
" SUM(DATEDIFF(S, data_iniz, ISNULL(data_fine, GETDATE()))) AS elapsed_time\n" +
|
||||
" FROM dtb_ord_steps\n" +
|
||||
" CROSS APPLY setup\n" +
|
||||
" WHERE data_ord BETWEEN setup.date_start AND setup.date_end\n" +
|
||||
" GROUP BY gestione,\n" +
|
||||
" data_ord,\n" +
|
||||
" num_ord,\n" +
|
||||
" num_fase,\n" +
|
||||
" dtb_ord_steps.cod_jfas),\n" +
|
||||
" dtb_ordr_prod_with_art AS (SELECT dtb_ordr.data_ord AS data_ord_prod,\n" +
|
||||
" dtb_ordr.num_ord AS num_ord_prod,\n" +
|
||||
" dtb_ordr.riga_ord AS riga_ord_prod,\n" +
|
||||
" dtb_ordr.gestione AS gestione_ord_prod,\n" +
|
||||
" IIF(CONVERT(DATE, dtb_ordr.data_ord) >= CONVERT(DATE, GETDATE()), 'S',\n" +
|
||||
" 'N') AS flag_avviabile,\n" +
|
||||
" mtb_aart_prod.flag_tracciabilita,\n" +
|
||||
" dtb_ordr.unt_ord,\n" +
|
||||
" dtb_ordr.rap_conv,\n" +
|
||||
" dtb_ordr.unt_ord2,\n" +
|
||||
" CAST(ROUND(dtb_ordr.qta_ord2 / ISNULL(NULLIF(dtb_ordr.qta_ord, 0), 1),\n" +
|
||||
" 5) AS NUMERIC(20, 5)) AS rap_conv2,\n" +
|
||||
" dtb_ordr.unt_ord3,\n" +
|
||||
" CAST(ROUND(dtb_ordr.qta_ord3 / ISNULL(NULLIF(dtb_ordr.qta_ord, 0), 1),\n" +
|
||||
" 5) AS NUMERIC(20, 5)) AS rap_conv3,\n" +
|
||||
" dtb_ordr.qta_ord,\n" +
|
||||
" dtb_ordr.qta_ord2,\n" +
|
||||
" dtb_ordr.qta_ord3,\n" +
|
||||
" dtb_ordr.num_cnf,\n" +
|
||||
" IIF(mtb_aart_prod.unt_mis IN ('PZ', 'NR'), mtb_aart_prod.qta_cnf,\n" +
|
||||
" IIF(mtb_aart_prod.unt_mis2 IN ('PZ', 'NR'), mtb_aart_prod.qta_cnf /\n" +
|
||||
" ISNULL(NULLIF(mtb_aart_prod.rap_conv2, 0), 1),\n" +
|
||||
" mtb_aart_prod.qta_cnf)) AS cal_qta_cnf,\n" +
|
||||
"\n" +
|
||||
" IIF(dtb_ordr.colli_pedana = 0 OR dtb_ordr.colli_pedana = 1,\n" +
|
||||
" IIF(mtb_aart_prod.colli_pedana = 0, 1, mtb_aart_prod.colli_pedana),\n" +
|
||||
" dtb_ordr.colli_pedana)\n" +
|
||||
" AS colli_pedana,\n" +
|
||||
" dtb_ordr.pos_riga,\n" +
|
||||
" dtb_ordt.cod_mdep,\n" +
|
||||
" IIF(mtb_aart_prod.unt_mis IN ('PZ', 'NR'), 1,\n" +
|
||||
" IIF(mtb_aart_prod.unt_mis2 IN ('PZ', 'NR') AND\n" +
|
||||
" NULLIF(mtb_aart_prod.rap_conv2, 0) IS NOT NULL,\n" +
|
||||
" mtb_aart_prod.rap_conv2,\n" +
|
||||
" 1)) AS calc_rap_conv,\n" +
|
||||
" mtb_aart_prod.gg_scad_partita,\n" +
|
||||
" mtb_aart_prod.qta_cnf\n" +
|
||||
" FROM dtb_ordr\n" +
|
||||
" INNER JOIN dtb_ordt ON dtb_ordr.gestione = dtb_ordt.gestione AND\n" +
|
||||
" dtb_ordr.data_ord = dtb_ordt.data_ord AND\n" +
|
||||
" dtb_ordr.num_ord = dtb_ordt.num_ord\n" +
|
||||
" INNER JOIN mtb_aart mtb_aart_prod ON mtb_aart_prod.cod_mart = dtb_ordr.cod_mart),\n" +
|
||||
" ord_lav AS (SELECT dtb_ordt.cod_jcom,\n" +
|
||||
" dtb_ordr_prod_with_art.data_ord_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.num_ord_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.riga_ord_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.flag_avviabile,\n" +
|
||||
" dtb_ordr_prod_with_art.flag_tracciabilita,\n" +
|
||||
" dtb_ordr_prod_with_art.unt_ord,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_partita_mag.partita_mag IS NULL THEN\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv\n" +
|
||||
" ELSE CASE\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord = mtb_aart.unt_mis THEN\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord = mtb_aart.unt_mis2 THEN\n" +
|
||||
" IIF(mtb_partita_mag.rap_conv2 IS NULL OR mtb_partita_mag.rap_conv2 = 0,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv2, mtb_partita_mag.rap_conv2)\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord = mtb_aart.unt_mis3 THEN\n" +
|
||||
" IIF(mtb_partita_mag.rap_conv3 IS NULL OR mtb_partita_mag.rap_conv3 = 0,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv3, mtb_partita_mag.rap_conv3)\n" +
|
||||
" END\n" +
|
||||
" END\n" +
|
||||
" AS rap_conv,\n" +
|
||||
" dtb_ordr_prod_with_art.unt_ord2,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_partita_mag.partita_mag IS NULL THEN\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv2\n" +
|
||||
" ELSE CASE\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord2 = mtb_aart.unt_mis THEN\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv2\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord2 = mtb_aart.unt_mis2 THEN\n" +
|
||||
" IIF(mtb_partita_mag.rap_conv2 IS NULL OR mtb_partita_mag.rap_conv2 = 0,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv2, mtb_partita_mag.rap_conv2)\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord2 = mtb_aart.unt_mis3 THEN\n" +
|
||||
" IIF(mtb_partita_mag.rap_conv3 IS NULL OR mtb_partita_mag.rap_conv3 = 0,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv3, mtb_partita_mag.rap_conv3)\n" +
|
||||
" END\n" +
|
||||
" END\n" +
|
||||
" AS rap_conv2,\n" +
|
||||
" dtb_ordr_prod_with_art.unt_ord3,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_partita_mag.partita_mag IS NULL THEN\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv3\n" +
|
||||
" ELSE CASE\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord3 = mtb_aart.unt_mis THEN\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv3\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord3 = mtb_aart.unt_mis2 THEN\n" +
|
||||
" IIF(mtb_partita_mag.rap_conv2 IS NULL OR mtb_partita_mag.rap_conv2 = 0,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv2, mtb_partita_mag.rap_conv2)\n" +
|
||||
" WHEN dtb_ordr_prod_with_art.unt_ord3 = mtb_aart.unt_mis3 THEN\n" +
|
||||
" IIF(mtb_partita_mag.rap_conv3 IS NULL OR mtb_partita_mag.rap_conv3 = 0,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv3, mtb_partita_mag.rap_conv3)\n" +
|
||||
" END\n" +
|
||||
" END\n" +
|
||||
" AS rap_conv3,\n" +
|
||||
" ISNULL(dtb_ordt.descr_estesa_prod, dtb_ordt.descrizione_prod) AS descrizione_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.num_cnf * dtb_ordr_prod_with_art.cal_qta_cnf AS num_pezzi,\n" +
|
||||
" dtb_ordr_prod_with_art.num_cnf,\n" +
|
||||
" dtb_ordr_prod_with_art.gg_scad_partita,\n" +
|
||||
" dtb_ordr_prod_with_art.qta_cnf,\n" +
|
||||
" dtb_ordr_prod_with_art.colli_pedana,\n" +
|
||||
" dtb_ordr_prod_with_art.num_cnf / dtb_ordr_prod_with_art.colli_pedana AS num_pedane,\n" +
|
||||
" dtb_ordr_prod_with_art.pos_riga,\n" +
|
||||
" dtb_ordt.flag_evaso_prod,\n" +
|
||||
" dtb_ordt.flag_evaso_forzato,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN (dtb_ordt.flag_evaso_prod = 'I' OR\n" +
|
||||
" (setupCaricoImmediato.flag_carico_scarico_immediato = 'S' AND\n" +
|
||||
" flag_evaso_prod = 'E'))\n" +
|
||||
" AND dtb_ordt.flag_evaso_forzato = 'N'\n" +
|
||||
" THEN 'I'\n" +
|
||||
" WHEN flag_evaso_prod <> 'I' AND dtb_ordt.flag_evaso_forzato = 'S'\n" +
|
||||
" THEN flag_evaso_prod\n" +
|
||||
" END AS flag_ordine_evaso,\n" +
|
||||
" dtb_ordt.gestione,\n" +
|
||||
" dtb_ordt.data_ord,\n" +
|
||||
" dtb_ordt.cod_tcol_UL,\n" +
|
||||
" mtb_tcol.descrizione AS descrizione_tcol,\n" +
|
||||
" dtb_ordt.cod_anag,\n" +
|
||||
" gtb_anag.rag_soc AS rag_soc_anag,\n" +
|
||||
" gtb_anag.part_iva,\n" +
|
||||
" dtb_ordt.rif_ord,\n" +
|
||||
" dtb_ordt.cod_vdes,\n" +
|
||||
" dtb_ordt.cod_mdep,\n" +
|
||||
" dtb_ordr_prod_with_art.cod_mdep AS cod_mdep_prod,\n" +
|
||||
" dtb_ordt.num_ord,\n" +
|
||||
" dtb_ord_steps.cod_jfas,\n" +
|
||||
" dtb_ordt.cod_jfas AS cod_jfas_lav,\n" +
|
||||
" mtb_partita_mag.partita_mag,\n" +
|
||||
" dtb_ordt.note AS note_lav,\n" +
|
||||
" mtb_partita_mag.data_scad,\n" +
|
||||
" dtb_ordt.cod_prod,\n" +
|
||||
" jtb_comt.descrizione AS descrizione_commessa,\n" +
|
||||
" dtb_ordt.data_iniz_prod,\n" +
|
||||
" q.max_step,\n" +
|
||||
" q.max_fase,\n" +
|
||||
" q.num_fase,\n" +
|
||||
" IIF(mtb_aart.flag_qta_cnf_fissa = 'S' AND\n" +
|
||||
" (mtb_aart.qta_cnf > 1 OR dtb_ordr_prod_with_art.colli_pedana > 1), 'Colli',\n" +
|
||||
" jtb_cicl.unt_mis_prod)\n" +
|
||||
" AS unt_mis_prod,\n" +
|
||||
" IIF(mtb_aart.flag_qta_cnf_fissa = 'S' AND\n" +
|
||||
" (mtb_aart.qta_cnf > 1 OR dtb_ordr_prod_with_art.colli_pedana > 1),\n" +
|
||||
" dtb_ordr_prod_with_art.colli_pedana, jtb_cicl.qta_prod)\n" +
|
||||
" AS qta_batch_prod,\n" +
|
||||
" IIF(mtb_aart.qta_cnf > 1 OR dtb_ordr_prod_with_art.colli_pedana > 1, mtb_aart.qta_cnf,\n" +
|
||||
" jtb_cicl.rap_conv_prod) AS rap_conv_prod,\n" +
|
||||
" dtb_ord_steps.data_iniz,\n" +
|
||||
" dtb_ord_steps.data_fine,\n" +
|
||||
" dtb_ord_steps.qta_lav AS qta_lav,\n" +
|
||||
" IIF(dtb_ord_steps.qta_prod <> 0, dtb_ord_steps.qta_prod,\n" +
|
||||
" dtb_ordt.qta_prod) AS qta_prod,\n" +
|
||||
" dtb_ord_steps.hr_num,\n" +
|
||||
" dtb_ord_steps.descrizione_attivita,\n" +
|
||||
" 3600 / (ISNULL(NULLIF(jtb_dist_clav_dir.duration, 0), 1) /\n" +
|
||||
" ISNULL(NULLIF(jtb_cicl.rap_conv_prod, 0), 1)) AS prod_std,\n" +
|
||||
" q.elapsed_time,\n" +
|
||||
" SUM(ISNULL(mtb_colr.qta_col, 0)) AS qta_trasferite,\n" +
|
||||
" COUNT(mtb_colr.num_collo) AS udc_trasferiti,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN (in_production_machines.max_data_mov IS NOT NULL AND (q.max_step = 0 OR\n" +
|
||||
" (q.max_step > 0 AND\n" +
|
||||
" dtb_ord_steps.data_fine IS NOT NULL AND\n" +
|
||||
" DATEDIFF(MINUTE,\n" +
|
||||
" dtb_ord_steps.data_fine,\n" +
|
||||
" in_production_machines.max_data_mov) >\n" +
|
||||
" 5)))\n" +
|
||||
" THEN 'IN AVVIO'\n" +
|
||||
" WHEN q.max_step = 0\n" +
|
||||
" THEN 'PROGRAMMATO'\n" +
|
||||
" WHEN data_fine IS NULL\n" +
|
||||
" THEN 'IN CORSO'\n" +
|
||||
" ELSE 'IN PAUSA'\n" +
|
||||
" END\n" +
|
||||
" AS stato,\n" +
|
||||
" CONVERT(INT, SUM(ISNULL(mtb_colr.qta_col / dtb_ordr_prod_with_art.calc_rap_conv, 0))) AS pz_trasferiti,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN (jtb_dist_clav_dir.duration / ISNULL(NULLIF(jtb_cicl.rap_conv_prod, 0), 1)) *\n" +
|
||||
" (dtb_ordt.qta_prod * dtb_ordt.rap_conv_prod -\n" +
|
||||
" SUM(ISNULL(mtb_colr.qta_col, 0))) > 0\n" +
|
||||
" THEN\n" +
|
||||
" (jtb_dist_clav_dir.duration /\n" +
|
||||
" ISNULL(NULLIF(jtb_cicl.rap_conv_prod, 0), 1)) *\n" +
|
||||
" (dtb_ordt.qta_prod * dtb_ordt.rap_conv_prod -\n" +
|
||||
" SUM(ISNULL(mtb_colr.qta_col, 0)))\n" +
|
||||
" ELSE 0 END AS run_time_sec,\n" +
|
||||
" jl.id_lotto,\n" +
|
||||
" jlt.data_lotto,\n" +
|
||||
" mtb_aart.peso_kg,\n" +
|
||||
" dtb_ordt.data_cons_prod_max\n" +
|
||||
" FROM dtb_ord_steps\n" +
|
||||
" INNER JOIN dtb_ordt ON dtb_ord_steps.data_ord = dtb_ordt.data_ord\n" +
|
||||
" AND dtb_ord_steps.num_ord = dtb_ordt.num_ord\n" +
|
||||
" AND dtb_ord_steps.gestione = dtb_ordt.gestione\n" +
|
||||
" LEFT OUTER JOIN setup_depo setupCaricoImmediato\n" +
|
||||
" ON dtb_ordt.cod_mdep = setupCaricoImmediato.cod_mdep\n" +
|
||||
" LEFT OUTER JOIN jtb_dist_clav_dir\n" +
|
||||
" ON dtb_ordt.cod_prod = jtb_dist_clav_dir.cod_prod AND\n" +
|
||||
" dtb_ordt.cod_jfas = jtb_dist_clav_dir.cod_jfas\n" +
|
||||
" LEFT OUTER JOIN mtb_partita_mag\n" +
|
||||
" ON dtb_ordt.partita_mag = mtb_partita_mag.partita_mag AND\n" +
|
||||
" dtb_ordt.cod_prod = mtb_partita_mag.cod_mart AND\n" +
|
||||
" mtb_partita_mag.flag_stato = 'A'\n" +
|
||||
" LEFT OUTER JOIN mtb_colr_sum mtb_colr ON dtb_ordt.data_ord = mtb_colr.data_ord AND\n" +
|
||||
" dtb_ordt.gestione = mtb_colr.gestione AND\n" +
|
||||
" dtb_ordt.num_ord = mtb_colr.num_ord AND\n" +
|
||||
" dtb_ordt.cod_prod = mtb_colr.cod_mart\n" +
|
||||
" LEFT OUTER JOIN jtb_comt ON dtb_ordt.cod_jcom = jtb_comt.cod_jcom\n" +
|
||||
" INNER JOIN dtb_ord_max_step q ON dtb_ord_steps.gestione = q.gestione AND\n" +
|
||||
" dtb_ord_steps.data_ord = q.data_ord AND\n" +
|
||||
" dtb_ord_steps.num_ord = q.num_ord AND\n" +
|
||||
" dtb_ord_steps.id_step = q.max_step AND\n" +
|
||||
" dtb_ord_steps.cod_jfas = q.cod_jfas\n" +
|
||||
" LEFT OUTER JOIN dtb_ordr_prod_with_art\n" +
|
||||
" ON dtb_ordr_prod_with_art.gestione_ord_prod =\n" +
|
||||
" dtb_ordt.gestione_rif AND\n" +
|
||||
" dtb_ordr_prod_with_art.data_ord_prod = dtb_ordt.data_ord_rif AND\n" +
|
||||
" dtb_ordr_prod_with_art.num_ord_prod = dtb_ordt.num_ord_rif AND\n" +
|
||||
" dtb_ordr_prod_with_art.riga_ord_prod = dtb_ordt.riga_ord_rif\n" +
|
||||
" LEFT OUTER JOIN jtb_cicl ON jtb_cicl.cod_prod = dtb_ordt.cod_prod\n" +
|
||||
" LEFT OUTER JOIN mtb_aart ON mtb_aart.cod_mart = dtb_ordt.cod_prod\n" +
|
||||
" LEFT OUTER JOIN gtb_anag ON dtb_ordt.cod_anag = gtb_anag.cod_anag\n" +
|
||||
" LEFT OUTER JOIN mtb_tcol ON dtb_ordt.cod_tcol_UL = mtb_tcol.cod_tcol\n" +
|
||||
" LEFT OUTER JOIN in_production_machines\n" +
|
||||
" ON dtb_ord_steps.data_ord = in_production_machines.data_ord\n" +
|
||||
" AND dtb_ord_steps.num_ord = in_production_machines.num_ord\n" +
|
||||
" AND dtb_ord_steps.gestione = in_production_machines.gestione\n" +
|
||||
" LEFT OUTER JOIN jtb_lotr jl\n" +
|
||||
" ON dtb_ord_steps.cod_jfas = jl.cod_jfas AND\n" +
|
||||
" dtb_ordt.gestione = jl.gestione AND\n" +
|
||||
" dtb_ordt.data_ord = jl.data_ord AND\n" +
|
||||
" dtb_ordt.num_ord = jl.num_ord\n" +
|
||||
" LEFT OUTER JOIN jtb_lott jlt\n" +
|
||||
" ON jl.cod_jfas = jlt.cod_jfas AND jl.id_lotto = jlt.id_lotto\n" +
|
||||
"\n" +
|
||||
" CROSS APPLY setup\n" +
|
||||
" WHERE dtb_ordt.flag_annulla = 'N'\n" +
|
||||
" AND (setup.flag_evaso IS NULL\n" +
|
||||
" OR (\n" +
|
||||
" (setup.flag_evaso = 'I'\n" +
|
||||
" AND\n" +
|
||||
" dtb_ord_steps.flag_step_attivo = 'S'\n" +
|
||||
" AND (flag_evaso_prod = 'I'\n" +
|
||||
" OR\n" +
|
||||
" (setupCaricoImmediato.flag_carico_scarico_immediato = 'S'\n" +
|
||||
" AND\n" +
|
||||
" flag_evaso_prod = 'E'))\n" +
|
||||
" AND dtb_ordt.flag_evaso_forzato = 'N'\n" +
|
||||
" )\n" +
|
||||
" OR (setup.flag_evaso = 'E'\n" +
|
||||
" AND (flag_evaso_prod = 'E' OR jlt.data_chiusura IS NOT NULL))\n" +
|
||||
" )\n" +
|
||||
" )\n" +
|
||||
" AND (setup.cod_jfas IS NULL\n" +
|
||||
" OR dtb_ord_steps.cod_jfas IN (SELECT cod_jfas FROM setup_jfas))\n" +
|
||||
" AND (setup.cod_anag IS NULL\n" +
|
||||
" OR dtb_ordt.cod_anag = setup.cod_anag)\n" +
|
||||
" GROUP BY dtb_ordr_prod_with_art.data_ord_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.num_ord_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.riga_ord_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.flag_avviabile,\n" +
|
||||
" dtb_ordr_prod_with_art.flag_tracciabilita,\n" +
|
||||
" dtb_ordr_prod_with_art.unt_ord,\n" +
|
||||
" mtb_partita_mag.rap_conv2,\n" +
|
||||
" mtb_partita_mag.rap_conv3,\n" +
|
||||
" dtb_ordt.note,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv,\n" +
|
||||
" dtb_ordt.descrizione_prod,\n" +
|
||||
" dtb_ordt.descr_estesa_prod,\n" +
|
||||
" dtb_ordr_prod_with_art.num_cnf,\n" +
|
||||
" mtb_aart.qta_cnf,\n" +
|
||||
" mtb_aart.gg_scad_partita,\n" +
|
||||
" mtb_aart.flag_qta_cnf_fissa,\n" +
|
||||
" dtb_ordr_prod_with_art.pos_riga,\n" +
|
||||
" dtb_ordt.flag_evaso_prod,\n" +
|
||||
" dtb_ordt.flag_evaso_forzato,\n" +
|
||||
" dtb_ordt.gestione,\n" +
|
||||
" dtb_ordt.data_ord,\n" +
|
||||
" dtb_ordt.num_ord,\n" +
|
||||
" dtb_ord_steps.cod_jfas,\n" +
|
||||
" dtb_ordt.cod_jfas,\n" +
|
||||
" dtb_ordt.cod_jcom,\n" +
|
||||
" mtb_partita_mag.partita_mag,\n" +
|
||||
" mtb_partita_mag.data_scad,\n" +
|
||||
" dtb_ordt.cod_prod,\n" +
|
||||
" dtb_ordt.data_iniz_prod,\n" +
|
||||
" q.max_step,\n" +
|
||||
" dtb_ord_steps.data_iniz,\n" +
|
||||
" dtb_ord_steps.data_fine,\n" +
|
||||
" dtb_ordt.cod_tcol_UL,\n" +
|
||||
" dtb_ordt.cod_anag,\n" +
|
||||
" gtb_anag.rag_soc,\n" +
|
||||
" gtb_anag.part_iva,\n" +
|
||||
" dtb_ordt.rif_ord,\n" +
|
||||
" dtb_ordt.cod_vdes,\n" +
|
||||
" dtb_ordt.cod_mdep,\n" +
|
||||
" dtb_ordr_prod_with_art.cod_mdep,\n" +
|
||||
" mtb_aart.colli_pedana,\n" +
|
||||
" dtb_ord_steps.qta_prod,\n" +
|
||||
" dtb_ordt.qta_prod,\n" +
|
||||
" jtb_dist_clav_dir.duration,\n" +
|
||||
" jtb_comt.descrizione,\n" +
|
||||
" q.elapsed_time,\n" +
|
||||
" dtb_ordr_prod_with_art.colli_pedana,\n" +
|
||||
" dtb_ord_steps.hr_num,\n" +
|
||||
" mtb_aart.unt_mis,\n" +
|
||||
" mtb_aart.unt_mis2,\n" +
|
||||
" mtb_aart.rap_conv2,\n" +
|
||||
" mtb_aart.unt_mis3,\n" +
|
||||
" mtb_aart.rap_conv3,\n" +
|
||||
" dtb_ordr_prod_with_art.unt_ord2,\n" +
|
||||
" dtb_ordr_prod_with_art.unt_ord3,\n" +
|
||||
" dtb_ordr_prod_with_art.qta_ord,\n" +
|
||||
" dtb_ordr_prod_with_art.qta_ord2,\n" +
|
||||
" dtb_ordr_prod_with_art.qta_ord3,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv2,\n" +
|
||||
" dtb_ordr_prod_with_art.rap_conv3,\n" +
|
||||
" dtb_ordr_prod_with_art.qta_cnf,\n" +
|
||||
" dtb_ordr_prod_with_art.cal_qta_cnf,\n" +
|
||||
" dtb_ordr_prod_with_art.gg_scad_partita,\n" +
|
||||
" jtb_cicl.qta_prod,\n" +
|
||||
" jtb_cicl.rap_conv_prod,\n" +
|
||||
" dtb_ord_steps.descrizione_attivita,\n" +
|
||||
" jtb_cicl.unt_mis_prod,\n" +
|
||||
" mtb_tcol.descrizione,\n" +
|
||||
" dtb_ordt.qta_prod,\n" +
|
||||
" dtb_ordt.rap_conv_prod,\n" +
|
||||
" setupCaricoImmediato.flag_carico_scarico_immediato,\n" +
|
||||
" in_production_machines.max_data_mov, q.num_fase, dtb_ord_steps.qta_lav, q.max_fase,\n" +
|
||||
" jl.id_lotto, jlt.data_lotto, mtb_aart.peso_kg, dtb_ordt.data_cons_prod_max)\n" +
|
||||
" INSERT\n" +
|
||||
" INTO @val\n" +
|
||||
" SELECT ROW_NUMBER() OVER (ORDER BY data_ord, num_ord_prod, pos_riga, num_ord) AS sort,\n" +
|
||||
" cod_jcom,\n" +
|
||||
" data_ord_prod,\n" +
|
||||
" num_ord_prod,\n" +
|
||||
" riga_ord_prod,\n" +
|
||||
" flag_avviabile,\n" +
|
||||
" flag_tracciabilita,\n" +
|
||||
" unt_ord,\n" +
|
||||
" rap_conv,\n" +
|
||||
" unt_ord2,\n" +
|
||||
" rap_conv2,\n" +
|
||||
" unt_ord3,\n" +
|
||||
" rap_conv3,\n" +
|
||||
" descrizione_prod,\n" +
|
||||
" num_pezzi,\n" +
|
||||
" num_cnf,\n" +
|
||||
" gg_scad_partita,\n" +
|
||||
" qta_cnf,\n" +
|
||||
" colli_pedana,\n" +
|
||||
" num_pedane,\n" +
|
||||
" pos_riga,\n" +
|
||||
" flag_evaso_prod,\n" +
|
||||
" flag_evaso_forzato,\n" +
|
||||
" flag_ordine_evaso,\n" +
|
||||
" gestione,\n" +
|
||||
" data_ord,\n" +
|
||||
" cod_tcol_UL,\n" +
|
||||
" descrizione_tcol,\n" +
|
||||
" cod_anag,\n" +
|
||||
" rag_soc_anag,\n" +
|
||||
" part_iva,\n" +
|
||||
" rif_ord,\n" +
|
||||
" cod_vdes,\n" +
|
||||
" cod_mdep,\n" +
|
||||
" cod_mdep_prod,\n" +
|
||||
" num_ord,\n" +
|
||||
" cod_jfas,\n" +
|
||||
" cod_jfas_lav,\n" +
|
||||
" partita_mag,\n" +
|
||||
" note_lav,\n" +
|
||||
" data_scad,\n" +
|
||||
" cod_prod,\n" +
|
||||
" descrizione_commessa,\n" +
|
||||
" data_iniz_prod,\n" +
|
||||
" max_step,\n" +
|
||||
" unt_mis_prod,\n" +
|
||||
" qta_batch_prod,\n" +
|
||||
" rap_conv_prod,\n" +
|
||||
" data_iniz,\n" +
|
||||
" data_fine,\n" +
|
||||
" qta_prod,\n" +
|
||||
" qta_lav,\n" +
|
||||
" max_fase,\n" +
|
||||
" num_fase,\n" +
|
||||
" hr_num,\n" +
|
||||
" descrizione_attivita,\n" +
|
||||
" prod_std,\n" +
|
||||
" elapsed_time,\n" +
|
||||
" qta_trasferite,\n" +
|
||||
" udc_trasferiti,\n" +
|
||||
" stato,\n" +
|
||||
" pz_trasferiti,\n" +
|
||||
" run_time_sec,\n" +
|
||||
" SUM(run_time_sec) OVER (PARTITION BY cod_jfas, data_ord_prod) AS cumulative_run_time_sec,\n" +
|
||||
" CONVERT(INT, run_time_sec / 3600) AS run_time_hour,\n" +
|
||||
" ROUND((run_time_sec / 3600 - CONVERT(INT, run_time_sec / 3600)) * 60, 0) AS run_time_min,\n" +
|
||||
" DATEADD(SECOND, SUM(run_time_sec)\n" +
|
||||
" OVER (PARTITION BY cod_jfas, data_ord_prod ORDER BY stato, cod_jfas, data_ord_prod, pos_riga ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW),\n" +
|
||||
" CASE\n" +
|
||||
" WHEN data_ord_prod > GETDATE() THEN DATEADD(HH, 7, data_ord_prod)\n" +
|
||||
" ELSE GETDATE() END) AS run_time_end,\n" +
|
||||
" id_lotto,\n" +
|
||||
" data_lotto,\n" +
|
||||
" peso_kg,\n" +
|
||||
" data_cons_prod_max\n" +
|
||||
" FROM ord_lav\n" +
|
||||
" ORDER BY ord_lav.data_ord,\n" +
|
||||
" ord_lav.num_ord_prod,\n" +
|
||||
" ord_lav.pos_riga,\n" +
|
||||
" ord_lav.num_ord\n" +
|
||||
" RETURN\n" +
|
||||
"END");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,28 +1,33 @@
|
||||
package it.integry.ems.service;
|
||||
|
||||
import it.integry.ems.service.dto.AziendaInternalCodAnagDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.sql.Connection;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class AziendaService {
|
||||
|
||||
@Nullable
|
||||
public List<AziendaInternalCodAnagDTO> retrieveInternalCodAnags(Connection connection) throws Exception {
|
||||
String sql = "SELECT ga.cod_anag,\n" +
|
||||
" CAST(CASE WHEN vc.cod_anag IS NOT NULL THEN 1 ELSE 0 END AS BIT) AS is_cliente,\n" +
|
||||
" CAST(CASE WHEN af.cod_anag IS NOT NULL THEN 1 ELSE 0 END AS BIT) AS is_fornitore\n" +
|
||||
"FROM azienda\n" +
|
||||
"INNER JOIN gtb_anag ga on azienda.part_iva = ga.part_iva\n" +
|
||||
"LEFT OUTER JOIN vtb_clie vc on ga.cod_anag = vc.cod_anag AND vc.flag_stato = 'A'\n" +
|
||||
"LEFT OUTER JOIN atb_forn af on ga.cod_anag = af.cod_anag AND af.flag_stato = 'A'";
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
return UtilityDB.executeSimpleQueryDTO(connection, sql, AziendaInternalCodAnagDTO.class);
|
||||
public String retrieveInternalCodAnagFornitore() throws Exception {
|
||||
String internalCodAnagsQuery = "SELECT CAST(ga.cod_anag AS VARCHAR(5)) AS cod_anag\n" +
|
||||
"FROM azienda\n" +
|
||||
" INNER JOIN gtb_anag ga ON azienda.part_iva = ga.part_iva\n" +
|
||||
" INNER JOIN atb_forn af ON ga.cod_anag = af.cod_anag AND af.flag_stato = 'A'";
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), internalCodAnagsQuery);
|
||||
}
|
||||
|
||||
public String retrieveInternalCodAnagCliente() throws Exception {
|
||||
String internalCodAnagsQuery = "SELECT CAST(ga.cod_anag AS VARCHAR(5)) AS cod_anag\n" +
|
||||
"FROM azienda\n" +
|
||||
" INNER JOIN gtb_anag ga ON azienda.part_iva = ga.part_iva\n" +
|
||||
" INNER JOIN vtb_clie vc ON ga.cod_anag = vc.cod_anag AND vc.flag_stato = 'A'";
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), internalCodAnagsQuery);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
package it.integry.ems.service.dto;
|
||||
|
||||
public class AziendaInternalCodAnagDTO {
|
||||
|
||||
private String codAnag;
|
||||
private boolean isCliente;
|
||||
private boolean isFornitore;
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public AziendaInternalCodAnagDTO setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isCliente() {
|
||||
return isCliente;
|
||||
}
|
||||
|
||||
public AziendaInternalCodAnagDTO setCliente(boolean cliente) {
|
||||
isCliente = cliente;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFornitore() {
|
||||
return isFornitore;
|
||||
}
|
||||
|
||||
public AziendaInternalCodAnagDTO setFornitore(boolean fornitore) {
|
||||
isFornitore = fornitore;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -28,8 +28,8 @@ public class ChiusuraLavorazioneDTO {
|
||||
private boolean effettuaRientro = true;
|
||||
private boolean chiudiOrdine = true;
|
||||
private boolean terminaLavorazioneLinea = false;
|
||||
|
||||
private boolean salvaDocumenti = true;
|
||||
|
||||
public DtbOrdt getOrdine() {
|
||||
return ordine;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.jcodec.common.DictionaryCompressor;
|
||||
import org.josql.Query;
|
||||
import org.josql.QueryResults;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -37,12 +36,10 @@ import org.springframework.stereotype.Service;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.sql.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@@ -64,10 +61,10 @@ public class DocumentProdService {
|
||||
@Autowired
|
||||
private DocumentiLavDaDist documentiLavDaDist;
|
||||
|
||||
private Logger logger = LogManager.getLogger();
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
private String tipoMateriaPrima = "MATERIA PRIMA";
|
||||
private String tipoImballaggi = "IMBALLAGGI";
|
||||
private final String tipoMateriaPrima = "MATERIA PRIMA";
|
||||
private final String tipoImballaggi = "IMBALLAGGI";
|
||||
|
||||
public List<EntityBase> riapriGiornataProd(String codMdep, Date dataProd) throws Exception {
|
||||
List<EntityBase> arrayEntity = new ArrayList<EntityBase>();
|
||||
|
||||
@@ -2,6 +2,9 @@ package it.integry.ems.production.controller;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.document.dto.ChiusuraLavorazioneDTO;
|
||||
import it.integry.ems.document.dto.ScaricoLavorazioneDTO;
|
||||
import it.integry.ems.document.service.DocumentProdService;
|
||||
import it.integry.ems.production.dto.*;
|
||||
import it.integry.ems.production.service.MesProductionServiceV2;
|
||||
import it.integry.ems.production.service.ProductionLineService;
|
||||
@@ -9,8 +12,11 @@ import it.integry.ems.production.service.ProductionOrderDataHandlerService;
|
||||
import it.integry.ems.response.EsitoType;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.response.StatusResponse;
|
||||
import it.integry.ems.rules.completing.DocumentRules;
|
||||
import it.integry.ems.status.ServiceChecker;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
import it.integry.ems_model.utility.UtilityDate;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
@@ -33,9 +39,6 @@ import java.util.List;
|
||||
@RequestMapping("mes_v2")
|
||||
public class MesProductionControllerV2 {
|
||||
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ServiceChecker serviceChecker;
|
||||
|
||||
@@ -46,6 +49,8 @@ public class MesProductionControllerV2 {
|
||||
|
||||
@Autowired
|
||||
private ProductionOrderDataHandlerService productionOrderDataHandlerService;
|
||||
@Autowired
|
||||
private DocumentProdService documentProdService;
|
||||
|
||||
|
||||
@RequestMapping(value = "/status", method = RequestMethod.GET)
|
||||
@@ -403,4 +408,10 @@ public class MesProductionControllerV2 {
|
||||
@RequestBody List<OrdineLavorazioneDTO> ordini) throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(mesProductionService.createColloCaricoGroup(ordini));
|
||||
}
|
||||
|
||||
@PostMapping("creaDocumentoContoTerzi")
|
||||
public @ResponseBody
|
||||
ServiceRestResponse creaDocumentoContoTerzi(@RequestBody ChiusuraLavorazioneDTO dtoChiusura) throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(mesProductionService.creaDocumentoContoTerzi(dtoChiusura));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -261,6 +261,11 @@ public class OrdineLavorazioneDTO {
|
||||
@JsonSerialize
|
||||
private String ragSocAnag;
|
||||
|
||||
@SqlField(value = "part_iva")
|
||||
@JsonProperty("partIva")
|
||||
@JsonSerialize
|
||||
private String partIva;
|
||||
|
||||
@SqlField(value = "rif_ord")
|
||||
@JsonProperty("rifOrd")
|
||||
@JsonSerialize
|
||||
@@ -276,6 +281,11 @@ public class OrdineLavorazioneDTO {
|
||||
@JsonSerialize
|
||||
private String codMdep;
|
||||
|
||||
@SqlField(value = "cod_mdep_prod")
|
||||
@JsonProperty("codMdepProd")
|
||||
@JsonSerialize
|
||||
private String codMdepProd;
|
||||
|
||||
@SqlField(value = "cod_jcom")
|
||||
@JsonProperty("codJcom")
|
||||
@JsonSerialize
|
||||
@@ -377,48 +387,189 @@ public class OrdineLavorazioneDTO {
|
||||
return dataOrdProd;
|
||||
}
|
||||
|
||||
public void setDataOrdProd(Date dataOrdProd) {
|
||||
public OrdineLavorazioneDTO setDataOrdProd(Date dataOrdProd) {
|
||||
this.dataOrdProd = dataOrdProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumOrdProd() {
|
||||
return numOrdProd;
|
||||
}
|
||||
|
||||
public void setNumOrdProd(Integer numOrdProd) {
|
||||
public OrdineLavorazioneDTO setNumOrdProd(Integer numOrdProd) {
|
||||
this.numOrdProd = numOrdProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getRigaOrdProd() {
|
||||
return rigaOrdProd;
|
||||
}
|
||||
|
||||
public void setRigaOrdProd(Integer rigaOrdProd) {
|
||||
public OrdineLavorazioneDTO setRigaOrdProd(Integer rigaOrdProd) {
|
||||
this.rigaOrdProd = rigaOrdProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagAvviabile() {
|
||||
return flagAvviabile;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setFlagAvviabile(String flagAvviabile) {
|
||||
this.flagAvviabile = flagAvviabile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagTracciabilita() {
|
||||
return flagTracciabilita;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setFlagTracciabilita(String flagTracciabilita) {
|
||||
this.flagTracciabilita = flagTracciabilita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntOrd() {
|
||||
return untOrd;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setUntOrd(String untOrd) {
|
||||
this.untOrd = untOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv() {
|
||||
return rapConv;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setRapConv(BigDecimal rapConv) {
|
||||
this.rapConv = rapConv;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntOrd2() {
|
||||
return untOrd2;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setUntOrd2(String untOrd2) {
|
||||
this.untOrd2 = untOrd2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv2() {
|
||||
return rapConv2;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setRapConv2(BigDecimal rapConv2) {
|
||||
this.rapConv2 = rapConv2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntOrd3() {
|
||||
return untOrd3;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setUntOrd3(String untOrd3) {
|
||||
this.untOrd3 = untOrd3;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv3() {
|
||||
return rapConv3;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setRapConv3(BigDecimal rapConv3) {
|
||||
this.rapConv3 = rapConv3;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getPosRiga() {
|
||||
return posRiga;
|
||||
}
|
||||
|
||||
public void setPosRiga(Integer posRiga) {
|
||||
public OrdineLavorazioneDTO setPosRiga(Integer posRiga) {
|
||||
this.posRiga = posRiga;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumPezzi() {
|
||||
return numPezzi;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setNumPezzi(BigDecimal numPezzi) {
|
||||
this.numPezzi = numPezzi;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumCnf() {
|
||||
return numCnf;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setNumCnf(BigDecimal numCnf) {
|
||||
this.numCnf = numCnf;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnf() {
|
||||
return qtaCnf;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setQtaCnf(BigDecimal qtaCnf) {
|
||||
this.qtaCnf = qtaCnf;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getGgScadPartita() {
|
||||
return ggScadPartita;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setGgScadPartita(Integer ggScadPartita) {
|
||||
this.ggScadPartita = ggScadPartita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getColliPedana() {
|
||||
return colliPedana;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setColliPedana(BigDecimal colliPedana) {
|
||||
this.colliPedana = colliPedana;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumPedane() {
|
||||
return numPedane;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setNumPedane(BigDecimal numPedane) {
|
||||
this.numPedane = numPedane;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public void setDataOrd(Date dataOrd) {
|
||||
public OrdineLavorazioneDTO setDataOrd(Date dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataConsCommessa() {
|
||||
return dataConsCommessa;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setDataConsCommessa(Date dataConsCommessa) {
|
||||
this.dataConsCommessa = dataConsCommessa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagEvasoProd() {
|
||||
return flagEvasoProd;
|
||||
}
|
||||
|
||||
public void setFlagEvasoProd(String flagEvasoProd) {
|
||||
public OrdineLavorazioneDTO setFlagEvasoProd(String flagEvasoProd) {
|
||||
this.flagEvasoProd = flagEvasoProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagOrdineEvaso() {
|
||||
@@ -434,32 +585,36 @@ public class OrdineLavorazioneDTO {
|
||||
return gestione;
|
||||
}
|
||||
|
||||
public void setGestione(String gestione) {
|
||||
public OrdineLavorazioneDTO setGestione(String gestione) {
|
||||
this.gestione = gestione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumOrd() {
|
||||
return numOrd;
|
||||
}
|
||||
|
||||
public void setNumOrd(Integer numOrd) {
|
||||
public OrdineLavorazioneDTO setNumOrd(Integer numOrd) {
|
||||
this.numOrd = numOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizioneProd() {
|
||||
return descrizioneProd;
|
||||
}
|
||||
|
||||
public void setDescrizioneProd(String descrizioneProd) {
|
||||
public OrdineLavorazioneDTO setDescrizioneProd(String descrizioneProd) {
|
||||
this.descrizioneProd = descrizioneProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodJfas() {
|
||||
return codJfas;
|
||||
}
|
||||
|
||||
public void setCodJfas(String codJfas) {
|
||||
public OrdineLavorazioneDTO setCodJfas(String codJfas) {
|
||||
this.codJfas = codJfas;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodJfasLav() {
|
||||
@@ -471,292 +626,319 @@ public class OrdineLavorazioneDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getMaxStep() {
|
||||
return maxStep;
|
||||
}
|
||||
|
||||
public void setMaxStep(Integer maxStep) {
|
||||
this.maxStep = maxStep;
|
||||
}
|
||||
|
||||
public Date getDataIniz() {
|
||||
return dataIniz;
|
||||
}
|
||||
|
||||
public void setDataIniz(Date dataIniz) {
|
||||
this.dataIniz = dataIniz;
|
||||
}
|
||||
|
||||
public Date getDataFine() {
|
||||
return dataFine;
|
||||
}
|
||||
|
||||
public void setDataFine(Date dataFine) {
|
||||
this.dataFine = dataFine;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaProd() {
|
||||
return qtaProd;
|
||||
}
|
||||
|
||||
public void setQtaProd(BigDecimal qtaProd) {
|
||||
this.qtaProd = qtaProd;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaTrasferite() {
|
||||
return qtaTrasferite;
|
||||
}
|
||||
|
||||
public void setQtaTrasferite(BigDecimal qtaTrasferite) {
|
||||
this.qtaTrasferite = qtaTrasferite;
|
||||
}
|
||||
|
||||
public BigDecimal getPzTrasferiti() {
|
||||
return pzTrasferiti;
|
||||
}
|
||||
|
||||
public void setPzTrasferiti(BigDecimal pzTrasferiti) {
|
||||
this.pzTrasferiti = pzTrasferiti;
|
||||
}
|
||||
|
||||
public BigDecimal getUdcTrasferiti() {
|
||||
return udcTrasferiti;
|
||||
}
|
||||
|
||||
public void setUdcTrasferiti(BigDecimal udcTrasferiti) {
|
||||
this.udcTrasferiti = udcTrasferiti;
|
||||
}
|
||||
|
||||
public String getStato() {
|
||||
return stato;
|
||||
}
|
||||
|
||||
public void setStato(String stato) {
|
||||
this.stato = stato;
|
||||
}
|
||||
|
||||
public String getUntOrd() {
|
||||
return untOrd;
|
||||
}
|
||||
|
||||
public void setUntOrd(String untOrd) {
|
||||
this.untOrd = untOrd;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv() {
|
||||
return rapConv;
|
||||
}
|
||||
|
||||
public void setRapConv(BigDecimal rapConv) {
|
||||
this.rapConv = rapConv;
|
||||
}
|
||||
|
||||
public BigDecimal getNumCnf() {
|
||||
return numCnf;
|
||||
}
|
||||
|
||||
public void setNumCnf(BigDecimal numCnf) {
|
||||
this.numCnf = numCnf;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnf() {
|
||||
return qtaCnf;
|
||||
}
|
||||
|
||||
public void setQtaCnf(BigDecimal qtaCnf) {
|
||||
this.qtaCnf = qtaCnf;
|
||||
}
|
||||
|
||||
public String getPartitaMag() {
|
||||
return partitaMag;
|
||||
}
|
||||
|
||||
public void setPartitaMag(String partitaMag) {
|
||||
public OrdineLavorazioneDTO setPartitaMag(String partitaMag) {
|
||||
this.partitaMag = partitaMag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public void setDataScad(Date dataScad) {
|
||||
public OrdineLavorazioneDTO setDataScad(Date dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPartitaMagSuggested() {
|
||||
return partitaMagSuggested;
|
||||
}
|
||||
|
||||
public void setPartitaMagSuggested(String partitaMagSuggested) {
|
||||
public OrdineLavorazioneDTO setPartitaMagSuggested(String partitaMagSuggested) {
|
||||
this.partitaMagSuggested = partitaMagSuggested;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataScadSuggested() {
|
||||
return dataScadSuggested;
|
||||
}
|
||||
|
||||
public void setDataScadSuggested(Date dataScadSuggested) {
|
||||
public OrdineLavorazioneDTO setDataScadSuggested(Date dataScadSuggested) {
|
||||
this.dataScadSuggested = dataScadSuggested;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodProd() {
|
||||
return codProd;
|
||||
}
|
||||
|
||||
public void setCodProd(String codProd) {
|
||||
public OrdineLavorazioneDTO setCodProd(String codProd) {
|
||||
this.codProd = codProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getMaxStep() {
|
||||
return maxStep;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setMaxStep(Integer maxStep) {
|
||||
this.maxStep = maxStep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataInizProd() {
|
||||
return dataInizProd;
|
||||
}
|
||||
|
||||
public void setDataInizProd(Date dataInizProd) {
|
||||
public OrdineLavorazioneDTO setDataInizProd(Date dataInizProd) {
|
||||
this.dataInizProd = dataInizProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataIniz() {
|
||||
return dataIniz;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setDataIniz(Date dataIniz) {
|
||||
this.dataIniz = dataIniz;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataFine() {
|
||||
return dataFine;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setDataFine(Date dataFine) {
|
||||
this.dataFine = dataFine;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaProd() {
|
||||
return qtaProd;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setQtaProd(BigDecimal qtaProd) {
|
||||
this.qtaProd = qtaProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaLav() {
|
||||
return qtaLav;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setQtaLav(BigDecimal qtaLav) {
|
||||
this.qtaLav = qtaLav;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getNumFase() {
|
||||
return numFase;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setNumFase(int numFase) {
|
||||
this.numFase = numFase;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getMaxFase() {
|
||||
return maxFase;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setMaxFase(int maxFase) {
|
||||
this.maxFase = maxFase;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaTrasferite() {
|
||||
return qtaTrasferite;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setQtaTrasferite(BigDecimal qtaTrasferite) {
|
||||
this.qtaTrasferite = qtaTrasferite;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaBatchProd() {
|
||||
return qtaBatchProd;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setQtaBatchProd(BigDecimal qtaBatchProd) {
|
||||
this.qtaBatchProd = qtaBatchProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntMisProd() {
|
||||
return untMisProd;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setUntMisProd(String untMisProd) {
|
||||
this.untMisProd = untMisProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConvProd() {
|
||||
return rapConvProd;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setRapConvProd(BigDecimal rapConvProd) {
|
||||
this.rapConvProd = rapConvProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPzTrasferiti() {
|
||||
return pzTrasferiti;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setPzTrasferiti(BigDecimal pzTrasferiti) {
|
||||
this.pzTrasferiti = pzTrasferiti;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getUdcTrasferiti() {
|
||||
return udcTrasferiti;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setUdcTrasferiti(BigDecimal udcTrasferiti) {
|
||||
this.udcTrasferiti = udcTrasferiti;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getStato() {
|
||||
return stato;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setStato(String stato) {
|
||||
this.stato = stato;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodTcolUl() {
|
||||
return codTcolUl;
|
||||
}
|
||||
|
||||
public void setCodTcolUl(String codTcolUl) {
|
||||
public OrdineLavorazioneDTO setCodTcolUl(String codTcolUl) {
|
||||
this.codTcolUl = codTcolUl;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public void setCodAnag(String codAnag) {
|
||||
public OrdineLavorazioneDTO setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRagSocAnag() {
|
||||
return ragSocAnag;
|
||||
}
|
||||
|
||||
public void setRagSocAnag(String ragSocAnag) {
|
||||
public OrdineLavorazioneDTO setRagSocAnag(String ragSocAnag) {
|
||||
this.ragSocAnag = ragSocAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPartIva() {
|
||||
return partIva;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setPartIva(String partIva) {
|
||||
this.partIva = partIva;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRifOrd() {
|
||||
return rifOrd;
|
||||
}
|
||||
|
||||
public void setRifOrd(String rifOrd) {
|
||||
public OrdineLavorazioneDTO setRifOrd(String rifOrd) {
|
||||
this.rifOrd = rifOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVdes() {
|
||||
return codVdes;
|
||||
}
|
||||
|
||||
public void setCodVdes(String codVdes) {
|
||||
public OrdineLavorazioneDTO setCodVdes(String codVdes) {
|
||||
this.codVdes = codVdes;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public void setCodMdep(String codMdep) {
|
||||
public OrdineLavorazioneDTO setCodMdep(String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMdepProd() {
|
||||
return codMdepProd;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setCodMdepProd(String codMdepProd) {
|
||||
this.codMdepProd = codMdepProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodJcom() {
|
||||
return codJcom;
|
||||
}
|
||||
|
||||
public void setCodJcom(String codJcom) {
|
||||
public OrdineLavorazioneDTO setCodJcom(String codJcom) {
|
||||
this.codJcom = codJcom;
|
||||
}
|
||||
|
||||
public BigDecimal getColliPedana() {
|
||||
return colliPedana;
|
||||
}
|
||||
|
||||
public void setColliPedana(BigDecimal colliPedana) {
|
||||
this.colliPedana = colliPedana;
|
||||
}
|
||||
|
||||
public BigDecimal getTempoTrascorso() {
|
||||
return tempoTrascorso;
|
||||
}
|
||||
|
||||
public void setTempoTrascorso(BigDecimal tempoTrascorso) {
|
||||
this.tempoTrascorso = tempoTrascorso;
|
||||
}
|
||||
|
||||
public String getDescCommessa() {
|
||||
return descCommessa;
|
||||
}
|
||||
|
||||
public void setDescCommessa(String descCommessa) {
|
||||
this.descCommessa = descCommessa;
|
||||
}
|
||||
|
||||
public BigDecimal getProdStd() {
|
||||
return prodStd;
|
||||
}
|
||||
|
||||
public void setProdStd(BigDecimal prodStd) {
|
||||
this.prodStd = prodStd;
|
||||
}
|
||||
|
||||
public String getFlagAvviabile() {
|
||||
return flagAvviabile;
|
||||
}
|
||||
|
||||
public void setFlagAvviabile(String flagAvviabile) {
|
||||
this.flagAvviabile = flagAvviabile;
|
||||
}
|
||||
|
||||
public BigDecimal getNumPezzi() {
|
||||
return numPezzi;
|
||||
}
|
||||
|
||||
public void setNumPezzi(BigDecimal numPezzi) {
|
||||
this.numPezzi = numPezzi;
|
||||
}
|
||||
|
||||
public BigDecimal getNumPedane() {
|
||||
return numPedane;
|
||||
}
|
||||
|
||||
public void setNumPedane(BigDecimal numPedane) {
|
||||
this.numPedane = numPedane;
|
||||
}
|
||||
|
||||
public Object getMtbColtToEdit() {
|
||||
return mtbColtToEdit;
|
||||
}
|
||||
|
||||
public void setMtbColtToEdit(Object mtbColtToEdit) {
|
||||
this.mtbColtToEdit = mtbColtToEdit;
|
||||
}
|
||||
|
||||
public Integer getGgScadPartita() {
|
||||
return ggScadPartita;
|
||||
}
|
||||
|
||||
public void setGgScadPartita(Integer ggScadPartita) {
|
||||
this.ggScadPartita = ggScadPartita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNoteLav() {
|
||||
return noteLav;
|
||||
}
|
||||
|
||||
public void setNoteLav(String noteLav) {
|
||||
public OrdineLavorazioneDTO setNoteLav(String noteLav) {
|
||||
this.noteLav = noteLav;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getTempoTrascorso() {
|
||||
return tempoTrascorso;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setTempoTrascorso(BigDecimal tempoTrascorso) {
|
||||
this.tempoTrascorso = tempoTrascorso;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescCommessa() {
|
||||
return descCommessa;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setDescCommessa(String descCommessa) {
|
||||
this.descCommessa = descCommessa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getProdStd() {
|
||||
return prodStd;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setProdStd(BigDecimal prodStd) {
|
||||
this.prodStd = prodStd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Object getMtbColtToEdit() {
|
||||
return mtbColtToEdit;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setMtbColtToEdit(Object mtbColtToEdit) {
|
||||
this.mtbColtToEdit = mtbColtToEdit;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getHrNum() {
|
||||
return hrNum;
|
||||
}
|
||||
|
||||
public void setHrNum(int hrNum) {
|
||||
public OrdineLavorazioneDTO setHrNum(int hrNum) {
|
||||
this.hrNum = hrNum;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizioneAttivita() {
|
||||
@@ -768,60 +950,13 @@ public class OrdineLavorazioneDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaBatchProd() {
|
||||
return qtaBatchProd;
|
||||
public String getNoteStep() {
|
||||
return noteStep;
|
||||
}
|
||||
|
||||
public void setQtaBatchProd(BigDecimal qtaBatchProd) {
|
||||
this.qtaBatchProd = qtaBatchProd;
|
||||
}
|
||||
|
||||
public String getUntOrd2() {
|
||||
return untOrd2;
|
||||
}
|
||||
|
||||
public void setUntOrd2(String untOrd2) {
|
||||
this.untOrd2 = untOrd2;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv2() {
|
||||
return rapConv2;
|
||||
}
|
||||
|
||||
public void setRapConv2(BigDecimal rapConv2) {
|
||||
this.rapConv2 = rapConv2;
|
||||
}
|
||||
|
||||
public String getUntOrd3() {
|
||||
return untOrd3;
|
||||
}
|
||||
|
||||
public void setUntOrd3(String untOrd3) {
|
||||
this.untOrd3 = untOrd3;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConv3() {
|
||||
return rapConv3;
|
||||
}
|
||||
|
||||
public void setRapConv3(BigDecimal rapConv3) {
|
||||
this.rapConv3 = rapConv3;
|
||||
}
|
||||
|
||||
public String getUntMisProd() {
|
||||
return untMisProd;
|
||||
}
|
||||
|
||||
public void setUntMisProd(String untMisProd) {
|
||||
this.untMisProd = untMisProd;
|
||||
}
|
||||
|
||||
public BigDecimal getRapConvProd() {
|
||||
return rapConvProd;
|
||||
}
|
||||
|
||||
public void setRapConvProd(BigDecimal rapConvProd) {
|
||||
this.rapConvProd = rapConvProd;
|
||||
public OrdineLavorazioneDTO setNoteStep(String noteStep) {
|
||||
this.noteStep = noteStep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizioneTcol() {
|
||||
@@ -878,33 +1013,6 @@ public class OrdineLavorazioneDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataConsCommessa() {
|
||||
return dataConsCommessa;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setDataConsCommessa(Date dataConsCommessa) {
|
||||
this.dataConsCommessa = dataConsCommessa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNoteStep() {
|
||||
return noteStep;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setNoteStep(String noteStep) {
|
||||
this.noteStep = noteStep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagTracciabilita() {
|
||||
return flagTracciabilita;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setFlagTracciabilita(String flagTracciabilita) {
|
||||
this.flagTracciabilita = flagTracciabilita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataConsProdMax() {
|
||||
return dataConsProdMax;
|
||||
}
|
||||
@@ -936,30 +1044,8 @@ public class OrdineLavorazioneDTO {
|
||||
return pesoKg;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaLav() {
|
||||
return qtaLav;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setQtaLav(BigDecimal qtaLav) {
|
||||
this.qtaLav = qtaLav;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getNumFase() {
|
||||
return numFase;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setNumFase(int numFase) {
|
||||
this.numFase = numFase;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getMaxFase() {
|
||||
return maxFase;
|
||||
}
|
||||
|
||||
public OrdineLavorazioneDTO setMaxFase(int maxFase) {
|
||||
this.maxFase = maxFase;
|
||||
public OrdineLavorazioneDTO setPesoKg(BigDecimal pesoKg) {
|
||||
this.pesoKg = pesoKg;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package it.integry.ems.production.service;
|
||||
|
||||
import com.annimon.stream.Collectors;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@@ -15,6 +16,7 @@ import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
|
||||
import it.integry.ems.production.dto.*;
|
||||
import it.integry.ems.report.dto.JasperDTO;
|
||||
import it.integry.ems.report.dto.PairsDTO;
|
||||
import it.integry.ems.rules.completing.DocumentRules;
|
||||
import it.integry.ems.service.*;
|
||||
import it.integry.ems.service.dto.MailTemplateDataDTO;
|
||||
import it.integry.ems.service.exception.EmptyReportException;
|
||||
@@ -1290,8 +1292,8 @@ public class MesProductionServiceV2 {
|
||||
String codDtipRien = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_DTIP_RIEN");
|
||||
|
||||
if (ordine.getNumFase() == ordine.getMaxFase()) {
|
||||
String codDtipCar = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_DTIP_CAR");
|
||||
String codMdepCar = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_MDEP_CAR");
|
||||
Azienda azienda = Azienda.getDefaultAzienda(multiDBTransactionManager.getPrimaryConnection());
|
||||
boolean isTerzista = !ordine.getPartIva().equalsIgnoreCase(azienda.getPartIva());
|
||||
|
||||
ChiusuraLavorazioneDTO dto = new ChiusuraLavorazioneDTO();
|
||||
|
||||
@@ -1302,21 +1304,63 @@ public class MesProductionServiceV2 {
|
||||
.setUntMisProd(ordine.getUntMisProd())
|
||||
.setRapConvProd(ordine.getRapConvProd())
|
||||
.setCodJfas(groupStepDTO.getCodJfas())
|
||||
.setEffettuaCarico(true)
|
||||
.setEffettuaScarico(true)
|
||||
.setChiudiOrdine(groupStepDTO.getTerminaLavorazione().equalsIgnoreCase("S"))
|
||||
.setTerminaLavorazioneLinea(groupStepDTO.getTerminaLavorazioneLinea().equalsIgnoreCase("S"))
|
||||
.setSalvaDocumenti(false);
|
||||
|
||||
CaricoLavorazioneDTO dtoCarico = new CaricoLavorazioneDTO();
|
||||
|
||||
String codDtipCar;
|
||||
|
||||
if (isTerzista) {
|
||||
codDtipCar = setupGest.getSetup("DATI_AZIENDA", "CONTO_LAVORO", "COD_DTIP_CLAV");
|
||||
} else {
|
||||
codDtipCar = setupGest.getSetup("W_PORDI_RC", "SETUP_DOCUMENTI", "COD_DTIP_CAR");
|
||||
}
|
||||
|
||||
dtoCarico
|
||||
.setCodDtip(codDtipCar)
|
||||
.setQtaProd(ordine.getQtaTrasferite())
|
||||
.setCaricoDaCollo(true)
|
||||
.setCodMdep(codMdepCar)
|
||||
.setCodMdep(ordine.getCodMdepProd())
|
||||
.setCodAnag(ordine.getCodAnag());
|
||||
|
||||
dto
|
||||
.setEffettuaCarico(true)
|
||||
.setCaricoLavorazioneDTO(dtoCarico);
|
||||
|
||||
if (isTerzista) {
|
||||
String query = Query.format(
|
||||
"SELECT DISTINCT mtb_colt.gestione,\n" +
|
||||
" mtb_colt.data_collo,\n" +
|
||||
" mtb_colt.ser_collo,\n" +
|
||||
" mtb_colt.num_collo\n" +
|
||||
"FROM mtb_colt,\n" +
|
||||
" mtb_colr\n" +
|
||||
"WHERE mtb_colt.id_lotto = %s\n" +
|
||||
" AND mtb_colt.cod_dtip IS NULL\n" +
|
||||
" AND mtb_colt.segno = -1\n" +
|
||||
" AND mtb_colt.gestione = mtb_colr.gestione\n" +
|
||||
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
|
||||
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
|
||||
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
|
||||
"ORDER BY 1, 2, 3, 4",
|
||||
ordine.getIdLotto()
|
||||
);
|
||||
|
||||
List<MtbColt> colliNonAgganciati = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, MtbColt.class);
|
||||
|
||||
if (!UtilityList.isNullOrEmpty(colliNonAgganciati)) {
|
||||
throw new Exception(String.format(
|
||||
"Ci sono colli non agganciati a documenti:\n%s",
|
||||
Stream.of(colliNonAgganciati)
|
||||
.map(collo -> String.format("Collo N. %d del %s", collo.getNumCollo(), UtilityLocalDate.formatDate(collo.getDataCollo(), "dd/MM/yyyy")))
|
||||
.collect(Collectors.joining("\n"))
|
||||
));
|
||||
}
|
||||
|
||||
dto.setEffettuaScarico(false);
|
||||
} else {
|
||||
ScaricoLavorazioneDTO dtoScarico = new ScaricoLavorazioneDTO();
|
||||
|
||||
dtoScarico
|
||||
@@ -1325,13 +1369,16 @@ public class MesProductionServiceV2 {
|
||||
.setCodAnag(ordine.getCodAnag())
|
||||
.setQtaProd(ordine.getQtaTrasferite());
|
||||
|
||||
dto
|
||||
.setEffettuaScarico(true)
|
||||
.setScaricoLavorazioneDTO(dtoScarico);
|
||||
}
|
||||
|
||||
RientroLavorazioneDTO dtoRientro = new RientroLavorazioneDTO()
|
||||
.setCodDtip(codDtipRien)
|
||||
.setCodMdep(ordine.getCodMdep())
|
||||
.setCodMdep(ordine.getCodMdepProd())
|
||||
.setCodAnag(ordine.getCodAnag());
|
||||
|
||||
dto.setCaricoLavorazioneDTO(dtoCarico);
|
||||
dto.setScaricoLavorazioneDTO(dtoScarico);
|
||||
dto.setRientroLavorazioneDTO(dtoRientro);
|
||||
|
||||
entitiesToSave.addAll(productionService.chiudiOrdineLotto(dto));
|
||||
@@ -1358,7 +1405,6 @@ public class MesProductionServiceV2 {
|
||||
.setRapConvProd(ordine.getRapConvProd())
|
||||
.setCodJfas(groupStepDTO.getCodJfas())
|
||||
.setEffettuaCarico(false)
|
||||
.setEffettuaScarico(true)
|
||||
.setChiudiOrdine(false)
|
||||
.setTerminaLavorazioneLinea(false)
|
||||
.setSalvaDocumenti(false);
|
||||
@@ -1371,12 +1417,15 @@ public class MesProductionServiceV2 {
|
||||
.setCodAnag(ordine.getCodAnag())
|
||||
.setQtaProd(ordine.getQtaTrasferite());
|
||||
|
||||
dto
|
||||
.setEffettuaScarico(true)
|
||||
.setScaricoLavorazioneDTO(dtoScarico);
|
||||
|
||||
RientroLavorazioneDTO dtoRientro = new RientroLavorazioneDTO()
|
||||
.setCodDtip(codDtipRien)
|
||||
.setCodMdep(ordine.getCodMdep())
|
||||
.setCodAnag(ordine.getCodAnag());
|
||||
|
||||
dto.setScaricoLavorazioneDTO(dtoScarico);
|
||||
dto.setRientroLavorazioneDTO(dtoRientro);
|
||||
|
||||
entitiesToSave.addAll(productionService.chiudiOrdineLotto(dto));
|
||||
@@ -1460,7 +1509,7 @@ public class MesProductionServiceV2 {
|
||||
.setMtbColr(new ArrayList<>())
|
||||
.setGestione("L")
|
||||
.setSegno(1)
|
||||
.setCodMdep(ordineLav.getCodMdep())
|
||||
.setCodMdep(ordineLav.getCodMdepProd())
|
||||
.setCodJfas(ordineLav.getCodJfas())
|
||||
.setCodAnag(ordineLav.getCodAnag())
|
||||
.setPosizione(ordineLav.getCodJfas())
|
||||
@@ -1521,6 +1570,31 @@ public class MesProductionServiceV2 {
|
||||
return mtbColtToInsert;
|
||||
}
|
||||
|
||||
public List<DtbDoct> creaDocumentoContoTerzi(ChiusuraLavorazioneDTO dtoChiusura) throws Exception {
|
||||
ScaricoLavorazioneDTO scaricoDto = dtoChiusura.getScaricoLavorazioneDTO();
|
||||
|
||||
if (scaricoDto.getCodDtip() == null) {
|
||||
String codDtipScar = setupGest.getSetup("DATI_AZIENDA", "CONTO_LAVORO", "COD_DTIP_SLAV");
|
||||
|
||||
scaricoDto.setCodDtip(codDtipScar);
|
||||
}
|
||||
|
||||
if (scaricoDto.getSerDoc() == null) {
|
||||
scaricoDto.setSerDoc(DocumentRules.getSerDoc(multiDBTransactionManager.getPrimaryConnection(), scaricoDto.getCodDtip(), scaricoDto.getCodMdep(), scaricoDto.getDataDoc()));
|
||||
}
|
||||
|
||||
List<DtbDoct> listDocs = documentProdService.generaDocScaricoDaColliIdLotto(dtoChiusura);
|
||||
|
||||
entityProcessor.processEntityList(listDocs, true);
|
||||
|
||||
listDocs.forEach(doc -> {
|
||||
doc.setOperation(OperationType.SELECT_OBJECT);
|
||||
doc.setOnlyPkMaster(true);
|
||||
});
|
||||
|
||||
return listDocs;
|
||||
}
|
||||
|
||||
private JsonNode completeBodyData(JsonNode data) {
|
||||
|
||||
if (data.has("dataOrd")) {
|
||||
@@ -1541,7 +1615,7 @@ public class MesProductionServiceV2 {
|
||||
" dtb_ordt.num_ord = drl_ord_attached.num_ord\n" +
|
||||
" INNER JOIN stb_files_attached ON drl_ord_attached.id_attach = stb_files_attached.id_attach\n" +
|
||||
"WHERE jtb_lott.cod_jfas = " + UtilityDB.valueToString(codJfas) + "\n" +
|
||||
" AND jtb_lott.id_lotto = " + UtilityDB.valueToString(idLotto) + "";
|
||||
" AND jtb_lott.id_lotto = " + UtilityDB.valueToString(idLotto);
|
||||
|
||||
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, AttachmentDTO.class);
|
||||
}
|
||||
|
||||
@@ -11,10 +11,10 @@ import it.integry.ems.retail.wms.exceptions.InvalidArticoloException;
|
||||
import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO;
|
||||
import it.integry.ems.retail.wms.generic.dto.SpostaArtsTraULRequestDTO;
|
||||
import it.integry.ems.retail.wms.generic.service.WMSGenericService;
|
||||
import it.integry.ems.retail.wms.generic.service.WMSGiacenzaULService;
|
||||
import it.integry.ems.retail.wms.lavorazione.service.WMSLavorazioneService;
|
||||
import it.integry.ems.rules.businessLogic.LoadColliService;
|
||||
import it.integry.ems.rules.businessLogic.dto.LoadColliDTO;
|
||||
import it.integry.ems.service.AziendaService;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.UserSession;
|
||||
@@ -68,15 +68,15 @@ public class WMSAccettazioneService {
|
||||
@Autowired
|
||||
private LoadColliService loadColliService;
|
||||
|
||||
@Autowired
|
||||
private WMSGiacenzaULService wmsGiacenzaULService;
|
||||
|
||||
@Autowired
|
||||
private ProductServices productServices;
|
||||
|
||||
@Autowired
|
||||
private UserSession userSession;
|
||||
|
||||
@Autowired
|
||||
private AziendaService aziendaService;
|
||||
|
||||
public MtbColt createUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception {
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
@@ -154,7 +154,7 @@ public class WMSAccettazioneService {
|
||||
boolean useCodAnagAziendale = setupGest.getSetupBoolean("PICKING", "SETUP", "FLAG_USE_COD_ANAG_AZIENDALE");
|
||||
|
||||
if (UtilityString.isNullOrEmpty(createUDCRequestDTO.getCodAnag()) && useCodAnagAziendale) {
|
||||
String defaultCodAnag = wmsGenericService.retrieveInternalCodAnagFornitore();
|
||||
String defaultCodAnag = aziendaService.retrieveInternalCodAnagFornitore();
|
||||
udcMtbColt.setCodAnag(defaultCodAnag);
|
||||
} else
|
||||
udcMtbColt.setCodAnag(createUDCRequestDTO.getCodAnag());
|
||||
|
||||
@@ -2668,27 +2668,6 @@ public class WMSGenericService {
|
||||
|
||||
}
|
||||
|
||||
public String retrieveInternalCodAnagFornitore() throws Exception {
|
||||
String internalCodAnagsQuery = "SELECT CAST(ga.cod_anag AS VARCHAR(5)) as cod_anag\n" +
|
||||
"FROM azienda\n" +
|
||||
"INNER JOIN gtb_anag ga on azienda.part_iva = ga.part_iva\n" +
|
||||
"LEFT OUTER JOIN atb_forn af on ga.cod_anag = af.cod_anag AND af.flag_stato = 'A'\n" +
|
||||
"WHERE af.cod_anag IS NOT NULL";
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), internalCodAnagsQuery);
|
||||
}
|
||||
|
||||
public String retrieveInternalCodAnagCliente() throws Exception {
|
||||
String internalCodAnagsQuery = "SELECT CAST(ga.cod_anag AS VARCHAR(5)) as cod_anag\n" +
|
||||
"FROM azienda\n" +
|
||||
"INNER JOIN gtb_anag ga on azienda.part_iva = ga.part_iva\n" +
|
||||
"LEFT OUTER JOIN vtb_clie vc on ga.cod_anag = vc.cod_anag AND vc.flag_stato = 'A'\n" +
|
||||
"WHERE vc.cod_anag IS NOT NULL";
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), internalCodAnagsQuery);
|
||||
}
|
||||
|
||||
|
||||
public boolean canULBeDeleted(MtbColt mtbColt) throws Exception {
|
||||
HashMap<String, Object> params = new HashMap<>();
|
||||
params.put("mtb_colt.gestione", mtbColt.getGestione());
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package it.integry.ems.retail.wms.imballi.service;
|
||||
|
||||
|
||||
import it.integry.ems.retail.wms.generic.service.WMSGenericService;
|
||||
import it.integry.ems.retail.wms.imballi.dto.ImballoQuantityDTO;
|
||||
import it.integry.ems.service.AziendaService;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.UserSession;
|
||||
@@ -44,7 +44,7 @@ public class WMSImballiService {
|
||||
private UserSession userSession;
|
||||
|
||||
@Autowired
|
||||
private WMSGenericService wmsGenericService;
|
||||
private AziendaService aziendaService;
|
||||
|
||||
public List<MtbTcol> retrieveAvailableTipiCollo() throws Exception {
|
||||
String query = "SELECT * FROM " + MtbTcol.ENTITY + " WHERE flag_UI_UL = 'UL'";
|
||||
@@ -69,7 +69,7 @@ public class WMSImballiService {
|
||||
public void registraScarico(String codVvett, List<ImballoQuantityDTO> imballiToRegister) throws Exception {
|
||||
final String codDtip = setupGest.getSetup("PICKING", "IMBALLI", "COD_DTIP_SCARICO");
|
||||
|
||||
String codAnag = wmsGenericService.retrieveInternalCodAnagCliente();
|
||||
String codAnag = aziendaService.retrieveInternalCodAnagCliente();
|
||||
|
||||
registraImballi(codAnag, codDtip, codVvett, imballiToRegister);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import it.integry.ems.retail.wms.exceptions.UDSQuantityOverflowException;
|
||||
import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO;
|
||||
import it.integry.ems.retail.wms.generic.service.WMSGenericService;
|
||||
import it.integry.ems.retail.wms.generic.service.WMSGiacenzaULService;
|
||||
import it.integry.ems.service.AziendaService;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.UserSession;
|
||||
@@ -72,10 +73,13 @@ public class WMSLavorazioneService {
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
|
||||
@Autowired
|
||||
private AziendaService aziendaService;
|
||||
|
||||
public MtbColt createUDS(CreateUDSRequestDTO createUDSRequestDTO) throws Exception {
|
||||
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
|
||||
}
|
||||
|
||||
List<DtbOrdt> foundDtbOrdts = new ArrayList<>();
|
||||
@@ -193,7 +197,7 @@ public class WMSLavorazioneService {
|
||||
|
||||
public CloseUDSResponseDTO closeUDS(CloseUDSRequestDTO closeUDSRequestDTO) throws Exception {
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
|
||||
}
|
||||
|
||||
MtbColt mtbColtToClose = closeUDSRequestDTO.getMtbColt();
|
||||
@@ -226,7 +230,7 @@ public class WMSLavorazioneService {
|
||||
|
||||
public InsertUDSRowResponseDTO insertUDSRow(InsertUDSRowRequestDTO insertUDSRowRequestDTO) throws Exception {
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
|
||||
}
|
||||
|
||||
MtbColt targetMtbColt = insertUDSRowRequestDTO.getTargetMtbColt();
|
||||
@@ -310,7 +314,7 @@ public class WMSLavorazioneService {
|
||||
|
||||
public EditUDSRowResponseDTO editUDSRow(EditUDSRowRequestDTO editUDSRowRequestDTO) throws Exception {
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
|
||||
}
|
||||
|
||||
MtbColr sourceMtbColr = editUDSRowRequestDTO.getSourceMtbColr();
|
||||
@@ -436,7 +440,7 @@ public class WMSLavorazioneService {
|
||||
|
||||
public void deleteUDSRow(DeleteUDSRowRequestDTO deleteUDSRowRequestDTO) throws Exception {
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
|
||||
}
|
||||
|
||||
MtbColr mtbColrToDelete = deleteUDSRowRequestDTO.getMtbColrToDelete();
|
||||
@@ -456,7 +460,7 @@ public class WMSLavorazioneService {
|
||||
|
||||
public MtbColt createUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception {
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
|
||||
}
|
||||
|
||||
String defaultPosizioneColliAccettazione = setupGest.getSetup("PICKING", "SETUP", "DEFAULT_POSIZIONE_COLLI_ACCETTAZIONE");
|
||||
@@ -529,7 +533,7 @@ public class WMSLavorazioneService {
|
||||
boolean useCodAnagAziendale = setupGest.getSetupBoolean("PICKING", "SETUP", "FLAG_USE_COD_ANAG_AZIENDALE");
|
||||
|
||||
if (UtilityString.isNullOrEmpty(createUDCRequestDTO.getCodAnag()) && useCodAnagAziendale) {
|
||||
String defaultCodAnag = wmsGenericService.retrieveInternalCodAnagFornitore();
|
||||
String defaultCodAnag = aziendaService.retrieveInternalCodAnagFornitore();
|
||||
udcMtbColt.setCodAnag(defaultCodAnag);
|
||||
} else
|
||||
udcMtbColt.setCodAnag(createUDCRequestDTO.getCodAnag());
|
||||
@@ -546,7 +550,7 @@ public class WMSLavorazioneService {
|
||||
|
||||
public CloseUDCResponseDTO closeUDC(CloseUDCRequestDTO closeUDCRequestDTO) throws Exception {
|
||||
if (!userSession.isAttivo()) {
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
|
||||
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
|
||||
}
|
||||
|
||||
MtbColt mtbColtToClose = closeUDCRequestDTO.getMtbColt();
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package it.integry.ems.system.controller;
|
||||
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import it.integry.ems.service.AziendaService;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.entity.Azienda;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@Scope("request")
|
||||
@RequestMapping("azienda")
|
||||
public class AziendaController {
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
@Autowired
|
||||
private AziendaService aziendaService;
|
||||
|
||||
@GetMapping()
|
||||
public ServiceRestResponse getAzienda() throws Exception {
|
||||
Azienda defaultAzienda = Azienda.getDefaultAzienda(multiDBTransactionManager.getPrimaryConnection());
|
||||
defaultAzienda.setOnlyPkMaster(false);
|
||||
defaultAzienda.setOperation(OperationType.SELECT_OBJECT);
|
||||
|
||||
return ServiceRestResponse.createEntityPositiveResponse(defaultAzienda);
|
||||
}
|
||||
|
||||
@GetMapping("fornitore")
|
||||
public ServiceRestResponse retrieveInternalCodAnagFornitore() throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(aziendaService.retrieveInternalCodAnagFornitore());
|
||||
}
|
||||
|
||||
@GetMapping("cliente")
|
||||
public ServiceRestResponse retrieveInternalCodAnagCliente() throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(aziendaService.retrieveInternalCodAnagCliente());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user