Modifiche e correzioni CRP
This commit is contained in:
@@ -56,7 +56,7 @@
|
||||
type="button"
|
||||
class="btn btn-warning"
|
||||
id="confirmButton"
|
||||
<%= canConfirm ? "" : "disabled" %>
|
||||
<%= !loading && canConfirm ? "" : "disabled" %>
|
||||
<%= msg && `title="${msg}"` || "" %>>
|
||||
Conferma
|
||||
</button>
|
||||
|
||||
@@ -421,38 +421,38 @@ const _pianificazioneProduzioneOrto = {
|
||||
}
|
||||
]),
|
||||
tableOrdiniDiVendita: undefined,
|
||||
contextMenuMagaz: [
|
||||
{
|
||||
text: "Aggiorna",
|
||||
spriteCssClass: "fa fa-sync-alt",
|
||||
attr: {
|
||||
"data-command": "Refresh"
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Annulla "prendi da magazzino"',
|
||||
spriteCssClass: "fa fa-warehouse-alt",
|
||||
attr: {
|
||||
"data-command": "UNDO_MAGAZ"
|
||||
}
|
||||
}
|
||||
],
|
||||
contextMenuCampagna: [
|
||||
{
|
||||
text: "Aggiorna",
|
||||
spriteCssClass: "fa fa-sync-alt",
|
||||
attr: {
|
||||
"data-command": "Refresh"
|
||||
}
|
||||
},
|
||||
{
|
||||
text: "Genera ordine di Campagna",
|
||||
spriteCssClass: "fa fa-farm",
|
||||
attr: {
|
||||
"data-command": "CAMPAGNA"
|
||||
}
|
||||
},
|
||||
],
|
||||
// contextMenuMagaz: [
|
||||
// {
|
||||
// text: "Aggiorna",
|
||||
// spriteCssClass: "fa fa-sync-alt",
|
||||
// attr: {
|
||||
// "data-command": "Refresh"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// text: 'Annulla "prendi da magazzino"',
|
||||
// spriteCssClass: "fa fa-warehouse-alt",
|
||||
// attr: {
|
||||
// "data-command": "UNDO_MAGAZ"
|
||||
// }
|
||||
// }
|
||||
// ],
|
||||
// contextMenuCampagna: [
|
||||
// {
|
||||
// text: "Aggiorna",
|
||||
// spriteCssClass: "fa fa-sync-alt",
|
||||
// attr: {
|
||||
// "data-command": "Refresh"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// text: "Genera ordine di Campagna",
|
||||
// spriteCssClass: "fa fa-farm",
|
||||
// attr: {
|
||||
// "data-command": "CAMPAGNA"
|
||||
// }
|
||||
// },
|
||||
// ],
|
||||
contextMenuEditCampagna: [
|
||||
{
|
||||
text: "Modifica ordine di Campagna",
|
||||
@@ -476,22 +476,22 @@ const _pianificazioneProduzioneOrto = {
|
||||
}
|
||||
}
|
||||
],
|
||||
contextMenuSede: [
|
||||
{
|
||||
text: "Aggiorna",
|
||||
spriteCssClass: "fa fa-sync-alt",
|
||||
attr: {
|
||||
"data-command": "Refresh"
|
||||
}
|
||||
},
|
||||
{
|
||||
text: "Genera ordine di Sede",
|
||||
spriteCssClass: "fa fa-warehouse",
|
||||
attr: {
|
||||
"data-command": "SEDE"
|
||||
}
|
||||
}
|
||||
],
|
||||
// contextMenuSede: [
|
||||
// {
|
||||
// text: "Aggiorna",
|
||||
// spriteCssClass: "fa fa-sync-alt",
|
||||
// attr: {
|
||||
// "data-command": "Refresh"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// text: "Genera ordine di Sede",
|
||||
// spriteCssClass: "fa fa-warehouse",
|
||||
// attr: {
|
||||
// "data-command": "SEDE"
|
||||
// }
|
||||
// }
|
||||
// ],
|
||||
contextMenuEditSede: [
|
||||
{
|
||||
text: "Modifica ordine di Sede",
|
||||
@@ -719,14 +719,58 @@ const _pianificazioneProduzioneOrto = {
|
||||
if (dataItems) {
|
||||
e.sender.remove(".k-menu-item");
|
||||
|
||||
let menu;
|
||||
let menu = [
|
||||
{
|
||||
text: "Aggiorna",
|
||||
spriteCssClass: "fa fa-sync-alt",
|
||||
attr: {
|
||||
"data-command": "Refresh"
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
const menuSede = {
|
||||
text: "Genera ordine di Sede",
|
||||
spriteCssClass: "fa fa-warehouse",
|
||||
attr: {
|
||||
"data-command": "SEDE"
|
||||
}
|
||||
};
|
||||
|
||||
if (dataItems.every(dataItem => dataItem.magaz)) {
|
||||
menu = self.contextMenuMagaz;
|
||||
menu = [
|
||||
...menu,
|
||||
{
|
||||
text: 'Annulla "prendi da magazzino"',
|
||||
spriteCssClass: "fa fa-warehouse-alt",
|
||||
attr: {
|
||||
"data-command": "UNDO_MAGAZ"
|
||||
}
|
||||
}
|
||||
];
|
||||
} else if (dataItems.every(dataItem => dataItem.luogo_lavoro === "CAMPAGNA")) {
|
||||
menu = self.contextMenuCampagna;
|
||||
menu = [
|
||||
...menu,
|
||||
{
|
||||
text: "Genera ordine di Campagna",
|
||||
spriteCssClass: "fa fa-farm",
|
||||
attr: {
|
||||
"data-command": "CAMPAGNA"
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
if (dataItems.every(dataItem => dataItem.cod_jfas === "CONF")) {
|
||||
menu = [
|
||||
...menu,
|
||||
menuSede
|
||||
];
|
||||
}
|
||||
} else {
|
||||
menu = self.contextMenuSede;
|
||||
menu = [
|
||||
...menu,
|
||||
menuSede
|
||||
];
|
||||
}
|
||||
|
||||
e.sender.append(menu);
|
||||
@@ -785,6 +829,7 @@ const _pianificazioneProduzioneOrto = {
|
||||
|
||||
if (ret?.returnId === 1) {
|
||||
await self.savePianoProduzione(true);
|
||||
await self.tableOrdiniDiVendita.dataSource.read();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1239,7 +1284,7 @@ const _pianificazioneProduzioneOrto = {
|
||||
}
|
||||
}
|
||||
|
||||
if (moment(date).isBefore()) {
|
||||
if (moment(date).isBefore(moment(), "day")) {
|
||||
return {
|
||||
disabled: true
|
||||
};
|
||||
|
||||
@@ -163,6 +163,8 @@ function PopupGenerateOrders() {
|
||||
if (row.cod_jfas === "RACC") {
|
||||
if (row.semilavorato?.length > 0) {
|
||||
data = row.cod_sl ??= row.semilavorato[0].cod_sl;
|
||||
row.qta_cnf = row.semilavorato[0].qta_cnf;
|
||||
row.colli_pedana = row.semilavorato[0].colli_pedana;
|
||||
}
|
||||
|
||||
if (type === "display") {
|
||||
@@ -390,7 +392,7 @@ function PopupGenerateOrders() {
|
||||
row.colli_ord = row.kg_ord / row.qta_cnf;
|
||||
}
|
||||
|
||||
row.colli_ord = _.round(row.colli_ord || 0);
|
||||
row.colli_ord = _.ceil(row.colli_ord || 0);
|
||||
|
||||
// language=HTML
|
||||
const $input = $("<div>", {
|
||||
@@ -429,7 +431,7 @@ function PopupGenerateOrders() {
|
||||
row.pedane_ord = row.kg_ord / row.qta_cnf / row.colli_pedana;
|
||||
}
|
||||
|
||||
row.pedane_ord = _.round(row.pedane_ord || 0);
|
||||
row.pedane_ord = _.ceil(row.pedane_ord || 0);
|
||||
|
||||
const $input = $("<div>", {
|
||||
class: "input-group"
|
||||
@@ -604,6 +606,7 @@ function PopupGenerateOrders() {
|
||||
{
|
||||
field: "articolo",
|
||||
title: "Articolo",
|
||||
width: "70%",
|
||||
attributes: {
|
||||
class: "!k-text-left"
|
||||
},
|
||||
@@ -616,6 +619,10 @@ function PopupGenerateOrders() {
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "cod_jfas",
|
||||
title: "Fase"
|
||||
}
|
||||
]
|
||||
);
|
||||
@@ -825,7 +832,9 @@ function PopupGenerateOrders() {
|
||||
(!order.magaz && order.cod_mart === data.cod_mart)) {
|
||||
order = {
|
||||
...order,
|
||||
cod_sl: dataItem.cod_sl
|
||||
cod_sl: dataItem.cod_sl,
|
||||
qta_cnf: dataItem.qta_cnf,
|
||||
colli_pedana: dataItem.colli_pedana
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1203,8 +1212,8 @@ function PopupGenerateOrders() {
|
||||
|
||||
$kgOrd.off("input").on("input", function () {
|
||||
data.kg_ord = $(this).getNumericValue();
|
||||
data.colli_ord = _.round(data.kg_ord / data.qta_cnf);
|
||||
data.pedane_ord = _.round(data.kg_ord / data.qta_cnf / data.colli_pedana);
|
||||
data.colli_ord = _.ceil(data.kg_ord / data.qta_cnf);
|
||||
data.pedane_ord = _.ceil(data.kg_ord / data.qta_cnf / data.colli_pedana);
|
||||
|
||||
$colliOrd.val(data.colli_ord);
|
||||
$pedaneOrd.val(data.pedane_ord);
|
||||
|
||||
@@ -18,8 +18,8 @@ WITH righe AS (SELECT dopp.id,
|
||||
prod.cod_mart AS cod_prod,
|
||||
prod.descrizione AS desc_prod,
|
||||
prod.cod_mart + ' - ' + prod.descrizione AS field_prod,
|
||||
prod.qta_cnf,
|
||||
prod.colli_pedana,
|
||||
ISNULL(sl.qta_cnf, prod.qta_cnf) AS qta_cnf,
|
||||
ISNULL(sl.colli_pedana, prod.colli_pedana) AS colli_pedana,
|
||||
ma.cod_mart,
|
||||
ma.descrizione,
|
||||
ma.cod_mart + ' - ' + ma.descrizione AS prodotto,
|
||||
@@ -31,8 +31,9 @@ WITH righe AS (SELECT dopp.id,
|
||||
FOR XML PATH, ROOT) AS partite,
|
||||
qta_ord,
|
||||
qta_ord AS kg_ord,
|
||||
qta_ord / prod.qta_cnf AS colli_ord,
|
||||
qta_ord / prod.qta_cnf / prod.colli_pedana AS pedane_ord,
|
||||
CEILING(qta_ord / ISNULL(sl.qta_cnf, prod.qta_cnf)) AS colli_ord,
|
||||
CEILING(qta_ord / ISNULL(sl.qta_cnf, prod.qta_cnf) /
|
||||
ISNULL(sl.colli_pedana, prod.colli_pedana)) AS pedane_ord,
|
||||
cod_tcol,
|
||||
prod_teorica,
|
||||
n_persone,
|
||||
@@ -52,6 +53,8 @@ WITH righe AS (SELECT dopp.id,
|
||||
(SELECT jtb_cicl.cod_jfas AS cod_jfas_sl,
|
||||
jtb_cicl.cod_prod AS cod_sl,
|
||||
jtb_cicl.descrizione_prod AS descr_sl,
|
||||
sl.qta_cnf,
|
||||
sl.colli_pedana,
|
||||
jtb_dist_mate.perc_sfrido,
|
||||
CONVERT(VARCHAR(20), CONVERT(INTEGER, mtb_part.qta_esistente)) + ' ' +
|
||||
mtb_aart.unt_mis AS giacenza
|
||||
@@ -113,6 +116,7 @@ FROM (SELECT data_piano,
|
||||
(SELECT *
|
||||
FROM righe
|
||||
WHERE righe.data_piano = dtb_ordt_pian_prod.data_piano
|
||||
ORDER BY id
|
||||
FOR XML PATH, ROOT)
|
||||
END AS righe
|
||||
FROM dtb_ordt_pian_prod
|
||||
|
||||
@@ -1,25 +1,41 @@
|
||||
WITH dopp AS (SELECT DISTINCT luogo_lavoro,
|
||||
dopp.cod_anag,
|
||||
dopp.cod_prod,
|
||||
cod_sl,
|
||||
dopp.cod_jcom,
|
||||
cod_mart,
|
||||
magaz,
|
||||
dopp.gestione,
|
||||
dopp.data_ord,
|
||||
dopp.num_ord,
|
||||
SUM(CASE
|
||||
WHEN do.num_ord IS NULL THEN qta_ord
|
||||
WHEN do.flag_evaso_prod = 'E' THEN do.qta_evasa_prod
|
||||
ELSE do.qta_prod END)
|
||||
OVER (PARTITION BY luogo_lavoro, dopp.cod_anag, dopp.cod_prod, dopp.cod_jcom, cod_mart, magaz) AS qta_pian
|
||||
FROM dtb_ordr_pian_prod dopp
|
||||
LEFT OUTER JOIN dtb_ordt do
|
||||
ON dopp.gestione = do.gestione
|
||||
AND dopp.data_ord = do.data_ord
|
||||
AND do.num_ord = dopp.num_ord
|
||||
WHERE magaz = 0
|
||||
AND data_piano >= GETDATE()),
|
||||
WITH dopp AS (SELECT luogo_lavoro,
|
||||
cod_anag,
|
||||
cod_prod,
|
||||
cod_sl,
|
||||
cod_jcom,
|
||||
cod_mart,
|
||||
qta_cnf,
|
||||
colli_pedana,
|
||||
magaz,
|
||||
SUM(qta_pian) AS qta_pian
|
||||
FROM (SELECT DISTINCT luogo_lavoro,
|
||||
dopp.cod_anag,
|
||||
dopp.cod_prod,
|
||||
cod_sl,
|
||||
dopp.cod_jcom,
|
||||
dopp.cod_mart,
|
||||
ma.qta_cnf,
|
||||
ma.colli_pedana,
|
||||
magaz,
|
||||
CASE
|
||||
WHEN do.num_ord IS NOT NULL THEN
|
||||
SUM(CASE
|
||||
WHEN do.flag_evaso_prod = 'E' THEN do.qta_evasa_prod
|
||||
ELSE do.qta_prod END)
|
||||
OVER (PARTITION BY id, luogo_lavoro, dopp.cod_anag, dopp.cod_prod, dopp.cod_jcom, ma.cod_mart, magaz)
|
||||
ELSE
|
||||
SUM(qta_ord)
|
||||
OVER (PARTITION BY do.num_ord, luogo_lavoro, dopp.cod_anag, dopp.cod_prod, dopp.cod_jcom, ma.cod_mart, magaz)
|
||||
END
|
||||
AS qta_pian
|
||||
FROM dtb_ordr_pian_prod dopp
|
||||
LEFT OUTER JOIN dtb_ordt do
|
||||
ON dopp.gestione = do.gestione
|
||||
AND dopp.data_ord = do.data_ord
|
||||
AND do.num_ord = dopp.num_ord
|
||||
LEFT OUTER JOIN mtb_aart ma ON dopp.cod_prod = ma.cod_mart
|
||||
WHERE magaz = 0) t
|
||||
GROUP BY luogo_lavoro, cod_anag, cod_prod, cod_sl, cod_jcom, cod_mart, qta_cnf, colli_pedana, magaz),
|
||||
TempResult AS (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS row_number,
|
||||
*
|
||||
FROM (SELECT DISTINCT CRP_OF_FabbisognoOre.luogo_lavoro,
|
||||
@@ -30,30 +46,36 @@ WITH dopp AS (SELECT DISTINCT luogo_lavoro,
|
||||
rag_soc,
|
||||
cliente,
|
||||
citta,
|
||||
CRP_OF_FabbisognoOre.cod_mart AS cod_prod,
|
||||
CRP_OF_FabbisognoOre.descrizione AS desc_prod,
|
||||
CRP_OF_FabbisognoOre.cod_mart AS cod_prod,
|
||||
CRP_OF_FabbisognoOre.descrizione AS desc_prod,
|
||||
prodotto,
|
||||
CRP_OF_FabbisognoOre.qta_ord,
|
||||
dopp.qta_pian,
|
||||
CASE
|
||||
WHEN kg_ord > ISNULL(dopp.qta_pian, 0)
|
||||
THEN kg_ord - ISNULL(dopp.qta_pian, 0)
|
||||
ELSE 0 END AS kg_ord,
|
||||
ISNULL(dopp.qta_pian, 0) AS kg_pian,
|
||||
WHEN ROUND(kg_ord, 0) > ISNULL(dopp.qta_pian, 0)
|
||||
THEN ROUND(kg_ord, 0) - ISNULL(dopp.qta_pian, 0)
|
||||
ELSE 0 END AS kg_ord,
|
||||
ISNULL(dopp.qta_pian, 0) AS kg_pian,
|
||||
CASE
|
||||
WHEN colli_ord > (ISNULL(dopp.qta_pian, 0) / ma.qta_cnf) THEN
|
||||
colli_ord - (ISNULL(dopp.qta_pian, 0) / ma.qta_cnf)
|
||||
ELSE 0 END AS colli_ord,
|
||||
(ISNULL(dopp.qta_pian, 0) / ma.qta_cnf) AS colli_pian,
|
||||
WHEN colli_ord >
|
||||
CEILING((ISNULL(dopp.qta_pian, 0) / ISNULL(dopp.qta_cnf, ma.qta_cnf)))
|
||||
THEN
|
||||
colli_ord -
|
||||
CEILING((ISNULL(dopp.qta_pian, 0) / ISNULL(dopp.qta_cnf, ma.qta_cnf)))
|
||||
ELSE 0 END AS colli_ord,
|
||||
CEILING(ISNULL(dopp.qta_pian, 0) / ISNULL(dopp.qta_cnf, ma.qta_cnf)) AS colli_pian,
|
||||
CASE
|
||||
WHEN pedane_ord >
|
||||
((ISNULL(dopp.qta_pian, 0) / ma.qta_cnf) / ma.colli_pedana) THEN
|
||||
((ISNULL(dopp.qta_pian, 0) / ISNULL(dopp.qta_cnf, ma.qta_cnf)) /
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana)) THEN
|
||||
pedane_ord -
|
||||
((ISNULL(dopp.qta_pian, 0) / ma.qta_cnf) / ma.colli_pedana)
|
||||
ELSE 0 END AS pedane_ord,
|
||||
((ISNULL(dopp.qta_pian, 0) / ma.qta_cnf) / ma.colli_pedana) AS pedane_pian,
|
||||
ma.qta_cnf,
|
||||
ma.colli_pedana,
|
||||
CEILING((ISNULL(dopp.qta_pian, 0) / ISNULL(dopp.qta_cnf, ma.qta_cnf)) /
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana))
|
||||
ELSE 0 END AS pedane_ord,
|
||||
CEILING((ISNULL(dopp.qta_pian, 0) / ISNULL(dopp.qta_cnf, ma.qta_cnf)) /
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana)) AS pedane_pian,
|
||||
ISNULL(dopp.qta_cnf, ma.qta_cnf) AS qta_cnf,
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana) AS colli_pedana,
|
||||
CRP_OF_FabbisognoOre.unt_mis,
|
||||
ore_uomo_necessarie *
|
||||
CASE
|
||||
@@ -62,7 +84,7 @@ WITH dopp AS (SELECT DISTINCT luogo_lavoro,
|
||||
(CRP_OF_FabbisognoOre.qta_ord - dopp.qta_pian) /
|
||||
CRP_OF_FabbisognoOre.qta_ord,
|
||||
1)
|
||||
ELSE 0 END AS prod_teorica,
|
||||
ELSE 0 END AS prod_teorica,
|
||||
produttivita,
|
||||
flag_sospeso,
|
||||
varieta,
|
||||
@@ -76,11 +98,12 @@ WITH dopp AS (SELECT DISTINCT luogo_lavoro,
|
||||
AND X.Y.value('(cod_jcom)[1]', 'VARCHAR(100)') = dopp2.cod_jcom
|
||||
AND CRP_OF_FabbisognoOre.varieta LIKE '%' + dopp2.cod_mart + '%'
|
||||
AND dopp2.magaz = 1
|
||||
FOR XML PATH, ROOT) AS magaz,
|
||||
CAST(CASE WHEN dopp.qta_pian IS NOT NULL THEN 1 ELSE 0 END AS BIT) AS parz,
|
||||
FOR XML PATH, ROOT) AS magaz,
|
||||
CAST(CASE WHEN dopp.qta_pian IS NOT NULL THEN 1 ELSE 0 END AS BIT) AS parz,
|
||||
CAST(CASE
|
||||
WHEN dopp.qta_pian IS NOT NULL AND kg_ord - dopp.qta_pian <= 0 THEN 1
|
||||
ELSE 0 END AS BIT) AS compl
|
||||
WHEN dopp.qta_pian IS NOT NULL AND ROUND(kg_ord, 0) - dopp.qta_pian <= 0
|
||||
THEN 1
|
||||
ELSE 0 END AS BIT) AS compl
|
||||
FROM (SELECT *, CAST(cod_jcom AS XML) AS cod_jcom_xml
|
||||
FROM CRP_OF_FabbisognoOre) CRP_OF_FabbisognoOre
|
||||
INNER JOIN mtb_aart ma ON CRP_OF_FabbisognoOre.cod_mart = ma.cod_mart
|
||||
|
||||
@@ -5,7 +5,8 @@ SELECT mtb_aart.cod_mart,
|
||||
CASE
|
||||
WHEN jtb_dist_clav_dir.hr_time = 0 THEN 80
|
||||
ELSE ROUND(jtb_cicl.qta_prod * jtb_cicl.rap_conv_prod * mtb_aart.peso_kg /
|
||||
(jtb_dist_clav_dir.hr_time / 3600), 0) END AS kgH
|
||||
(jtb_dist_clav_dir.hr_time / 3600), 0) END AS kgH,
|
||||
jtb_dist_clav_dir.cod_jfas
|
||||
FROM jtb_cicl
|
||||
INNER JOIN jtb_dist_clav_dir
|
||||
ON jtb_cicl.cod_prod = jtb_dist_clav_dir.cod_prod
|
||||
|
||||
Reference in New Issue
Block a user