Tolto valore assoluto su query di costi (dare - avere) e ricavi (Avere - dare) sulla ctb_movr_coan
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-09-08 16:02:08 +02:00
parent 14062da824
commit 4b823e3b82

View File

@@ -0,0 +1,150 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20250908160026 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateView("cvw_marg_contr_com", "CREATE VIEW [dbo].[cvw_marg_contr_com] (cod_jcom,descrizione,costo_lavorazione,costo_materiali,costo_servizi,altri_costi,ricavi,ore_lavorazione, data) AS \n" +
"SELECT jtb_rlavr.cod_jcom AS cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" Sum(jtb_rlavr.ore * jtb_rlavr.costo_ora / jtb_rlavr.cambio_divi_cont) AS costo_lavorazione,\n" +
" CONVERT(NUMERIC(20, 5), 0) AS costo_materiali,\n" +
" CONVERT(NUMERIC(20, 5), 0) AS costo_servizi,\n" +
" CONVERT(NUMERIC(20, 5), 0) AS altri_costi,\n" +
" CONVERT(NUMERIC(20, 5), 0) AS ricavi,\n" +
" Sum(jtb_rlavr.ore) AS ore_lavorazione,\n" +
" jtb_rlavr.data_lav AS data\n" +
"FROM jtb_rlavr,\n" +
" jtb_comt\n" +
"WHERE jtb_rlavr.cod_jcom = jtb_comt.cod_jcom\n" +
"GROUP BY jtb_rlavr.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" jtb_rlavr.data_lav\n" +
"UNION\n" +
"SELECT dtb_docr.cod_jcom AS cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" Sum(dtb_docr.qta_doc * dtb_docr.costo_unt * (\n" +
" dtb_tipi.segno_val_car - dtb_tipi.segno_val_scar ) * (\n" +
" CASE dtb_tipi.gestione\n" +
" WHEN 'A' THEN 1\n" +
" ELSE-1\n" +
" END ) / dtb_doct.cambio),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" dtb_doct.data_reg\n" +
"FROM dtb_docr,\n" +
" jtb_comt,\n" +
" dtb_doct,\n" +
" dtb_tipi\n" +
"WHERE ( dtb_doct.cod_anag = dtb_docr.cod_anag )\n" +
" AND ( dtb_doct.cod_dtip = dtb_docr.cod_dtip )\n" +
" AND ( dtb_doct.data_doc = dtb_docr.data_doc )\n" +
" AND ( dtb_doct.ser_doc = dtb_docr.ser_doc )\n" +
" AND ( dtb_doct.num_doc = dtb_docr.num_doc )\n" +
" AND ( dtb_docr.cod_dtip = dtb_tipi.cod_dtip )\n" +
" AND ( dtb_docr.cod_jcom = jtb_comt.cod_jcom )\n" +
" AND ( dtb_tipi.flag_analisi_costi_com = 'S' )\n" +
" AND ( dtb_tipi.tipo_emissione = 'DIRETTA' )\n" +
"GROUP BY dtb_docr.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" dtb_doct.data_reg\n" +
"UNION\n" +
"SELECT dtb_docs.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" Sum(( dtb_docs.importo / dtb_doct.cambio )),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" dtb_doct.data_reg\n" +
"FROM dtb_docs,\n" +
" jtb_comt,\n" +
" dtb_doct,\n" +
" dtb_tipi\n" +
"WHERE ( dtb_doct.cod_anag = dtb_docs.cod_anag )\n" +
" AND ( dtb_doct.cod_dtip = dtb_docs.cod_dtip )\n" +
" AND ( dtb_doct.data_doc = dtb_docs.data_doc )\n" +
" AND ( dtb_doct.ser_doc = dtb_docs.ser_doc )\n" +
" AND ( dtb_doct.num_doc = dtb_docs.num_doc )\n" +
" AND ( dtb_doct.cod_dtip = dtb_tipi.cod_dtip )\n" +
" AND ( dtb_docs.cod_jcom = jtb_comt.cod_jcom )\n" +
" AND ( dtb_tipi.flag_analisi_costi_com = 'S' )\n" +
" AND ( dtb_tipi.tipo_emissione = 'DIFFERITA' )\n" +
" AND ( dtb_tipi.gestione = 'L' )\n" +
" AND ( dtb_tipi.segno_val_car = 1 )\n" +
"GROUP BY dtb_docs.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" dtb_doct.data_reg\n" +
"UNION\n" +
"SELECT ctb_movr_coan.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" Sum(( ctb_movr_coan.imp_dare - ctb_movr_coan.imp_avere ) /\n" +
" ctb_movr_coan.cambio_divi_cont),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" ctb_movt.data_cmov\n" +
"FROM ctb_movr_coan,\n" +
" jtb_comt,\n" +
" ctb_grup,\n" +
" ctb_cont,\n" +
" ctb_movr,\n" +
" ctb_movt\n" +
"WHERE ( ctb_movt.num_cmov = ctb_movr_coan.num_cmov )\n" +
" AND ( ctb_movr_coan.cod_jcom = jtb_comt.cod_jcom )\n" +
" AND ( ctb_grup.cod_cgrp = ctb_cont.cod_cgrp )\n" +
" AND ( ctb_movr.cod_ccon = ctb_cont.cod_ccon )\n" +
" AND ( ctb_movr.num_cmov = ctb_movr_coan.num_cmov )\n" +
" AND ( ctb_movr_coan.id_riga = ctb_movr.id_riga )\n" +
" AND ( ctb_grup.tipo = '4' )\n" +
"GROUP BY ctb_movr_coan.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" ctb_movt.data_cmov\n" +
"UNION\n" +
"SELECT ctb_movr_coan.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" Sum(( ctb_movr_coan.imp_avere - ctb_movr_coan.imp_dare ) /\n" +
" ctb_movr_coan.cambio_divi_cont),\n" +
" CONVERT(NUMERIC(20, 5), 0),\n" +
" ctb_movt.data_cmov\n" +
"FROM ctb_movr_coan,\n" +
" jtb_comt,\n" +
" ctb_cont,\n" +
" ctb_grup,\n" +
" ctb_movr,\n" +
" ctb_movt\n" +
"WHERE ( ctb_movt.num_cmov = ctb_movr_coan.num_cmov )\n" +
" AND ( ctb_movr_coan.cod_jcom = jtb_comt.cod_jcom )\n" +
" AND ( ctb_grup.cod_cgrp = ctb_cont.cod_cgrp )\n" +
" AND ( ctb_movr.cod_ccon = ctb_cont.cod_ccon )\n" +
" AND ( ctb_movr.num_cmov = ctb_movr_coan.num_cmov )\n" +
" AND ( ctb_movr_coan.id_riga = ctb_movr.id_riga )\n" +
" AND ( ctb_grup.tipo = '5' )\n" +
"GROUP BY ctb_movr_coan.cod_jcom,\n" +
" jtb_comt.descrizione,\n" +
" ctb_movt.data_cmov");
}
@Override
public void down() throws Exception {
}
}