Gramm corrette query carichi-scarichi per deposito 33

This commit is contained in:
2022-03-08 16:22:14 +01:00
parent 16fc3cace2
commit d38ab3a183
12 changed files with 268 additions and 119 deletions

File diff suppressed because one or more lines are too long

View File

@@ -485,24 +485,24 @@ class MonitoraggioLineeV2 {
->setVar("gestione", $key["gestione"])
->setDateVar("data_ord", $key["data_ord"])
->setVar("num_ord", $key["num_ord"]);
$Ret = $Query->toRet()->execute();
if ($Ret->is_KO()) {
return $Ret;
}
return $Query->toRet()->execute();
// if ($Ret->is_KO()) {
// return $Ret;
// }
$arr_items = $Ret->get_data();
foreach ($arr_items as $i => $item) {
$arr_items[$i]["flag_dig"] = \boolValue($item["flag_dig"]);
if (!$flagEvaso) {
$Ret = self::get_materialiAlternativi($item, $key);
if ($Ret->is_OK()) {
$arr_items[$i]["alternativi"] = $Ret->get_data();
}
}
}
$Ret->set_data($arr_items);
// $arr_items = $Ret->get_data();
// foreach ($arr_items as $i => $item) {
// $arr_items[$i]["flag_dig"] = \boolValue($item["flag_dig"]);
// if (!$flagEvaso) {
// $Ret = self::get_materialiAlternativi($item, $key);
// if ($Ret->is_OK()) {
// $arr_items[$i]["alternativi"] = $Ret->get_data();
// }
// }
// }
// $Ret->set_data($arr_items);
return $Ret;
// return $Ret;
}
public static function getDistMate($codProd) {

View File

@@ -109,6 +109,9 @@ if (isset($_GET["popup-orderDetail"])) {
isset($data["getPartitaMag"]) ? $data["getPartitaMag"] : false,
isset($data["codMart"]) ? $data["codMart"] : null
)->display();
} else if (isset($_POST["getMaterialiAlternativi"])) {
$data = Utility::sanitizeB64JSON_parse($_POST["getMaterialiAlternativi"]);
MonitoraggioLineeV2::get_materialiAlternativi($data["data"], $data["key"])->display();
} else if (isset($_POST["salvaSelezionePriorita"])) {
$data = Utility::sanitizeB64JSON_parse($_POST["salvaSelezionePriorita"]);
MonitoraggioLineeV2::salvaSelezionePriorita($data)->display();

View File

@@ -17,9 +17,11 @@ if ($ret->is_KO()) {
return $ret;
}
$listScarichi = $ret->get_data();
$testateColliScarico = array_map(function ($x) {
return array_pick($x, array("num_collo", "data_collo"));
return array_pick($x, array("source"));
}, $listScarichi);
$testateColliScarico = array_unique_multi($testateColliScarico);
ob_start();
?>
@@ -49,13 +51,12 @@ ob_start();
<?php foreach ($testateColliScarico as $scarico) {
$scarichi = array_filter($listScarichi, function ($row) use ($scarico) {
return $row["data_collo"] === $scarico["data_collo"] && $row["num_collo"] === $scarico["num_collo"];
return $row["source"] === $scarico["source"];
})
?>
<tr>
<td colspan="4" class=" text-center font-weight-bold info text-info">
Collo di scarico n.<?= $scarico["num_collo"] ?>
del <?= Date::format($scarico["data_collo"], Format::strftimeDMY); ?>
<?= $scarico["source"] ?>
</td>
</tr>
<?php foreach ($scarichi as $rifScarico) { ?>

View File

@@ -206,7 +206,7 @@ if (!is_null($ordineLav["note"])) {
$codMart = $item["cod_mart"];
$qtaEsistente = $item["qta_esistente"];
$hasAlternativi = !$ordineEvaso && count($item["alternativi"]) > 1; // 1 è se stesso
$hasAlternativi = true;// !$ordineEvaso && count($item["alternativi"]) > 1; // 1 è se stesso
$carico = null;
$scarico = null;
@@ -260,16 +260,18 @@ if (!is_null($ordineLav["note"])) {
data-live-search="true" Xdata-width="100%"
Xdata-size="5">
<?php
if (!$ordineEvaso) {
foreach ($item["alternativi"] as $artAlternativo) {
?>
<option data-info="<?= Utility::B64JSON_stringify($artAlternativo) ?>"
value="<?= $artAlternativo["cod_mart"] ?>">
<?= "{$artAlternativo["cod_mart"]} - {$artAlternativo["descrizione_estesa"]} (" . number_format($artAlternativo["qta_esistente"], $artAlternativo["flag_dig"] ? 0 : 2, ".", "'") . " {$artAlternativo["unt_mis"]})" ?>
</option>
<?php
}
}
// if (!$ordineEvaso) {
// foreach ($item["alternativi"] as $artAlternativo) {
// ?>
<!-- <option data-info="-->
<?//= Utility::B64JSON_stringify($artAlternativo) ?><!--"-->
<!-- value="-->
<?//= $artAlternativo["cod_mart"] ?><!--">-->
<!-- --><?//= "{$artAlternativo["cod_mart"]} - {$artAlternativo["descrizione_estesa"]} (" . number_format($artAlternativo["qta_esistente"], $artAlternativo["flag_dig"] ? 0 : 2, ".", "'") . " {$artAlternativo["unt_mis"]})" ?>
<!-- </option>-->
<!-- --><?php
// }
// }
?>
</select>
</td>

View File

@@ -1314,11 +1314,62 @@ var _ordini = {
var codMart = $spanCodMart.text();
var $spanDescrizione = $codMartTd.find(".txt_materiali_descrizione");
var $materialiAlternativi = $codMartTd.find("select.materialiAlternativi");
const ordine = _.find(self.arr_ordini, {
numOrd: orderKey.num_ord,
dataOrd: orderKey.data_ord,
gestione: orderKey.gestione,
rigaOrdProd: orderKey.riga_ord_prod,
codMdep: orderKey.cod_mdep
});
var ajax;
switch (action) {
case "M": // Modifica materiale
$materialiAlternativi.val(codMart);
d.resolve();
new Ajax()
.post("getMaterialiAlternativi")
.data({
data: {
cod_mart: codMart,
unt_ord: ordine.untOrd,
cod_mdep: ordine.codMdep
},
key: orderKey
})
.$button($bt)
.waitToast("Caricamento materiali...")
.noticeAsToast()
.onSuccess(ret => {
if (ret.returnData && ret.returnData.length > 0) {
$materialiAlternativi.html("");
ret.returnData.forEach(materiale => {
const option = new Option(
`${materiale.cod_mart} - ${materiale.descrizione_estesa} (${number_format_datatable("", materiale.unt_mis, "'", ".", materiale.flag_dig ? 0 : 2).display(materiale.qta_esistente)})`,
materiale.cod_mart
);
const $option = $(option);
$option.attr("data-info", _ojbc.B64JSON_stringify(materiale));
$materialiAlternativi.append($option);
});
$materialiAlternativi.val(codMart);
$materialiAlternativi.selectpicker("refresh");
d.resolve();
}
})
.onError({
toast: {message: "Errore nel caricamento dei materiali."},
callback(ret) {
d.reject(ret);
}
})
.execute();
break;
case "S": // Update riga materiali

View File

@@ -1,15 +1,38 @@
SELECT mv.cod_mart,
mv.descrizione_estesa,
mv.unt_mis,
mv.codGruppo,
mv.CodSgruppo,
SUM(mv.qta_col) AS qta_col,
ma.cod_msfa,
mum.flag_dig
FROM mvw_sitart_udc_det_inventario mv
INNER JOIN mtb_grup ON cod_mgrp = mv.codGRuppo
INNER JOIN mtb_aart ma ON ma.cod_mart = mv.cod_mart
INNER JOIN mtb_unt_mis mum ON ma.unt_mis = mum.unt_mis
WHERE ('[posizioni_str]' IS NULL OR mv.posizione IN ('[posizioni]'))
AND mv.cod_mdep = '[codMdep]'
GROUP BY mv.cod_mart, mv.CodSgruppo, mv.codGruppo, mv.descrizione_estesa, mv.unt_mis, ma.cod_msfa, mum.flag_dig
SELECT cod_mart,
descrizione_estesa,
unt_mis,
SUM(qta_col) AS qta_col,
cod_msfa,
flag_dig
FROM (
SELECT mv.cod_mart,
mv.descrizione_estesa,
mv.unt_mis,
SUM(mv.qta_col) AS qta_col,
ma.cod_msfa,
mum.flag_dig
FROM mvw_sitart_udc_det_inventario mv
INNER JOIN mtb_aart ma ON ma.cod_mart = mv.cod_mart
INNER JOIN mtb_unt_mis mum ON ma.unt_mis = mum.unt_mis
WHERE ('[posizioni_str]' IS NULL OR mv.posizione IN ('[posizioni]'))
AND mv.cod_mdep = '[codMdep]'
GROUP BY mv.cod_mart, mv.descrizione_estesa, mv.unt_mis, ma.cod_msfa, mum.flag_dig
UNION ALL
SELECT ma.cod_mart,
ma.descrizione_estesa,
ma.unt_mis,
mtb_part.qta_esistente AS qta_col,
ma.cod_msfa,
mum.flag_dig
FROM mtb_part
INNER JOIN mtb_aart ma ON mtb_part.cod_mart = ma.cod_mart
INNER JOIN mtb_unt_mis mum ON ma.unt_mis = mum.unt_mis
WHERE cod_mdep = '[codMdep]'
AND qta_esistente > 0
AND ma.cod_mart IN (SELECT cod_mart
FROM dtb_ordr
WHERE gestione = '[gestione]'
AND data_ord = '[dataOrd]'
AND num_ord = '[numOrd]')
) t
GROUP BY cod_mart, descrizione_estesa, unt_mis, cod_msfa, flag_dig

View File

@@ -1,28 +1,66 @@
SELECT ROW_NUMBER() OVER (ORDER BY data_scad DESC) AS row_index,
mv.cod_mart,
mv.descrizione_estesa,
mv.unt_mis,
mv.codGruppo,
mv.CodSgruppo,
mv.partita_mag,
mpm.data_scad,
SUM(mv.qta_col) AS qta_col,
ma.cod_msfa,
mum.flag_dig,
do.system_note
FROM mvw_sitart_udc_det_inventario mv
INNER JOIN mtb_grup ON cod_mgrp = mv.codGRuppo
INNER JOIN mtb_aart ma ON ma.cod_mart = mv.cod_mart
INNER JOIN mtb_unt_mis mum ON ma.unt_mis = mum.unt_mis
INNER JOIN dtb_ordr do ON mv.cod_mart = do.cod_mart AND
do.gestione = '[gestione]' AND
do.data_ord = '[dataOrd]' AND
do.num_ord = '[numOrd]'
LEFT OUTER JOIN mtb_partita_mag mpm
ON ma.cod_mart = mpm.cod_mart AND
ISNULL(mv.partita_mag, '') = ISNULL(mpm.partita_mag, '')
WHERE ('[posizioni_str]' IS NULL OR mv.posizione IN ('[posizioni]'))
AND mv.cod_mart = '[codMart]'
AND mv.cod_mdep = '[codMdep]'
GROUP BY mv.cod_mart, mv.CodSgruppo, mv.codGruppo, mv.descrizione_estesa, mv.partita_mag, mv.unt_mis, ma.cod_msfa,
mum.flag_dig, mpm.data_scad, do.system_note
SELECT ROW_NUMBER() OVER (ORDER BY data_scad DESC) AS row_index, *
FROM (
SELECT mv.cod_mart,
mv.descrizione_estesa,
mv.unt_mis,
mv.partita_mag,
mpm.data_scad,
SUM(mv.qta_col) AS qta_col,
ma.cod_msfa,
mum.flag_dig,
do.system_note
FROM mvw_sitart_udc_det_inventario mv
INNER JOIN mtb_aart ma ON ma.cod_mart = mv.cod_mart
INNER JOIN mtb_unt_mis mum ON ma.unt_mis = mum.unt_mis
INNER JOIN dtb_ordr do
ON mv.cod_mart =
do.cod_mart AND
do.gestione = '[gestione]' AND
do.data_ord = '[dataOrd]' AND
do.num_ord = '[numOrd]'
LEFT OUTER JOIN mtb_partita_mag mpm
ON ma.cod_mart =
mpm.cod_mart AND
ISNULL(mv.partita_mag, '') =
ISNULL(mpm.partita_mag, '')
WHERE ('[posizioni_str]' IS NULL OR mv.posizione IN ('[posizioni]'))
AND mv.cod_mart = '[codMart]'
AND mv.cod_mdep = '[codMdep]'
GROUP BY mv.cod_mart, mv.descrizione_estesa,
mv.partita_mag, mv.unt_mis,
ma.cod_msfa,
mum.flag_dig, mpm.data_scad,
do.system_note
UNION ALL
SELECT ma.cod_mart,
ma.descrizione_estesa,
ma.unt_mis,
mpd.partita_mag,
mpm.data_scad,
SUM(mpd.qta_esistente) AS qta_col,
ma.cod_msfa,
mum.flag_dig,
do.system_note
FROM mtb_part_dt mpd
INNER JOIN mtb_aart ma ON mpd.cod_mart = ma.cod_mart
INNER JOIN mtb_unt_mis mum ON ma.unt_mis = mum.unt_mis
INNER JOIN dtb_ordr do
ON ma.cod_mart =
do.cod_mart AND
do.gestione = '[gestione]' AND
do.data_ord = '[dataOrd]' AND
do.num_ord = '[numOrd]'
LEFT OUTER JOIN mtb_partita_mag mpm
ON ma.cod_mart =
mpm.cod_mart AND
ISNULL(mpd.partita_mag, '') =
ISNULL(mpm.partita_mag, '')
WHERE mpd.qta_esistente > 0
AND ma.cod_mart = '[codMart]'
AND mpd.cod_mdep = '[codMdep]'
GROUP BY ma.cod_mart, ma.descrizione_estesa,
ma.unt_mis, mpd.partita_mag,
mpm.data_scad, ma.cod_msfa,
mum.flag_dig,
do.system_note
) t

View File

@@ -1,24 +1,52 @@
select mt.data_collo,
SELECT mt.data_collo,
mt.num_collo,
SUM(mr.qta_col) as qta_col,
SUM(mr.qta_col) AS qta_col,
mr.partita_mag,
mt_c.posizione,
mr.num_collo_rif,
mr.data_collo_rif
from mtb_colt mt
left join mtb_colr mr
on mt.gestione = mr.gestione
and mt.data_collo = mr.data_collo
and mt.ser_collo = mr.ser_collo
and mt.num_collo = mr.num_collo
left join mtb_colt mt_c
on mt_c.gestione = mr.gestione_rif
and mt_c.data_collo = mr.data_collo_rif
and mt_c.ser_collo = mr.ser_collo_rif
and mt_c.num_collo = mr.num_collo_rif
where mt.data_ord = '[dataOrd]'
and mt.num_ord = '[numOrd]'
and mt.gestione = '[gestione]'
and mt.segno = -1
and mr.cod_mart = '[codMart]'
group by mr.cod_mart, mr.partita_mag, mt_c.posizione, mr.data_collo_rif, mr.num_collo_rif, mt.num_collo, mt.data_collo
mr.data_collo_rif,
'Colli' AS source
FROM mtb_colt mt
LEFT JOIN mtb_colr mr
ON mt.gestione = mr.gestione
AND mt.data_collo = mr.data_collo
AND mt.ser_collo = mr.ser_collo
AND mt.num_collo = mr.num_collo
LEFT JOIN mtb_colt mt_c
ON mt_c.gestione = mr.gestione_rif
AND mt_c.data_collo = mr.data_collo_rif
AND mt_c.ser_collo = mr.ser_collo_rif
AND mt_c.num_collo = mr.num_collo_rif
WHERE mt.data_ord = '[dataOrd]'
AND mt.num_ord = [numOrd]
AND mt.gestione = '[gestione]'
AND mt.segno = -1
AND mr.cod_mart = '[codMart]'
GROUP BY mr.cod_mart, mr.partita_mag, mt_c.posizione, mr.data_collo_rif, mr.num_collo_rif, mt.num_collo, mt.data_collo
UNION ALL
SELECT dcr.data_doc AS data_collo,
dcr.num_doc AS num_collo,
SUM(qta_doc) AS qta_col,
dcr.partita_mag,
NULL AS posizione,
dcr.num_doc AS num_collo_rif,
dcr.data_doc AS data_collo_rif,
'Documenti' AS source
FROM dtb_docr dcr
INNER JOIN dtb_ordr dor ON
dcr.num_ord = dor.num_ord
AND dor.data_ord = dcr.data_ord
AND dor.riga_ord = dcr.riga_ord
LEFT OUTER JOIN mtb_colt mc
ON dcr.num_doc = mc.num_doc AND dcr.data_doc = mc.data_doc AND dcr.cod_dtip = mc.cod_dtip AND
dcr.ser_doc = mc.ser_doc
LEFT OUTER JOIN mtb_colr m
ON mc.gestione = m.gestione AND mc.data_collo = m.data_collo AND mc.ser_collo = m.ser_collo AND
mc.num_collo = m.num_collo AND dcr.cod_mart = m.cod_mart
WHERE dor.data_ord = '[dataOrd]'
AND dor.num_ord = [numOrd]
AND dor.gestione = '[gestione]'
AND dcr.cod_dtip = (SELECT dbo.getGestSetup('W_PORDI_RC', 'SETUP_DOCUMENTI', 'COD_DTIP_SCAR'))
AND dcr.cod_mart = '[codMart]'
AND m.num_collo IS NULL
GROUP BY dcr.data_doc, dcr.num_doc, dcr.partita_mag

View File

@@ -1,11 +1,23 @@
select mr.cod_mart, SUM(mr.qta_col) as qta_col, ma.unt_mis
from mtb_colt mt
left join mtb_colr mr
on mt.gestione = mr.gestione and mt.data_collo = mr.data_collo and mt.ser_collo = mr.ser_collo and
SELECT mr.cod_mart, SUM(mr.qta_col) AS qta_col, ma.unt_mis
FROM mtb_colt mt
LEFT JOIN mtb_colr mr
ON mt.gestione = mr.gestione AND mt.data_collo = mr.data_collo AND mt.ser_collo = mr.ser_collo AND
mt.num_collo = mr.num_collo
inner join mtb_aart ma on ma.cod_mart = mr.cod_mart
where mt.data_ord = '[dataOrd]'
and mt.num_ord = '[numOrd]'
and mt.gestione = '[gestione]'
and mt.segno = -1
group by mr.cod_mart, ma.unt_mis
INNER JOIN mtb_aart ma ON ma.cod_mart = mr.cod_mart
WHERE mt.data_ord = '[dataOrd]'
AND mt.num_ord = [numOrd]
AND mt.gestione = '[gestione]'
AND mt.segno = -1
GROUP BY mr.cod_mart, ma.unt_mis
UNION ALL
SELECT dcr.cod_mart, SUM(qta_doc) AS qta_col, unt_ord
FROM dtb_docr dcr
INNER JOIN dtb_ordr dor ON
dcr.num_ord = dor.num_ord
AND dor.data_ord = dcr.data_ord
AND dor.riga_ord = dcr.riga_ord
WHERE dcr.data_ord = '[dataOrd]'
AND dcr.num_ord = [numOrd]
AND gestione = '[gestione]'
AND cod_dtip = (SELECT dbo.getGestSetup('W_PORDI_RC', 'SETUP_DOCUMENTI', 'COD_DTIP_SCAR'))
GROUP BY dcr.cod_mart, unt_ord

File diff suppressed because one or more lines are too long

View File

@@ -1252,7 +1252,6 @@ select:-moz-focusring {
}
}
<<<<<<< Updated upstream
.img-wrapper {
position: relative;
}
@@ -1271,10 +1270,10 @@ select:-moz-focusring {
display: block;
/* adjust 'height' to position overlay content vertically */
height: 50%;
=======
}
.k-grid input.k-checkbox {
height: 20px;
width: 20px;
border: 1px solid gray;
>>>>>>> Stashed changes
}