Compare commits
22 Commits
Biolevante
...
Gramm_MES_
| Author | SHA1 | Date | |
|---|---|---|---|
| afc628f6c6 | |||
| 084efc777a | |||
| 02b23f7bc5 | |||
| a8a399e41f | |||
| 5435b37d28 | |||
| f33beff95e | |||
| 0490f3de4e | |||
| a300231d0a | |||
| 88172460e6 | |||
| 6f4a3808a5 | |||
| a7e225d4c9 | |||
| 0d3b85ff8a | |||
| d72b381e27 | |||
| 3642d26d46 | |||
| c3f74f93dc | |||
| 6dd2fc2296 | |||
| 78dbf0ab80 | |||
| 17b9f13abc | |||
| 333e040334 | |||
| fdd0a713c2 | |||
| a2976f92a0 | |||
| b68c64b4cb |
@@ -30,6 +30,7 @@ class MainHandler extends MainHandlerAzienda {
|
||||
return array(
|
||||
"semolaSecca" => self::getSemolaOrdine($order),
|
||||
"scartoFresco" => self::getScartoFresco($order),
|
||||
"semolaRAM" => self::getSemolaRAM($order["codProd"], $order["partitaMag"]),
|
||||
"qtaAcqua" => self::getQtaAcqua($order),
|
||||
"pastaProd" => self::getPastaProd($order),
|
||||
"pastaConf" => self::getPastaConf($order)
|
||||
@@ -112,6 +113,14 @@ GROUP BY ma.cod_mart, ma.unt_mis");
|
||||
return $query->toRet(false)->firstRow()->execute();
|
||||
}
|
||||
|
||||
private static function getSemolaRAM($codMart, $partitaMag) {
|
||||
$query = new \Query("SELECT val_carat FROM mtb_partita_mag_carat WHERE cod_mart = '[cod_mart]' AND partita_mag = '[partita_mag]' AND carat LIKE 'Quantit% semola (KG)'");
|
||||
$query->setVar("partita_mag", $partitaMag)
|
||||
->setVar("cod_mart", $codMart);
|
||||
$ret = $query->firstRowFirstValue()->toRet()->date2ts()->execute();
|
||||
return (float)if_null($ret->get_data(), 0);
|
||||
}
|
||||
|
||||
private static function getPastaConf($order) {
|
||||
$query = new \Query("SELECT ma.cod_mart , SUM(mr.qta_col) AS qta_col, ma.unt_mis
|
||||
FROM mtb_colt mt
|
||||
@@ -153,16 +162,8 @@ GROUP BY ma.cod_mart, ma.unt_mis");
|
||||
|
||||
$cod_mart = $order["cod_prod"];
|
||||
$partita_mag = $order["partita_mag"];
|
||||
$carat = "Quantità semola (KG)";
|
||||
|
||||
$query->select("val_carat")
|
||||
->from("mtb_partita_mag_carat")
|
||||
->where("cod_mart", $cod_mart)
|
||||
->where("partita_mag", $partita_mag)
|
||||
->where("carat", $carat);
|
||||
|
||||
$ret = $query->firstRowFirstValue()->toRet()->execute();
|
||||
$semolaRAM = (int)if_null($ret->get_data(), 0);
|
||||
$semolaRAM = self::getSemolaRAM($cod_mart, $partita_mag);
|
||||
|
||||
if ($semolaRAM) {
|
||||
$percentdiff = 1.5;
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
use Utility\Date;
|
||||
|
||||
/**
|
||||
* @var array $datiOrdine
|
||||
*/
|
||||
|
||||
$retData = array();
|
||||
$key = array(
|
||||
"gestione" => $order["gestione"],
|
||||
@@ -11,7 +15,8 @@ $key = array(
|
||||
$Ret = MonitoraggioLineeV2::get_ordineLav($key);
|
||||
|
||||
$semolaSecca = 0;
|
||||
$semolaRam = null;
|
||||
|
||||
$semolaRam = array_get($datiOrdine, "semolaRAM", 0);
|
||||
|
||||
if (array_key_exists("semolaSecca", $datiOrdine) && !empty($datiOrdine["semolaSecca"])) {
|
||||
$semolaSecca = from($datiOrdine["semolaSecca"])->sum(function ($elem) {
|
||||
@@ -23,12 +28,12 @@ $key2 = array(
|
||||
"cod_mart" => $order["codProd"],
|
||||
"partita_mag" => $order["partitaMag"],
|
||||
);
|
||||
|
||||
/*
|
||||
$ret = MonitoraggioLineeV2::getSemolaRam($key2);
|
||||
|
||||
if ($ret->is_OK()) {
|
||||
$semolaRam = $ret->get_data();
|
||||
}
|
||||
}*/
|
||||
|
||||
$semolaUntMis = array_key_exists("semolaSecca", $datiOrdine) && !empty($datiOrdine["semolaSecca"]) ? $datiOrdine["semolaSecca"][0]["unt_mis"] : "KG";
|
||||
$scartoFresco = array_key_exists("scartoFresco", $datiOrdine) && !empty($datiOrdine["scartoFresco"]) ? floatval(str_replace(',', '.', $datiOrdine["scartoFresco"]["val_carat"])) : 0;
|
||||
@@ -263,6 +268,13 @@ if ($Ret->is_OK()) {
|
||||
const confirmButton = $("#confirmButton");
|
||||
const semolaRam = _.toNumber("<?= $semolaRam ?>");
|
||||
|
||||
<?php
|
||||
$gestSetupDepo = new GestSetupDepo;
|
||||
$checkSemola = $gestSetupDepo->keySection("FLAG_CHECK_SEMOLA_RAM")->cod_mdep($order["codMdep"])->defaultValue('N')->asBoolean()->get();
|
||||
|
||||
if ($checkSemola) {
|
||||
?>
|
||||
|
||||
if (semolaRam === "" || semolaRam <= 0) {
|
||||
$semolaRam.parents(".input-group").addClass("has-error");
|
||||
confirmButton.prop("disabled", true);
|
||||
@@ -270,6 +282,8 @@ if ($Ret->is_OK()) {
|
||||
$semolaRam.parents(".input-group").removeClass("has-error");
|
||||
confirmButton.prop("disabled", false);
|
||||
}
|
||||
|
||||
<?php } ?>
|
||||
});
|
||||
|
||||
$("[name=scartoFresco]").on("input change", function (e) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -126,7 +126,7 @@ function zeroIfNull($v) {
|
||||
}
|
||||
|
||||
function nullIfBlank($v) {
|
||||
return strlen(trim($v)) == 0 ? null : $v;
|
||||
return is_null($v) || strlen(trim($v)) == 0 ? null : $v;
|
||||
}
|
||||
|
||||
function blankIfNull($v) {
|
||||
|
||||
@@ -19,29 +19,31 @@ FROM dtb_ordt
|
||||
INNER JOIN dtb_ordr ON dtb_ordt.gestione = dtb_ordr.gestione AND
|
||||
dtb_ordt.data_ord = dtb_ordr.data_ord AND
|
||||
dtb_ordt.num_ord = dtb_ordr.num_ord
|
||||
LEFT OUTER JOIN (SELECT * FROM avw_ordini_accettazione WHERE cod_mdep = '[cod_mdep]') avw_ordini_accettazione
|
||||
ON
|
||||
dtb_ordr.gestione = avw_ordini_accettazione.gestione AND
|
||||
dtb_ordr.data_ord = avw_ordini_accettazione.data_ord AND
|
||||
dtb_ordr.num_ord = avw_ordini_accettazione.num_ord AND
|
||||
dtb_ordr.riga_ord = avw_ordini_accettazione.riga_ord
|
||||
WHERE dtb_ordt.cod_mdep = '[cod_mdep]'
|
||||
WHERE dtb_ordt.cod_mdep = '[cod_mdep]'
|
||||
AND dtb_ordt.gestione = 'A'
|
||||
AND dtb_ordt.flag_annulla = 'N'
|
||||
AND dtb_ordt.data_ord >= '[data_da]'
|
||||
AND dtb_ordr.qta_ord <> dtb_ordr.qta_evasa
|
||||
AND dtb_ordr.flag_evaso = 'I'
|
||||
AND dtb_ordt.flag_evaso_forzato = 'N'
|
||||
AND avw_ordini_accettazione.data_ord IS NULL
|
||||
AND NOT EXISTS(SELECT *
|
||||
FROM avw_ordini_accettazione
|
||||
WHERE avw_ordini_accettazione.cod_mdep = '[cod_mdep]'
|
||||
AND dtb_ordr.gestione = avw_ordini_accettazione.gestione
|
||||
AND dtb_ordr.data_ord = avw_ordini_accettazione.data_ord
|
||||
AND dtb_ordr.num_ord = avw_ordini_accettazione.num_ord
|
||||
AND dtb_ordr.riga_ord = avw_ordini_accettazione.riga_ord)
|
||||
|
||||
GROUP BY dtb_ordt.data_ord,
|
||||
dtb_ordt.num_ord,
|
||||
dtb_ordt.gestione,
|
||||
dtb_ordt.cod_anag,
|
||||
dtb_ordt.cod_vdes,
|
||||
gtb_anag.rag_soc,
|
||||
dtb_ordt.listino,
|
||||
atb_list.descrizione,
|
||||
CASE WHEN tmp.listino IS NULL THEN 'N'
|
||||
ELSE
|
||||
'S' END
|
||||
dtb_ordt.num_ord,
|
||||
dtb_ordt.gestione,
|
||||
dtb_ordt.cod_anag,
|
||||
dtb_ordt.cod_vdes,
|
||||
gtb_anag.rag_soc,
|
||||
dtb_ordt.listino,
|
||||
atb_list.descrizione,
|
||||
CASE
|
||||
WHEN tmp.listino IS NULL THEN 'N'
|
||||
ELSE
|
||||
'S' END
|
||||
ORDER BY dtb_ordt.data_ord DESC, dtb_ordt.num_ord DESC
|
||||
@@ -198,7 +198,15 @@ class BudgetVendite {
|
||||
if ($ret->is_OK()) {
|
||||
$entityList = new EntityList();
|
||||
|
||||
foreach ($orders as $order) {
|
||||
$groupedOrders = from($orders)
|
||||
->groupBy(function ($order) {
|
||||
return sprintf("%s-%s-%s", $order["gestione"], $order["data_ord"], $order["num_ord"]);
|
||||
})
|
||||
->toArray();
|
||||
|
||||
foreach ($groupedOrders as $orders) {
|
||||
$order = reset($orders);
|
||||
|
||||
$query = new Query();
|
||||
|
||||
$query
|
||||
|
||||
@@ -118,7 +118,7 @@ const _budgetVendite = {
|
||||
class: "k-text-center"
|
||||
},
|
||||
template(row) {
|
||||
return row.varieta.map(prodotto => prodotto.descrizione).join(", ");
|
||||
return row.varieta?.map(prodotto => prodotto.descrizione).join(", ");
|
||||
},
|
||||
filterable: {
|
||||
cell: {
|
||||
|
||||
@@ -1243,7 +1243,7 @@ class ContattiCommesse {
|
||||
$arr_userName = self::parseUserNameFilter($filter);
|
||||
$Query->where("user_name", $arr_userName);
|
||||
|
||||
if (array_key_exists("activityId", $filter)) {
|
||||
if (array_get($filter, "activityId")) {
|
||||
$Query->where("activity_id", $filter["activityId"]);
|
||||
}
|
||||
|
||||
@@ -1251,11 +1251,11 @@ class ContattiCommesse {
|
||||
$Query->where("cod_anag", $filter["codAnag"])->where("tipo_anag", $filter["tipoAnag"]);
|
||||
}
|
||||
|
||||
if (array_key_exists("codJcom", $filter)) {
|
||||
if (array_get($filter, "codJcom")) {
|
||||
$Query->where("cod_jcom", $filter["codJcom"]);
|
||||
}
|
||||
|
||||
if (array_key_exists("tipo_attivita", $filter)) {
|
||||
if (array_get($filter, "tipo_attivita")) {
|
||||
if (is_array($filter["tipo_attivita"])) {
|
||||
$whereCond = "(";
|
||||
|
||||
@@ -1269,7 +1269,7 @@ class ContattiCommesse {
|
||||
}
|
||||
}
|
||||
|
||||
if (array_key_exists("assegnatoA", $filter)) {
|
||||
if (array_get($filter, "assegnatoA")) {
|
||||
if (is_array($filter["assegnatoA"])) {
|
||||
$whereCond = "(";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$().ready(function () {
|
||||
$(document).on("click vmousedown vmouseup", "[data-row_attivita]", function (e) {
|
||||
$(document).on("click mousedown mouseup", "[data-row_attivita]", function (e) {
|
||||
e.stopPropagation();
|
||||
if (e.type !== "click") {
|
||||
let $alert = $(this).closest("[data-row_attivita]");
|
||||
@@ -127,7 +127,7 @@ _contattiCommesse.plannerUtils = {
|
||||
tick: function (eventType, $alert) {
|
||||
let self = this;
|
||||
switch (eventType) { // Gestita concorrenza eventi click e taphold
|
||||
case "vmousedown":
|
||||
case "mousedown":
|
||||
if (self.lastMouseEvent !== eventType) { // Controllo per evento lanciato due volte
|
||||
self.activityTapHoldTimer = setTimeout(function () {
|
||||
self.isTapHold = true;
|
||||
@@ -138,7 +138,7 @@ _contattiCommesse.plannerUtils = {
|
||||
}
|
||||
break;
|
||||
|
||||
case "vmouseup":
|
||||
case "mouseup":
|
||||
clearTimeout(self.activityTapHoldTimer);
|
||||
if (!self.isTapHold) {
|
||||
new PopupFormAttivita()
|
||||
|
||||
@@ -20,20 +20,18 @@ $().ready(function () {
|
||||
var _contattiCommesse = {
|
||||
module: null,
|
||||
filter: null,
|
||||
|
||||
$planner: null,
|
||||
|
||||
init: function () {
|
||||
var self = this;
|
||||
|
||||
self.module = new Module();
|
||||
|
||||
self.module.onLoad(function () {
|
||||
|
||||
_panelFilter.init();
|
||||
|
||||
_contattiCommesse.plannerUtils.initFiltroAssegnatoA();
|
||||
|
||||
self.$planner = $("#weeklyPlanner");
|
||||
|
||||
var wpOptions = {
|
||||
$selector: $("#plannerWeekSelector"),
|
||||
queryStringParameter: "d",
|
||||
|
||||
@@ -73,6 +73,7 @@ class ControlloGiacenze {
|
||||
'data_ret' => $articolo['data_ret'],
|
||||
'num_ord' => ($articolo['num_ord']) ?: "",
|
||||
'data_ord' => $articolo['data_ord'],
|
||||
'data_scad' => $articolo['data_scad'],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -202,6 +203,16 @@ class ControlloGiacenze {
|
||||
"footerAttributes" => array("style" => 'text-align: center;'),
|
||||
"filterable" => array("cell" => array("minLength" => 100)),
|
||||
),
|
||||
array(
|
||||
"field" => "data_scad",
|
||||
"title" => "Data Scadenza",
|
||||
"type" => "date",
|
||||
"width" => "190px",
|
||||
"format" => "{0:d}",
|
||||
"headerAttributes" => array("style" => 'text-align: center;'),
|
||||
"attributes" => array("style" => 'text-align: center;'),
|
||||
"footerAttributes" => array("style" => 'text-align: center;'),
|
||||
),
|
||||
array(
|
||||
"field" => "descrizione_estesa",
|
||||
"title" => "Descrizione Articolo",
|
||||
|
||||
@@ -1,35 +1,31 @@
|
||||
WITH TempResult AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT mt.preparato_da, mt.num_ord, mt.data_ord, inv.*, data_ret
|
||||
FROM mvw_sitart_udc_det_inventario inv
|
||||
INNER JOIN mtb_colt mt
|
||||
ON mt.data_collo = inv.data_collo
|
||||
AND mt.gestione = inv.gestione
|
||||
AND mt.ser_collo = inv.ser_collo
|
||||
AND mt.num_collo = inv.num_collo
|
||||
LEFT OUTER JOIN (SELECT mtb_cols.data_collo,
|
||||
ser_collo,
|
||||
num_collo,
|
||||
gestione,
|
||||
MAX(data_move) AS data_ret
|
||||
FROM mtb_cols
|
||||
GROUP BY mtb_cols.data_collo, ser_collo, num_collo, gestione) AS ms
|
||||
ON mt.gestione = ms.gestione
|
||||
AND mt.data_collo = ms.data_collo
|
||||
AND mt.ser_collo = ms.ser_collo
|
||||
AND mt.num_collo = ms.num_collo
|
||||
) t
|
||||
WHERE [filter]
|
||||
),
|
||||
TempCount AS (
|
||||
SELECT COUNT(*) AS count,
|
||||
SUM(qta_col) AS SUM_qta_col,
|
||||
SUM(num_cnf) AS SUM_num_cnf,
|
||||
SUM(peso_netto_kg) AS SUM_peso_netto_kg,
|
||||
SUM(peso_lordo_kg) AS SUM_peso_lordo_kg
|
||||
FROM TempResult
|
||||
)
|
||||
WITH TempResult AS (SELECT *
|
||||
FROM (SELECT mt.preparato_da, mt.num_ord, mt.data_ord, inv.*, data_ret, mpm.data_scad
|
||||
FROM mvw_sitart_udc_det_inventario inv
|
||||
INNER JOIN mtb_colt mt
|
||||
ON mt.data_collo = inv.data_collo
|
||||
AND mt.gestione = inv.gestione
|
||||
AND mt.ser_collo = inv.ser_collo
|
||||
AND mt.num_collo = inv.num_collo
|
||||
LEFT OUTER JOIN (SELECT mtb_cols.data_collo,
|
||||
ser_collo,
|
||||
num_collo,
|
||||
gestione,
|
||||
MAX(data_move) AS data_ret
|
||||
FROM mtb_cols
|
||||
GROUP BY mtb_cols.data_collo, ser_collo, num_collo, gestione) AS ms
|
||||
ON mt.gestione = ms.gestione
|
||||
AND mt.data_collo = ms.data_collo
|
||||
AND mt.ser_collo = ms.ser_collo
|
||||
AND mt.num_collo = ms.num_collo
|
||||
LEFT OUTER JOIN mtb_partita_mag mpm
|
||||
ON inv.partita_mag = mpm.partita_mag AND inv.cod_mart = mpm.cod_mart) t
|
||||
WHERE [filter]),
|
||||
TempCount AS (SELECT COUNT(*) AS count,
|
||||
SUM(qta_col) AS SUM_qta_col,
|
||||
SUM(num_cnf) AS SUM_num_cnf,
|
||||
SUM(peso_netto_kg) AS SUM_peso_netto_kg,
|
||||
SUM(peso_lordo_kg) AS SUM_peso_lordo_kg
|
||||
FROM TempResult)
|
||||
SELECT TempResult.*,
|
||||
TempCount.*
|
||||
FROM TempResult,
|
||||
|
||||
@@ -778,21 +778,6 @@ class MonitoraggioLineeV2 {
|
||||
return $Ret;
|
||||
}
|
||||
|
||||
public static function getSemolaRam($key) {
|
||||
$Query = new Query;
|
||||
$Query->importSqlFile("getSemolaRam")
|
||||
->setVar("cod_mart", $key["cod_mart"])
|
||||
->setVar("partita_mag", $key["partita_mag"]);
|
||||
|
||||
$Ret = $Query->firstRowFirstValue()->toRet()->execute();
|
||||
|
||||
if ($Ret->is_KO()) {
|
||||
$Ret->set_error("Ordine non valido");
|
||||
}
|
||||
|
||||
return $Ret;
|
||||
}
|
||||
|
||||
public static function save_udc($data) {
|
||||
$order = $data;
|
||||
$handler = OrderEventHandler::loadCustomHandler($order);
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
SELECT val_carat
|
||||
FROM mtb_partita_mag_carat
|
||||
WHERE cod_mart = '[cod_mart]'
|
||||
AND partita_mag = '[partita_mag]'
|
||||
AND carat = N'Quantità semola (KG)'
|
||||
@@ -1134,9 +1134,9 @@ class Mrp {
|
||||
"title" => sprintf("%s", $ordine["codProd"]),
|
||||
"subtitle" => sprintf("N. Colli: %s", $ordine["numCnf"]),
|
||||
"description" => sprintf("%s", $ordine["descrizioneProd"]),
|
||||
"durata" => sprintf("%s h %s m", floor($ordine["runTimeSec"] / 3600), round(($ordine["runTimeSec"] / 60) % 60)),
|
||||
"durata" => array_key_exists("runTimeSec", $ordine) ? sprintf("%s h %s m", floor($ordine["runTimeSec"] / 3600), round(($ordine["runTimeSec"] / 60) % 60)) : 0,
|
||||
"start" => $ordine["dataOrdProd"],
|
||||
"runTimeSec" => $ordine["runTimeSec"],
|
||||
"runTimeSec" => array_get($ordine, "runTimeSec", 0),
|
||||
"end" => $ordine["dataOrdProd"],
|
||||
"stato" => $ordine["stato"],
|
||||
"avgCtTime" => ($ordine["numPezzi"] - $ordine["pzTrasferiti"]) / (isset($ordine["prodStd"]) && $ordine["prodStd"] != 0 ? $ordine["prodStd"] : 1),
|
||||
|
||||
@@ -341,6 +341,7 @@ class Post {
|
||||
$JtbRlavr->insert()
|
||||
->setDate("dataLav", $rapp["key"]["data_lav"])
|
||||
->set("codJflav", $rapp["key"]["cod_jflav"])
|
||||
->set("activityId", $data["activity_id"])
|
||||
->setDatetime("daOra", $rapp["da_ora"])
|
||||
->set("note", "E");
|
||||
$JtbRlavt->set("jtbRlavr")->append($JtbRlavr);
|
||||
@@ -350,6 +351,7 @@ class Post {
|
||||
$JtbRlavr->insert()
|
||||
->setDate("dataLav", $rapp["key"]["data_lav"])
|
||||
->set("codJflav", $rapp["key"]["cod_jflav"])
|
||||
->set("activityId", $data["activity_id"])
|
||||
->setDatetime("aOra", $rapp["a_ora"])
|
||||
->set("note", "U");
|
||||
$JtbRlavt->set("jtbRlavr")->append($JtbRlavr);
|
||||
@@ -358,6 +360,7 @@ class Post {
|
||||
$QueryB = new \Query;
|
||||
$QueryB->delete("jtb_rlavr")
|
||||
->where("cod_jflav", $rapp["key"]["cod_jflav"])
|
||||
->where("activity_id", $data["activity_id"])
|
||||
->whereDate("data_lav", $rapp["key"]["data_lav"])
|
||||
->where("note", array("E", "U"));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user