Finish ModifCRP
This commit is contained in:
@@ -65,7 +65,7 @@
|
||||
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="number" class="form-control no-spin-buttons" name="qtaRes" id="qtaRes"
|
||||
value="<%= order.qtaResidua %>">
|
||||
value="<%= order.qtaResidua < 0 ? 0 : order.qtaResidua %>">
|
||||
|
||||
<div class="input-group-addon"><%= order.untOrd %></div>
|
||||
</div>
|
||||
|
||||
@@ -54,6 +54,8 @@ class PianificazioneProduzioneOrto {
|
||||
$rigaOrdine["cod_jcom"] = from($rigaOrdine["cod_jcom"])
|
||||
->select(function ($codJcom) {
|
||||
$codJcom["kg_ord"] = intval($codJcom["kg_ord"]);
|
||||
$codJcom["colli_ord"] = intval($codJcom["colli_ord"]);
|
||||
$codJcom["pedane_ord"] = intval($codJcom["pedane_ord"]);
|
||||
|
||||
return $codJcom;
|
||||
})
|
||||
@@ -697,6 +699,7 @@ class PianificazioneProduzioneOrto {
|
||||
->set("untMisProd", array_get($piano, "unt_mis"))
|
||||
->set("codMdep", array_get($piano, "cod_mdep"))
|
||||
->set("codJflav", array_get($piano, "cod_jflav"))
|
||||
->set("colliPedana", array_get($piano, "colli_pedana"))
|
||||
->set("codVdes", array_get($piano, "cod_vdes"))
|
||||
->set("note", array_get($piano, "note"))
|
||||
->setDate("dataOrd", array_get($piano, "data_ord", array_get($piano, "data_piano")))
|
||||
|
||||
@@ -325,7 +325,23 @@ const _pianificazioneProduzioneOrto = {
|
||||
}
|
||||
},
|
||||
template(data) {
|
||||
return `${data.cod_jfas} - ${data.prodotto}`;
|
||||
let string = [
|
||||
`${data.cod_jfas} - ${data.prodotto}`
|
||||
];
|
||||
|
||||
if (data.cod_tcol_UL) {
|
||||
string = [
|
||||
...string,
|
||||
data.desc_pedana
|
||||
];
|
||||
}
|
||||
|
||||
string = [
|
||||
...string,
|
||||
`Colli per ped. ${data.colli_pedana}`
|
||||
];
|
||||
|
||||
return string.join("<br>");
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -859,7 +875,7 @@ const _pianificazioneProduzioneOrto = {
|
||||
autoWidth: false,
|
||||
destroy: true,
|
||||
dom: "<tr>",
|
||||
data: self.store.piano.ordiniCampagna.filter(ordine => !ordine.magaz),
|
||||
data: self.store.piano.ordiniCampagna,
|
||||
paging: false,
|
||||
ordering: true,
|
||||
order: [
|
||||
|
||||
@@ -53,8 +53,11 @@ function PopupGenerateOrders() {
|
||||
...acc,
|
||||
...(cur.cod_jcom?.map && cur.cod_jcom?.map(cod_jcom => ({
|
||||
...cur,
|
||||
kg_ord: _.round(cur.kg_ord, 0) > _.round(cod_jcom.kg_ord, 0) ? cod_jcom.kg_ord : cur.kg_ord,
|
||||
kg_ord_calc: true,
|
||||
// kg_ord: _.round(cur.kg_ord, 0) > _.round(cod_jcom.kg_ord, 0) ? cod_jcom.kg_ord : cur.kg_ord,
|
||||
// kg_ord_calc: true,
|
||||
kg_ord: cod_jcom.kg_ord,
|
||||
colli_ord: cod_jcom.colli_ord,
|
||||
pedane_ord: cod_jcom.pedane_ord,
|
||||
cod_jcom: cod_jcom.cod_jcom,
|
||||
desc_comm: cod_jcom.desc_comm
|
||||
})) || [cur])
|
||||
@@ -224,7 +227,8 @@ function PopupGenerateOrders() {
|
||||
id: "magazzino",
|
||||
title: "Usa magazzino",
|
||||
class: "checkbox-lg-no-label",
|
||||
checked: data
|
||||
checked: data,
|
||||
disabled: row.confirmed
|
||||
}).outerHtml();
|
||||
}
|
||||
|
||||
@@ -368,15 +372,15 @@ function PopupGenerateOrders() {
|
||||
|
||||
row.kg_ord = _.round(row.kg_ord || 0);
|
||||
|
||||
if (row.kg_pian) {
|
||||
// if (row.kg_pian) {
|
||||
// row.kg_ord -= row.kg_pian;
|
||||
|
||||
if (row.kg_ord < 0) {
|
||||
row.kg_ord = 0;
|
||||
}
|
||||
// if (row.kg_ord < 0) {
|
||||
// row.kg_ord = 0;
|
||||
// }
|
||||
|
||||
row.kg_ord_calc = true;
|
||||
}
|
||||
// row.kg_ord_calc = true;
|
||||
// }
|
||||
|
||||
// language=HTML
|
||||
const $input = $("<div>", {
|
||||
@@ -410,13 +414,14 @@ function PopupGenerateOrders() {
|
||||
{
|
||||
data: "colli_ord",
|
||||
className: "min-width-150px",
|
||||
visible: !self.orders.some(order => order.cod_jfas === "RACC"),
|
||||
render(data, type, row) {
|
||||
if (type === "display") {
|
||||
if (row.kg_ord_calc) {
|
||||
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>", {
|
||||
@@ -449,13 +454,14 @@ function PopupGenerateOrders() {
|
||||
{
|
||||
data: "pedane_ord",
|
||||
className: "min-width-150px",
|
||||
visible: !self.orders.some(order => order.cod_jfas === "RACC"),
|
||||
render(data, type, row) {
|
||||
if (type === "display") {
|
||||
if (row.kg_ord_calc) {
|
||||
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"
|
||||
@@ -556,7 +562,7 @@ function PopupGenerateOrders() {
|
||||
return durationFormat(row.ore_necessarie);
|
||||
}
|
||||
|
||||
return "-";
|
||||
return "<i class='far fa-infinity'></i>";
|
||||
}
|
||||
}
|
||||
];
|
||||
@@ -896,6 +902,7 @@ function PopupGenerateOrders() {
|
||||
height: 350,
|
||||
valuePrimitive: true,
|
||||
noDataTemplate: "Non è presente quantità disponibile.",
|
||||
autoBind: !!data.partite && data.partite.length > 0,
|
||||
itemTemplate:
|
||||
// language=HTML
|
||||
(data) => `
|
||||
@@ -937,7 +944,6 @@ function PopupGenerateOrders() {
|
||||
data.returnData
|
||||
))
|
||||
.onError({
|
||||
toast: {message: "Errore nella ricerca delle partite mag."},
|
||||
callback(result) {
|
||||
options.error(result.errorText);
|
||||
}
|
||||
@@ -1113,6 +1119,7 @@ function PopupGenerateOrders() {
|
||||
valuePrimitive: true,
|
||||
optionLabel: "Centro di Costo",
|
||||
value: data.cod_jfas,
|
||||
autoBind: !!data.cod_jfas && data.cod_jfas !== "CONF",
|
||||
dataSource: {
|
||||
serverFiltering: true,
|
||||
transport: {
|
||||
@@ -1128,7 +1135,6 @@ function PopupGenerateOrders() {
|
||||
data.returnData
|
||||
))
|
||||
.onError({
|
||||
toast: {message: "Errore nella ricerca dei centri di costo."},
|
||||
callback(result) {
|
||||
options.error(result.errorText);
|
||||
}
|
||||
@@ -1149,7 +1155,7 @@ function PopupGenerateOrders() {
|
||||
if (dataItem) {
|
||||
self.orders = self.orders.map(order => {
|
||||
if (order.uid === data.uid ||
|
||||
(!order.cod_jfas && order.cod_mart === data.cod_mart)) {
|
||||
(order.cod_jfas === "CONF" && order.cod_mart === data.cod_mart)) {
|
||||
order = {
|
||||
...order,
|
||||
cod_jfas: dataItem.cod_jfas,
|
||||
@@ -1182,6 +1188,7 @@ function PopupGenerateOrders() {
|
||||
valuePrimitive: true,
|
||||
optionLabel: "Squadra",
|
||||
value: data.cod_jflav,
|
||||
autoBind: !!data.cod_jflav,
|
||||
dataSource: {
|
||||
serverFiltering: true,
|
||||
sort: {
|
||||
@@ -1201,7 +1208,6 @@ function PopupGenerateOrders() {
|
||||
data.returnData
|
||||
))
|
||||
.onError({
|
||||
toast: {message: "Errore nella ricerca delle squadre."},
|
||||
callback(result) {
|
||||
options.error(result.errorText);
|
||||
}
|
||||
@@ -1249,8 +1255,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);
|
||||
@@ -1295,6 +1301,7 @@ function PopupGenerateOrders() {
|
||||
valuePrimitive: true,
|
||||
optionLabel: "Tipo pedana",
|
||||
value: data.cod_tcol,
|
||||
autoBind: !!data.cod_tcol,
|
||||
dataSource: {
|
||||
serverFiltering: true,
|
||||
sort: {
|
||||
@@ -1314,7 +1321,6 @@ function PopupGenerateOrders() {
|
||||
data.returnData
|
||||
))
|
||||
.onError({
|
||||
toast: {message: "Errore nella ricerca dei tipi pedana."},
|
||||
callback(result) {
|
||||
options.error(result.errorText);
|
||||
}
|
||||
@@ -1455,9 +1461,9 @@ function PopupGenerateOrders() {
|
||||
let rowValid = !!row.cod_anag;
|
||||
|
||||
if (row.magaz) {
|
||||
rowValid &&= !!row.kg_ord;
|
||||
rowValid &&= !!row.kg_ord && row.kg_ord > 0;
|
||||
} else {
|
||||
rowValid &&= row.partite?.length > 0 && !!row.cod_jfas && !!row.cod_jflav && !!row.kg_ord && !!row.prod_teorica && !!row.n_persone;
|
||||
rowValid &&= row.partite?.length > 0 && !!row.cod_jfas && !!row.cod_jflav && !!row.kg_ord && row.kg_ord > 0 && !!row.prod_teorica && !!row.n_persone;
|
||||
}
|
||||
|
||||
if (self.orders.every(order => order.cod_jfas === "RACC")) {
|
||||
@@ -1466,7 +1472,7 @@ function PopupGenerateOrders() {
|
||||
|
||||
return rowValid;
|
||||
} else {
|
||||
return !!row.cod_jfas && !!row.kg_ord && !!row.prod_teorica && !!row.n_persone;
|
||||
return !!row.cod_jfas && !!row.kg_ord && row.kg_ord > 0 && !!row.prod_teorica && !!row.n_persone;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -99,21 +99,21 @@ function PopupMoveOrder() {
|
||||
const momentDate = moment(date);
|
||||
|
||||
if (cellType === "day" && _pianificazioneProduzioneOrto.pianiProduzione?.length > 0) {
|
||||
const pianoProduzione = _pianificazioneProduzioneOrto.pianiProduzione.find(piano => moment(piano.data_piano, "YYYY/MM/DD").isSame(date));
|
||||
const pianoProduzione = _pianificazioneProduzioneOrto.pianiProduzione.find(piano => moment(piano.data_piano, "DD/MM/YYYY").isSame(date, "day"));
|
||||
|
||||
if (pianoProduzione) {
|
||||
return {
|
||||
html: $("<span>", {
|
||||
title: `Piano impostato per ${pianoProduzione.ore_lavoro_camp} ore in campagna e ${pianoProduzione.ore_lavoro_sede} in sede.`,
|
||||
html: date.getDate() + "<span class='dp-note'></span>",
|
||||
class: momentDate.isAfter() ? "cursor-pointer" : ""
|
||||
class: momentDate.isAfter(moment(), "day") ? "cursor-pointer" : ""
|
||||
}).outerHtml(),
|
||||
disabled: momentDate.isBefore()
|
||||
disabled: momentDate.isBefore(moment(), "day")
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (momentDate.isBefore()) {
|
||||
if (momentDate.isBefore(moment(), "day")) {
|
||||
return {
|
||||
disabled: true
|
||||
};
|
||||
|
||||
@@ -4,8 +4,8 @@ WITH righe AS (SELECT dopp.id,
|
||||
js.cod_jfas,
|
||||
js.cod_jfas_parent,
|
||||
js.descrizione AS desc_fase,
|
||||
jf.cod_jflav,
|
||||
jf.nome AS nome_squadra,
|
||||
ISNULL(jf.cod_jflav, 'MAGAZ') as cod_jflav,
|
||||
ISNULL(jf.nome, 'MAGAZZINO') AS nome_squadra,
|
||||
ga.cod_anag,
|
||||
ga.cod_anag + ' - ' + ga.rag_soc AS cliente,
|
||||
md.cod_mdep,
|
||||
|
||||
@@ -1,94 +1,24 @@
|
||||
WITH dopp AS (SELECT luogo_lavoro,
|
||||
STRING_AGG(cod_jfas, '-') AS cod_jfas,
|
||||
data_ord,
|
||||
cod_prod,
|
||||
cod_sl,
|
||||
cod_jcom,
|
||||
cod_mart,
|
||||
colli_pedana,
|
||||
magaz,
|
||||
MAX(flag_evaso_prod) AS flag_evaso_prod,
|
||||
SUM(qta_pian) AS qta_pian,
|
||||
SUM(colli_pian) AS colli_pian,
|
||||
qta_cnf
|
||||
FROM (SELECT DISTINCT luogo_lavoro,
|
||||
dopp.cod_jfas,
|
||||
dopp.cod_anag,
|
||||
dopp.cod_prod,
|
||||
cod_sl,
|
||||
dopp.cod_jcom,
|
||||
dopp.cod_mart,
|
||||
ma.colli_pedana,
|
||||
magaz,
|
||||
CASE WHEN do.flag_evaso_prod = 'E' THEN 1 ELSE 0 END AS flag_evaso_prod,
|
||||
SUM(qta_ord)
|
||||
OVER (PARTITION BY do.num_ord, luogo_lavoro, dopp.cod_anag, dopp.cod_prod, dopp.cod_jcom, ma.cod_mart, magaz)
|
||||
AS qta_pian,
|
||||
SUM(qta_ord / ma.qta_cnf)
|
||||
OVER (PARTITION BY do.num_ord, luogo_lavoro, dopp.cod_anag, dopp.cod_prod, dopp.cod_jcom, ma.cod_mart, magaz)
|
||||
AS colli_pian,
|
||||
ma.qta_cnf AS qta_cnf,
|
||||
dopp.data_ord
|
||||
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
|
||||
AND (data_piano >= CAST(GETDATE() AS DATE) OR do.num_ord IS NOT NULL)) t
|
||||
GROUP BY luogo_lavoro, data_ord, cod_prod, cod_sl, cod_jcom, cod_mart, colli_pedana,
|
||||
magaz, qta_cnf),
|
||||
TempResult AS (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS row_number,
|
||||
WITH TempResult AS (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS row_number,
|
||||
*
|
||||
FROM (SELECT dopp.luogo_lavoro,
|
||||
dopp.cod_jfas,
|
||||
dopp.data_cons,
|
||||
dopp.cod_anag,
|
||||
dopp.cod_tcol_UL,
|
||||
dopp.desc_pedana,
|
||||
dopp.rag_soc,
|
||||
dopp.cliente,
|
||||
dopp.citta,
|
||||
dopp.cod_prod,
|
||||
dopp.desc_prod,
|
||||
dopp.descrizione AS desc_prod,
|
||||
dopp.prodotto,
|
||||
dopp.qta_ord,
|
||||
dopp.qta_pian,
|
||||
dopp.data_ord,
|
||||
dopp.flag_evaso_prod,
|
||||
CASE
|
||||
WHEN dopp.data_ord IS NOT NULL AND dopp.flag_evaso_prod = 1 THEN ROUND(kg_ord, 0)
|
||||
ELSE
|
||||
CASE
|
||||
WHEN ROUND(kg_ord, 0) > ISNULL(dopp.qta_pian, 0)
|
||||
THEN ROUND(kg_ord, 0) - ISNULL(dopp.qta_pian, 0)
|
||||
ELSE 0 END
|
||||
END AS kg_ord,
|
||||
-- dopp.flag_evaso_prod,
|
||||
dopp.kg_ord,
|
||||
ISNULL(dopp.qta_pian, 0) AS kg_pian,
|
||||
CASE
|
||||
WHEN dopp.data_ord IS NOT NULL AND dopp.flag_evaso_prod = 1 THEN colli_ord
|
||||
WHEN dopp.colli_pian IS NOT NULL THEN
|
||||
CASE
|
||||
WHEN colli_ord > CEILING(dopp.colli_pian)
|
||||
THEN
|
||||
colli_ord - CEILING(dopp.colli_pian)
|
||||
ELSE 0 END
|
||||
ELSE colli_ord
|
||||
END AS colli_ord,
|
||||
dopp.colli_ord,
|
||||
CEILING(ISNULL(dopp.colli_pian, kg_ord / ma.qta_cnf)) AS colli_pian,
|
||||
CASE
|
||||
WHEN dopp.data_ord IS NOT NULL AND dopp.flag_evaso_prod = 1 THEN pedane_ord
|
||||
WHEN dopp.colli_pian IS NOT NULL THEN
|
||||
CASE
|
||||
WHEN pedane_ord >
|
||||
CEILING(dopp.colli_pian /
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana)) THEN
|
||||
pedane_ord -
|
||||
CEILING(dopp.colli_pian /
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana))
|
||||
ELSE 0 END
|
||||
ELSE pedane_ord
|
||||
END AS pedane_ord,
|
||||
dopp.pedane_ord,
|
||||
CEILING(ISNULL(dopp.colli_pian, kg_ord / ma.qta_cnf) /
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana)) AS pedane_pian,
|
||||
ISNULL(dopp.colli_pedana, ma.colli_pedana) AS colli_pedana,
|
||||
@@ -104,96 +34,44 @@ WITH dopp AS (SELECT luogo_lavoro,
|
||||
dopp.produttivita,
|
||||
dopp.flag_sospeso,
|
||||
dopp.varieta,
|
||||
dopp.max_allocazione,
|
||||
dopp.cod_jcom,
|
||||
dopp.magaz,
|
||||
ISNULL(dopp.qta_cnf, ISNULL(qta_cnf_semilavorato, ma.qta_cnf)) AS qta_cnf,
|
||||
ISNULL(dopp.qta_cnf, ma.qta_cnf) AS qta_cnf,
|
||||
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
|
||||
((dopp.flag_evaso_prod = 1 AND ROUND(kg_ord, 0) <= 0) OR
|
||||
(dopp.flag_evaso_prod = 0 AND ROUND(kg_ord, 0) - dopp.qta_pian <= 0))
|
||||
dopp.qta_ord <= 0
|
||||
THEN 1
|
||||
ELSE 0 END AS BIT) AS compl
|
||||
FROM (SELECT CRP_OF_FabbisognoOre.luogo_lavoro,
|
||||
CRP_OF_FabbisognoOre.cod_jfas,
|
||||
FROM (SELECT luogo_lavoro,
|
||||
cod_jcom,
|
||||
data_cons,
|
||||
CRP_OF_FabbisognoOre.cod_anag,
|
||||
CRP_OF_FabbisognoOre.cod_tcol_UL,
|
||||
cod_anag,
|
||||
rag_soc,
|
||||
cliente,
|
||||
citta,
|
||||
CRP_OF_FabbisognoOre.cod_mart AS cod_prod,
|
||||
CRP_OF_FabbisognoOre.descrizione AS desc_prod,
|
||||
cod_mart AS cod_prod,
|
||||
descrizione,
|
||||
prodotto,
|
||||
CRP_OF_FabbisognoOre.qta_ord,
|
||||
CRP_OF_FabbisognoOre.unt_mis,
|
||||
MAX(dopp.data_ord) AS data_ord,
|
||||
CAST(MAX(ISNULL(dopp.flag_evaso_prod, 0)) AS BIT) AS flag_evaso_prod,
|
||||
SUM(dopp.qta_pian) AS qta_pian,
|
||||
SUM(dopp.colli_pian) AS colli_pian,
|
||||
MAX(dopp.colli_pedana) AS colli_pedana,
|
||||
MAX(dopp.qta_cnf) AS qta_cnf,
|
||||
-- flag_evaso_prod,
|
||||
kg_ord AS qta_ord,
|
||||
qta_pian,
|
||||
kg_ord,
|
||||
colli_ord,
|
||||
colli_pian,
|
||||
qta_cnf,
|
||||
colli_pedana,
|
||||
pedane_ord,
|
||||
CRP_OF_FabbisognoOre.ore_uomo_necessarie,
|
||||
cod_jfas,
|
||||
luogo,
|
||||
ore_uomo_necessarie,
|
||||
produttivita,
|
||||
unt_mis,
|
||||
flag_sospeso,
|
||||
varieta,
|
||||
jtb_fasi.max_allocazione,
|
||||
CRP_OF_FabbisognoOre.cod_jcom,
|
||||
t.magaz,
|
||||
qta_cnf_semilavorato
|
||||
FROM (SELECT commesse.cod_jcom AS cod_jcom_tab,
|
||||
commesse.descrizione AS descr_comm,
|
||||
commesse.kg_ord AS kg_ord_comm,
|
||||
varieta.cod_mart AS cod_mart_varieta,
|
||||
semilavorato.qta_cnf AS qta_cnf_semilavorato,
|
||||
crp.*
|
||||
FROM CRP_OF_FabbisognoOre_json crp
|
||||
OUTER APPLY OPENJSON(cod_jcom, N'$') WITH (
|
||||
cod_jcom VARCHAR(200) N'$.cod_jcom',
|
||||
descrizione VARCHAR(200) N'$.desc_comm',
|
||||
kg_ord FLOAT '$.kg_ord'
|
||||
) AS commesse
|
||||
CROSS APPLY OPENJSON(varieta, N'$') WITH (
|
||||
cod_mart VARCHAR(200),
|
||||
semilavorato NVARCHAR(MAX) AS JSON
|
||||
) AS varieta
|
||||
OUTER APPLY OPENJSON(varieta.semilavorato, '$[0]')
|
||||
WITH (qta_cnf NUMERIC(20, 5)) AS semilavorato) CRP_OF_FabbisognoOre
|
||||
LEFT OUTER JOIN jtb_fasi ON CRP_OF_FabbisognoOre.luogo = jtb_fasi.cod_jfas
|
||||
LEFT OUTER JOIN dopp
|
||||
ON (CRP_OF_FabbisognoOre.luogo_lavoro = dopp.luogo_lavoro
|
||||
OR dopp.cod_jfas LIKE
|
||||
'%' + CRP_OF_FabbisognoOre.cod_jfas + '%')
|
||||
AND CRP_OF_FabbisognoOre.cod_mart = dopp.cod_prod
|
||||
AND ((dopp.cod_jfas LIKE '%RACC%' AND
|
||||
dopp.data_ord = CRP_OF_FabbisognoOre.data_cons) OR
|
||||
dopp.cod_jcom = CRP_OF_FabbisognoOre.cod_jcom_tab)
|
||||
AND CRP_OF_FabbisognoOre.cod_mart_varieta LIKE
|
||||
'%' + dopp.cod_mart + '%'
|
||||
CROSS APPLY (SELECT (SELECT dopp2.id, dopp2.data_piano
|
||||
FROM dtb_ordr_pian_prod dopp2
|
||||
WHERE CRP_OF_FabbisognoOre.luogo_lavoro = dopp2.luogo_lavoro
|
||||
AND CRP_OF_FabbisognoOre.cod_mart = dopp2.cod_prod
|
||||
AND CRP_OF_FabbisognoOre.cod_jcom_tab = dopp2.cod_jcom
|
||||
AND CRP_OF_FabbisognoOre.cod_mart_varieta = dopp2.cod_mart
|
||||
AND dopp2.magaz = 1
|
||||
FOR JSON PATH) AS magaz) t
|
||||
WHERE (dopp.qta_pian IS NULL
|
||||
OR data_cons > GETDATE())
|
||||
GROUP BY CRP_OF_FabbisognoOre.luogo_lavoro, CRP_OF_FabbisognoOre.cod_jfas, data_cons,
|
||||
CRP_OF_FabbisognoOre.cod_anag,
|
||||
CRP_OF_FabbisognoOre.cod_tcol_UL, rag_soc, cliente, citta,
|
||||
CRP_OF_FabbisognoOre.cod_mart,
|
||||
CRP_OF_FabbisognoOre.descrizione, prodotto, CRP_OF_FabbisognoOre.qta_ord,
|
||||
kg_ord, colli_ord, pedane_ord,
|
||||
CRP_OF_FabbisognoOre.unt_mis, produttivita, flag_sospeso, varieta,
|
||||
jtb_fasi.max_allocazione,
|
||||
CRP_OF_FabbisognoOre.cod_jcom, CRP_OF_FabbisognoOre.ore_uomo_necessarie,
|
||||
qta_cnf_semilavorato, t.magaz) dopp
|
||||
cod_tcol_UL,
|
||||
desc_pedana,
|
||||
varieta
|
||||
FROM CRP_OF_FabbisognoOre_JSON
|
||||
WHERE (qta_pian IS NULL
|
||||
OR data_cons >= CAST(GETDATE() AS DATE))) dopp
|
||||
INNER JOIN mtb_aart ma ON dopp.cod_prod = ma.cod_mart) t
|
||||
WHERE [filter]),
|
||||
TempCount AS (SELECT COUNT(*) AS rows_count
|
||||
|
||||
Reference in New Issue
Block a user