Merge branch 'develop' into feature/RossoGargano_DeliveryPlan_FixFiltriEModificheGrafiche
This commit is contained in:
@@ -217,7 +217,7 @@ export default class PopupCreaViaggio extends BasePopup {
|
||||
|
||||
return $btn;
|
||||
},
|
||||
dataBound: (e) => e.sender.list.find(".k-list-optionlabel").hide(),
|
||||
dataBound: (e) => e.sender.list.find(".k-list-optionlabel").text("Rimuovi"),
|
||||
dataSource: {
|
||||
sort: {
|
||||
field: "ragSoc",
|
||||
@@ -275,7 +275,7 @@ export default class PopupCreaViaggio extends BasePopup {
|
||||
dataValueField: "codAuto",
|
||||
optionLabel: "Seleziona l'automezzo",
|
||||
valuePrimitive: true,
|
||||
dataBound: (e) => e.sender.list.find(".k-list-optionlabel").hide(),
|
||||
dataBound: (e) => e.sender.list.find(".k-list-optionlabel").text("Rimuovi"),
|
||||
dataSource: {
|
||||
sort: {
|
||||
field: "descrizione",
|
||||
|
||||
@@ -1088,10 +1088,17 @@ export default class PopupRiepGiorno extends BasePopup {
|
||||
type: "number",
|
||||
template: ({qta_esistente}) => qta_esistente && numberStyle(qta_esistente) || "",
|
||||
},
|
||||
{
|
||||
field: "qta_residua",
|
||||
title: "Qtà residua",
|
||||
type: "number",
|
||||
template: ({qta_residua}) => qta_residua && numberStyle(qta_residua, qta_residua < 0 && "negative" || undefined) || "",
|
||||
},
|
||||
{
|
||||
field: "ammanco",
|
||||
title: "Ammanco",
|
||||
type: "number",
|
||||
hidden: true,
|
||||
template: ({ammanco}) => ammanco && numberStyle(ammanco, ammanco && "negative" || undefined) || "",
|
||||
}
|
||||
]);
|
||||
|
||||
@@ -87,7 +87,8 @@ WITH art AS (SELECT cod_mart, cod_mart AS cod_mart_mov, descrizione
|
||||
INNER JOIN mtb_aart ON promo.cod_marT = mtb_aart.cod_mart
|
||||
LEFT OUTER JOIN tmp_ord ordini ON promo.cod_vlis = ordini.cod_vlis AND
|
||||
promo.cod_mart = ordini.cod_mart AND
|
||||
ordini.data_ord BETWEEN promo.data_iniz AND promo.data_fine) t
|
||||
ordini.data_ord BETWEEN promo.data_iniz AND promo.data_fine
|
||||
WHERE promo.flag_tipo_promo = 'T') t
|
||||
WHERE [filter]),
|
||||
TempCount AS (SELECT COUNT(*) AS rows_count
|
||||
FROM TempResult)
|
||||
|
||||
@@ -46,11 +46,26 @@ class ContoEconomicoProdotto {
|
||||
return $gestSetup->section("VERIFICA_AGGIORNAMENTO_PREZZI")->keySection("USA_COSTO_MERC")->asBoolean()->defaultValue(false)->get();
|
||||
}
|
||||
|
||||
public static function getFiltroCodMgrp() {
|
||||
$gestSetup = new GestSetup();
|
||||
return $gestSetup->section("CONTO_ECONOMICO_PRODOTTO")->keySection("FILTRO_COD_MGRP")->get();
|
||||
}
|
||||
|
||||
public static function getFiltroTipoMgrp() {
|
||||
$gestSetup = new GestSetup();
|
||||
return $gestSetup->section("CONTO_ECONOMICO_PRODOTTO")->keySection("FILTRO_TIPO_MGRP")->get();
|
||||
}
|
||||
|
||||
public static function getTipoRagguppamento() {
|
||||
$GestSetup = new \GestSetup;
|
||||
return $GestSetup->section("CONTO_ECONOMICO_PRODOTTO")->keySection("TIPO_RAGGRUPPAMENTO")->defaultValue("T")->get();
|
||||
}
|
||||
|
||||
public static function isPrzBaseDaDist() {
|
||||
$GestSetup = new GestSetup();
|
||||
return $GestSetup->section("CONTO_ECONOMICO_PRODOTTO")->keySection("PRZ_BASE_DA_DIST")->defaultValue(false)->asBoolean()->get();
|
||||
}
|
||||
|
||||
public static function get_contattiListino($codVlis) {
|
||||
$Query = new Query;
|
||||
return $Query->importSqlFile("list-contatti-listino")->setVar("cod_vlis", $codVlis)->toRet()->execute();
|
||||
@@ -115,6 +130,18 @@ class ContoEconomicoProdotto {
|
||||
$query->sql .= "\nORDER BY 2, 1";
|
||||
}
|
||||
|
||||
$filtroCodMgrp = ContoEconomicoProdotto::getFiltroCodMgrp();
|
||||
|
||||
if (isset($filtroCodMgrp)) {
|
||||
$query
|
||||
->setVar("tipoFiltro", "FILTRO_COD_MGRP")
|
||||
->setVar("joinFiltro", "mtb_aart.cod_mgrp = stp.value_string");
|
||||
} else {
|
||||
$query
|
||||
->setVar("tipoFiltro", "FILTRO_TIPO_MGRP")
|
||||
->setVar("joinFiltro", "mg.tipo_mgrp = stp.value_string");
|
||||
}
|
||||
|
||||
return $query->toRet()->execute();
|
||||
}
|
||||
|
||||
@@ -151,7 +178,8 @@ class ContoEconomicoProdotto {
|
||||
$queryInterna->importSqlFile("list-articoli-listino_interna")
|
||||
->setVar("cod_vlis", $codVlis)
|
||||
->setDateVar("data_validita", $dataValidita)
|
||||
->setVar("tipo_ragg", ContoEconomicoProdotto::getTipoRagguppamento());
|
||||
->setVar("tipo_ragg", ContoEconomicoProdotto::getTipoRagguppamento())
|
||||
->setVar("przBaseDaDist", ContoEconomicoProdotto::isPrzBaseDaDist());
|
||||
|
||||
if (isset($data["cod_mart"])) {
|
||||
$queryInterna->setVar("cod_mart", $data["cod_mart"])
|
||||
|
||||
@@ -11,11 +11,12 @@ SELECT mtb_aart.cod_mart,
|
||||
IIF(mtb_aart.data_ult_scar > mtb_aart.data_ult_car, YEAR(mtb_aart.data_ult_scar),
|
||||
YEAR(mtb_aart.data_ult_car)) AS anno_ult_mov
|
||||
FROM mtb_aart
|
||||
INNER JOIN (SELECT value_string AS cod_mgrp
|
||||
FROM dbo.parseStringIntoArray(
|
||||
dbo.getGestSetup('PVM', 'CONTO_ECONOMICO_PRODOTTO', 'FILTRO_COD_MGRP'), '|')) stp
|
||||
ON mtb_aart.cod_mgrp = stp.cod_mgrp
|
||||
INNER JOIN mtb_grup mg ON mtb_aart.cod_mgrp = mg.cod_mgrp
|
||||
INNER JOIN mtb_sgrp ms ON mtb_aart.cod_mgrp = ms.cod_mgrp AND mtb_aart.cod_msgr = ms.cod_msgr
|
||||
INNER JOIN (SELECT value_string
|
||||
FROM dbo.parseStringIntoArray(
|
||||
dbo.getGestSetup('PVM', 'CONTO_ECONOMICO_PRODOTTO', '[tipoFiltro]'), '|')) stp
|
||||
ON [joinFiltro]-- mtb_aart.cod_mgrp = stp.cod_mgrp
|
||||
LEFT OUTER JOIN dbo.getListinoVendita(NULL, ISNULL('[codVlis]', NULL), NULL) listino
|
||||
ON mtb_aart.cod_mart = listino.cod_mart
|
||||
AND listino.tipo_variazione <> 'D'
|
||||
|
||||
@@ -1,31 +1,32 @@
|
||||
SELECT listino.cod_mart + '-' + listino.cod_vlis + '-' + CAST(listino.versione AS VARCHAR) + '-' +
|
||||
CAST(mlds.da AS VARCHAR) + ':' +
|
||||
CAST(mlds.a AS VARCHAR) AS id,
|
||||
CAST(mlds.a AS VARCHAR) AS id,
|
||||
case '[tipo_ragg]'
|
||||
when 'T' THEN ISNULL(mtb_aart.cod_mtip, '')
|
||||
when 'G' THEN mtb_aart.cod_mgrp
|
||||
ELSE '' END AS cod_mtip,
|
||||
ELSE '' END AS cod_mtip,
|
||||
case '[tipo_ragg]'
|
||||
when 'T' THEN ISNULL(mtb_tipi.descrizione, '')
|
||||
when 'G' THEN mtb_grup.descrizione
|
||||
ELSE '' END AS descr_tipi,
|
||||
ELSE '' END AS descr_tipi,
|
||||
case '[tipo_ragg]'
|
||||
when 'T' THEN ISNULL(mtb_aart.cod_mstp, '')
|
||||
when 'G' THEN mtb_aart.cod_mgrp
|
||||
ELSE '' END AS cod_mstp,
|
||||
ELSE '' END AS cod_mstp,
|
||||
case '[tipo_ragg]'
|
||||
when 'T' THEN ISNULL(mtb_stip.descrizione, '')
|
||||
when 'G' THEN mtb_sgrp.descrizione
|
||||
ELSE '' END AS descr_stipi,
|
||||
ELSE '' END AS descr_stipi,
|
||||
data_iniz,
|
||||
listino.descrizione AS descr_listino,
|
||||
listino.descrizione AS descr_listino,
|
||||
listino.cod_mart,
|
||||
IsNull(mtb_aart.descrizione_estesa, mtb_aart.descrizione) AS descr_articolo,
|
||||
listino.cod_mart + ' ' + mtb_aart.descrizione AS info_articolo,
|
||||
IsNull(mtb_aart.descrizione_estesa, mtb_aart.descrizione) AS descr_articolo,
|
||||
listino.cod_mart + ' ' + mtb_aart.descrizione AS info_articolo,
|
||||
listino.unt_mis_ven,
|
||||
listino.prz_vend,
|
||||
listino.magg_prz_vend,
|
||||
listino.prz_base AS costo,
|
||||
IIF('[przBaseDaDist]' = 0 OR jc.prezzo_base IS NULL OR jc.prezzo_base = 0, listino.prz_base,
|
||||
jc.prezzo_base) AS costo,
|
||||
listino.perc_prov,
|
||||
listino.perc_promo,
|
||||
listino.ricarico,
|
||||
@@ -34,44 +35,45 @@ SELECT listino.cod_mart + '-' + listino.cod_vlis + '-' + CAST(listino.versione A
|
||||
mum.tipo_um,
|
||||
mtb_aart.unt_mis2,
|
||||
mtb_aart.rap_conv2,
|
||||
mum2.tipo_um AS tipo_um2,
|
||||
mum2.tipo_um AS tipo_um2,
|
||||
mtb_aart.unt_mis3,
|
||||
mtb_aart.rap_conv3,
|
||||
mum3.tipo_um AS tipo_um3,
|
||||
mum3.tipo_um AS tipo_um3,
|
||||
mtb_aart.peso_kg,
|
||||
mlds.da,
|
||||
mlds.a,
|
||||
listino.flag_add_trasp,
|
||||
calcoli.costo_trasp AS costo_trasp,
|
||||
mlds.perc_sconto AS sconto_trasp,
|
||||
calcoli.costo_trasp AS costo_trasp,
|
||||
mlds.perc_sconto AS sconto_trasp,
|
||||
listino.colli_pedana,
|
||||
listino.cod_tcol_UL,
|
||||
mtb_tcol.descrizione AS descr_pedana,
|
||||
mtb_tcol.descrizione AS descr_pedana,
|
||||
ROUND(listino.prz_vend_netto * (1 - ISNULL(vtb_clie.sconto1, 0) / 100) * (1 - ISNULL(vtb_clie.sconto2, 0) / 100),
|
||||
2) AS prezzo,
|
||||
2) AS prezzo,
|
||||
ROUND(listino.prz_vend_netto * (1 - ISNULL(vtb_clie.sconto1, 0) / 100) *
|
||||
(1 - ISNULL(vtb_clie.sconto2, 0) / 100) / listino.rap_conv /
|
||||
CASE WHEN mtb_aart.peso_kg = 0 THEN 1 ELSE mtb_aart.peso_kg END, 2) AS prezzo_kg,
|
||||
CASE WHEN mtb_aart.peso_kg = 0 THEN 1 ELSE mtb_aart.peso_kg END,
|
||||
2) AS prezzo_kg,
|
||||
ROUND(listino.prz_base / listino.rap_conv / CASE WHEN mtb_aart.peso_kg = 0 THEN 1 ELSE mtb_aart.peso_kg END,
|
||||
2) AS costo_kg,
|
||||
vtb_clie.sconto1 AS sconto_clie,
|
||||
listino.perc_sco1 AS sconto_1,
|
||||
listino.perc_sco2 AS sconto_2,
|
||||
listino.perc_sco3 AS sconto_3,
|
||||
listino.perc_sco4 AS sconto_4,
|
||||
2) AS costo_kg,
|
||||
vtb_clie.sconto1 AS sconto_clie,
|
||||
listino.perc_sco1 AS sconto_1,
|
||||
listino.perc_sco2 AS sconto_2,
|
||||
listino.perc_sco3 AS sconto_3,
|
||||
listino.perc_sco4 AS sconto_4,
|
||||
listino.versione,
|
||||
listino.cod_vlis AS cod_anag,
|
||||
CAST(listino.descrizione_html AS VARCHAR(MAX)) AS descrizione_html,
|
||||
listino.cod_vlis AS cod_anag,
|
||||
CAST(listino.descrizione_html AS VARCHAR(MAX)) AS descrizione_html,
|
||||
listino.note,
|
||||
listino.system_note,
|
||||
CASE WHEN listino.system_note IS NULL THEN 'N' ELSE 'S' END AS has_storico,
|
||||
CASE WHEN listino.system_note IS NULL THEN 'N' ELSE 'S' END AS has_storico,
|
||||
(SELECT SUM(IIF(vlp.perc_fat_04 <> 0, vlp.perc_fat_04,
|
||||
(vlp.valore_fisso / IIF(vlp.fatturato_bdg <> 0, vlp.fatturato_bdg, 1)) * 100)) AS premio
|
||||
FROM vtb_list_premi vlp
|
||||
WHERE '[data_validita]' BETWEEN vlp.da_data_fat AND vlp.a_data_fat
|
||||
AND vlp.cod_vlis = listino.cod_vlis) AS premio,
|
||||
mtb_tipi.descrizione AS tipo,
|
||||
mtb_stip.descrizione AS sottotipo,
|
||||
AND vlp.cod_vlis = listino.cod_vlis) AS premio,
|
||||
mtb_tipi.descrizione AS tipo,
|
||||
mtb_stip.descrizione AS sottotipo,
|
||||
mtb_aart.cod_tcol_ui,
|
||||
mtb_aart.marchio
|
||||
FROM dbo.getListinoVendita('[data_validita]', '[cod_vlis]', '[cod_mart]') listino
|
||||
@@ -100,6 +102,7 @@ FROM dbo.getListinoVendita('[data_validita]', '[cod_vlis]', '[cod_mart]') listin
|
||||
LEFT OUTER JOIN mtb_tipi ON mtb_aart.cod_mtip = mtb_tipi.cod_mtip
|
||||
LEFT OUTER JOIN mtb_stip ON mtb_aart.cod_mtip = mtb_stip.cod_mtip AND
|
||||
mtb_aart.cod_mstp = mtb_stip.cod_mstp
|
||||
LEFT OUTER JOIN jtb_cicl jc ON mtb_aart.cod_mart = jc.cod_prod
|
||||
OUTER APPLY (SELECT ROUND(mlds.val_ricarico / listino.colli_pedana /
|
||||
IIF(mum_vend.tipo_um = 'UP', listino.qta_cnf, 1)
|
||||
+ mlds.val_ricarico * mlds.perc_ricarico / 100
|
||||
|
||||
@@ -426,7 +426,9 @@ if ($ret->is_OK()) {
|
||||
<select name="cod_vvet" class="form-control input-sm" autocomplete="off">
|
||||
<option value="">Non selezionato</option>
|
||||
<?php foreach ($arr_vettori as $item) { ?>
|
||||
<option value="<?= $item["cod_vvet"] ?>"><?= $item["rag_soc"] ?></option>
|
||||
<option value="<?= $item["cod_vvet"] ?>">
|
||||
<?= array_get($item, "rag_soc") ?>
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -29,7 +29,8 @@ WITH Consegne AS (SELECT mtb_aart.cod_msgr,
|
||||
TempResult AS (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS row_number,
|
||||
*
|
||||
FROM (SELECT Consegne.*,
|
||||
ISNULL(Giacenze.qta_esistente, 0) as qta_esistente,
|
||||
ISNULL(Giacenze.qta_esistente, 0) AS qta_esistente,
|
||||
ISNULL(Giacenze.qta_esistente, 0) - Consegne.tot_colli AS qta_residua,
|
||||
IIF(Consegne.tot_colli < ISNULL(Giacenze.qta_esistente, 0), 0,
|
||||
Consegne.tot_colli - ISNULL(Giacenze.qta_esistente, 0)) AS ammanco
|
||||
FROM Consegne
|
||||
|
||||
@@ -67,7 +67,7 @@ FROM (SELECT IIF(vv.id_viaggio IS NULL, 0, 1)
|
||||
AND dor.data_ord = dot.data_ord
|
||||
AND dor.num_ord = dot.num_ord
|
||||
INNER JOIN gtb_anag ga ON dot.cod_anag = ga.cod_anag
|
||||
LEFT OUTER JOIN mtb_aart ma ON dor.cod_mart = ma.cod_mart
|
||||
INNER JOIN mtb_aart ma ON dor.cod_mart = ma.cod_mart
|
||||
LEFT OUTER JOIN mtb_grup mg ON ma.cod_mgrp = mg.cod_mgrp
|
||||
LEFT OUTER JOIN vtb_viaggi vv ON dor.id_viaggio = vv.id_viaggio
|
||||
LEFT OUTER JOIN vtb_vett vett ON vv.cod_vvet = vett.cod_vvet
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 25 KiB |
@@ -411,7 +411,9 @@ export default class ListiniVendita extends TabsViewModule {
|
||||
field: "peso_kg",
|
||||
title: "Peso Kg",
|
||||
type: "number",
|
||||
template: ({qta_cnf}) => numberStyle(qta_cnf),
|
||||
template: ({peso_kg}) => numberStyle(peso_kg, undefined, {
|
||||
precision: 4
|
||||
}),
|
||||
filterable: {
|
||||
extra: false,
|
||||
operators: {
|
||||
@@ -502,11 +504,14 @@ export default class ListiniVendita extends TabsViewModule {
|
||||
dir: "asc"
|
||||
}
|
||||
],
|
||||
filter: Object.entries(data).filter(([, value]) => value).map(([key, value]) => ({
|
||||
field: key,
|
||||
operator: "eq",
|
||||
value
|
||||
})),
|
||||
filter: Object.entries(data)
|
||||
.filter(([, value]) => value)
|
||||
.filter(([key]) => columns.map(column => column.field).includes(key))
|
||||
.map(([key, value]) => ({
|
||||
field: key,
|
||||
operator: "eq",
|
||||
value
|
||||
})),
|
||||
serverPaging: false,
|
||||
serverFiltering: false,
|
||||
serverSorting: false
|
||||
|
||||
@@ -11,7 +11,8 @@ class ModalMrp {
|
||||
array("id" => "mediaConsumi", "data" => self::getMediaConsumi()),
|
||||
array("id" => "codMartMiscela", "data" => self::getCodMartMiscela()),
|
||||
array("id" => "checkDisponibilitaMP", "data" => self::getCheckDisponibilitaMP()),
|
||||
array("id" => "daysForWarning", "data" => self::daysForWarning())
|
||||
array("id" => "daysForWarning", "data" => self::daysForWarning()),
|
||||
array("id" => "flagAttivaSelezioneMultiplaOrdV", "data" => self::flagAttivaSelezioneMultiplaOrdV())
|
||||
);
|
||||
|
||||
if ($Ret->is_OK()) {
|
||||
@@ -218,6 +219,12 @@ class ModalMrp {
|
||||
return $gestSetup->section("MRP")->keySection("DAYS_FOR_WARNING")->asInt()->get();
|
||||
}
|
||||
|
||||
public static function flagAttivaSelezioneMultiplaOrdV() {
|
||||
$gestSetup = new GestSetup();
|
||||
|
||||
return $gestSetup->section("MRP")->keySection("ATTIVA_SELEZIONE_MULTIPLA_ORDV")->asBoolean()->get();
|
||||
}
|
||||
|
||||
public static function getDepositoArrivo() {
|
||||
$Ret = StdUtils::getListDepositiAziendali();
|
||||
if ($Ret->is_OK()) {
|
||||
|
||||
@@ -440,6 +440,7 @@ PopupOrdProd.prototype._setEvents = function () {
|
||||
const checked = $("input[id=cod_jcom]:checked:first");
|
||||
const firstRow = _ojbc.B64JSON_parse($(checked).parents("tr").attr("data-row"));
|
||||
const assegnaQtaColDaOrdiniV = _modalMrp.module.get_dataSource("assegnaQtaColDaOrdiniV");
|
||||
const flagAttivaSelezioneMultiplaOrdV = _modalMrp.module.get_dataSource("flagAttivaSelezioneMultiplaOrdV");
|
||||
|
||||
if (assegnaQtaColDaOrdiniV && firstRow) {
|
||||
$colliPedana.val(firstRow.colli_pedana);
|
||||
@@ -455,13 +456,17 @@ PopupOrdProd.prototype._setEvents = function () {
|
||||
.toArray()
|
||||
.reduce((a, b) => a + b, 0);
|
||||
|
||||
$("input[id=cod_jcom]:not(:checked)")
|
||||
.each((index, elem) => {
|
||||
const $el = $(elem);
|
||||
const row = _ojbc.B64JSON_parse($el.parents("tr").attr("data-row"));
|
||||
$("input[id=cod_jcom]:not(:checked)").each((index, elem) => {
|
||||
const $el = $(elem);
|
||||
const row = _ojbc.B64JSON_parse($el.parents("tr").attr("data-row"));
|
||||
let disabled = false;
|
||||
|
||||
$el.prop("disabled", (firstRow && (row.cod_tcol_ul !== firstRow.cod_tcol_ul || row.colli_pedana !== firstRow.colli_pedana)) || false);
|
||||
});
|
||||
if (firstRow && (!flagAttivaSelezioneMultiplaOrdV || row.cod_tcol_ul !== firstRow.cod_tcol_ul || row.colli_pedana !== firstRow.colli_pedana)) {
|
||||
disabled = true;
|
||||
}
|
||||
|
||||
$el.prop("disabled", disabled);
|
||||
});
|
||||
|
||||
if (assegnaQtaColDaOrdiniV) {
|
||||
$qtaProd.val(sumNumCnf).trigger("change");
|
||||
|
||||
@@ -1048,24 +1048,25 @@ class MonitoraggioLineeV2 {
|
||||
}
|
||||
|
||||
public static function cambioDataProduzione(array $data) {
|
||||
$Ret = self::get_ordineLav($data["key"]);
|
||||
if ($Ret->is_OK()) {
|
||||
$ordineLav = $Ret->get_data();
|
||||
$ret = self::get_ordineLav($data["key"]);
|
||||
|
||||
if ($Ret->is_OK()) {
|
||||
$Ret = self::updateOrdLav($data, $ordineLav, $ordineLav["last_id_step"] !== 0);
|
||||
if ($ret->is_OK()) {
|
||||
$ordineLav = $ret->get_data();
|
||||
|
||||
if ($ret->is_OK()) {
|
||||
$ret = self::updateOrdLav($data, $ordineLav, $ordineLav["last_id_step"] !== 0);
|
||||
}
|
||||
|
||||
if ($Ret->is_OK() && !($ordineLav["last_id_step"] !== 0)) {
|
||||
if ($ret->is_OK() && !($ordineLav["last_id_step"] !== 0)) {
|
||||
$data["key"]["data_ord"] = $data["data_prod"];
|
||||
}
|
||||
|
||||
if ($Ret->is_OK()) {
|
||||
$Ret = self::get_ordineLav($data["key"]);
|
||||
if ($ret->is_OK()) {
|
||||
$ret = self::get_ordineLav($data["key"]);
|
||||
}
|
||||
}
|
||||
|
||||
return $Ret;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public static function insertPartitaMag(array $data) {
|
||||
@@ -1595,20 +1596,14 @@ GROUP BY mtb_colt.gestione,
|
||||
|
||||
public static function updateOrdLav($data, $ordineLav, $productionStarted = false) {
|
||||
$orderLavKey = $data["key"];
|
||||
$rigaOrdRif = $ordineLav["riga_ord_rif"];
|
||||
$codJfasPrev = $data["cod_jfas_corrente"];
|
||||
$codJfas = array_key_exists("cod_jfas", $data) ? $data["cod_jfas"] : $codJfasPrev;
|
||||
$newDataOrd = $data["data_prod"];
|
||||
$ordProdKeyPrec = array(
|
||||
"gestione" => $ordineLav["gestione_rif"],
|
||||
"data_ord" => $ordineLav["data_ord_rif"],
|
||||
"num_ord" => $ordineLav["num_ord_rif"]
|
||||
);
|
||||
|
||||
$ordProdKey = array(
|
||||
"gestione" => $ordProdKeyPrec["gestione"],
|
||||
"gestione" => $ordineLav["gestione_rif"],
|
||||
"data_ord" => $newDataOrd,
|
||||
"num_ord" => $ordProdKeyPrec["num_ord"]
|
||||
"num_ord" => $ordineLav["num_ord_rif"]
|
||||
);
|
||||
|
||||
$dataOrdLav = $orderLavKey["data_ord"];
|
||||
@@ -1622,47 +1617,71 @@ GROUP BY mtb_colt.gestione,
|
||||
|
||||
$EntityList = new EntityList;
|
||||
|
||||
$OrdLav = new EntityItem("dtb_ordt");
|
||||
$OrdLav->update()
|
||||
$ordLav = new EntityItem("dtb_ordt");
|
||||
$ordLav->update()
|
||||
->setDate("dataOrd", $dataOrdLav)
|
||||
->set("gestione", $gestioneLav)
|
||||
->set("numOrd", $numOrdLav);
|
||||
|
||||
if (!$productionStarted) {
|
||||
$OrdLav->setDate("dataInizProd", $newDataOrd)
|
||||
->setDate("dataCons", $newDataOrd);
|
||||
$ordLav
|
||||
->setDate("dataInizProd", $newDataOrd)
|
||||
->setDate("dataConsProd", $newDataOrd);
|
||||
|
||||
$query = new Query();
|
||||
$query->importSqlFile("getDtbOrdr")
|
||||
->setDateVar("data_ord", $dataOrdLav)
|
||||
->setVar("gestione", $gestioneLav)
|
||||
->setVar("num_ord", $numOrdLav);
|
||||
|
||||
$righeOrdine = $query->toRet(false)->execute();
|
||||
|
||||
foreach ($righeOrdine as $rigaOrdine) {
|
||||
$dtbOrdr = new EntityItem("dtb_ordr");
|
||||
$dtbOrdr->update()
|
||||
->set("rigaOrd", $rigaOrdine["riga_ord"])
|
||||
->setDate("dataCons", $newDataOrd);
|
||||
|
||||
$ordLav->set("dtbOrdr")->append($dtbOrdr);
|
||||
}
|
||||
}
|
||||
|
||||
if (array_key_exists("cod_jfas_testata", $data) && $data["cod_jfas_testata"] != $codJfasPrev) {
|
||||
$OrdLav->set("codJfas", $codJfas);
|
||||
$ordLav->set("codJfas", $codJfas);
|
||||
}
|
||||
|
||||
// CAMBIO ORDINE DI PRODUZIONE
|
||||
$ordineLavEdited = $ordineLav;
|
||||
$ordineLavEdited["data_ord_rif"] = $newDataOrd;
|
||||
$ordineLavEdited["cod_jfas"] = $codJfas;
|
||||
$Ret = Mrp::findOrdineProd($ordineLavEdited);
|
||||
if ($Ret->is_OK()) {
|
||||
$ordProdKey = $Ret->get_data();
|
||||
$ret = Mrp::findOrdineProd($ordineLavEdited);
|
||||
|
||||
if ($ret->is_OK()) {
|
||||
$ordProdKey = $ret->get_data();
|
||||
|
||||
if (is_null($ordProdKey)) { // CREO ORDINE DI PRODUZIONE
|
||||
$Ret = Mrp::insertOrdProd($ordineLavEdited);
|
||||
if ($Ret->is_OK()) {
|
||||
$ret = Mrp::insertOrdProd($ordineLavEdited);
|
||||
|
||||
if ($ret->is_OK()) {
|
||||
$flagInsertedOrdProd = true;
|
||||
$ordProdKey = $Ret->get_data();
|
||||
$ordProdKey = $ret->get_data();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($Ret->is_KO()) {
|
||||
return $Ret;
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
if ($flagEditedCodJfas) {
|
||||
if ($productionStarted) {
|
||||
$Ret = self::getLastStepOrder($orderLavKey, $data["cod_jfas_corrente"]);
|
||||
if ($Ret->is_KO()) {
|
||||
return $Ret;
|
||||
$ret = self::getLastStepOrder($orderLavKey, $data["cod_jfas_corrente"]);
|
||||
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
$lastStep = $Ret->get_data();
|
||||
|
||||
$lastStep = $ret->get_data();
|
||||
// se la produzione è stata parzialmente avviata creiamo un nuovo step sulla nuova linea
|
||||
|
||||
$dtbOrdStep = new EntityItem("dtb_ord_steps");
|
||||
@@ -1676,10 +1695,8 @@ GROUP BY mtb_colt.gestione,
|
||||
}
|
||||
|
||||
$dtbOrdStepCurrent = clone $dtbOrdStep;
|
||||
|
||||
$dtbOrdStepCurrent->update()->set("flagStepAttivo", "N");
|
||||
|
||||
$OrdLav->set("dtbOrdSteps")->append($dtbOrdStepCurrent);
|
||||
$ordLav->set("dtbOrdSteps")->append($dtbOrdStepCurrent);
|
||||
|
||||
$dtbOrdStep
|
||||
->insert()
|
||||
@@ -1689,7 +1706,7 @@ GROUP BY mtb_colt.gestione,
|
||||
->set("codJfas", $codJfas)
|
||||
->set("flagStepAttivo", "S");
|
||||
|
||||
$OrdLav->set("dtbOrdSteps")->append($dtbOrdStep);
|
||||
$ordLav->set("dtbOrdSteps")->append($dtbOrdStep);
|
||||
} else {
|
||||
// AGGIORNA CODJFAS NEGLI STEPS
|
||||
$QueryB = new Query;
|
||||
@@ -1705,7 +1722,8 @@ GROUP BY mtb_colt.gestione,
|
||||
$EntityList->push($Entity);
|
||||
}
|
||||
}
|
||||
$EntityList->push($OrdLav);
|
||||
|
||||
$EntityList->push($ordLav);
|
||||
|
||||
// SOSTITUZIONE DATA_ORD IN ORD. LAV.
|
||||
if ($flagEditedDataOrd && (!$productionStarted)) {
|
||||
@@ -1736,14 +1754,13 @@ GROUP BY mtb_colt.gestione,
|
||||
$Entity->update()->set("nativeSql", $QueryB);
|
||||
$EntityList->push($Entity);
|
||||
|
||||
$Ret = $EntityList->send();
|
||||
$ret = $EntityList->send();
|
||||
|
||||
if ($Ret->is_KO() && $flagInsertedOrdProd) {
|
||||
if ($ret->is_KO() && $flagInsertedOrdProd) {
|
||||
OrdiniUtils::delete($ordProdKey);
|
||||
}
|
||||
|
||||
|
||||
return $Ret;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public static function getScarichiSemoleOrdine($key) {
|
||||
|
||||
@@ -989,14 +989,15 @@ export let _ordini = {
|
||||
});
|
||||
|
||||
$popoverCDBTip.find(".bt_updateDataOrdProd").off("click").on("click", function () {
|
||||
let newDataOrdProd = $dataOrdProd.getTimestampValue();
|
||||
let codJfas = $codJfas.val();
|
||||
const newDataOrdProd = $dataOrdProd.getTimestampValue();
|
||||
const codJfas = $codJfas.val();
|
||||
const key = {
|
||||
gestione: ordine.gestione,
|
||||
data_ord: ordine.dataOrd,
|
||||
num_ord: ordine.numOrd
|
||||
};
|
||||
let ajax = new Ajax();
|
||||
|
||||
const ajax = new Ajax();
|
||||
ajax.post("cambio_data_produzione")
|
||||
.data({
|
||||
key,
|
||||
@@ -1021,18 +1022,14 @@ export let _ordini = {
|
||||
.noticeAsModal()
|
||||
.waitToast()
|
||||
.onSuccess(function (ret) {
|
||||
let returnData = ret.returnData;
|
||||
let toast = new Toast();
|
||||
const returnData = ret.returnData;
|
||||
const toast = new Toast();
|
||||
|
||||
toast.success("L'ordine di lavoro n. <b>" + ordine.numOrd + "</b> è stato trasferito nella produzione n. " + returnData.num_ord_rif + " del " + returnData.data_ord_rif.unixtime_format("DD/MM/YYYY"));
|
||||
self.refresh_table();
|
||||
$btUpdateDataOrdProd.disabled();
|
||||
}).execute();
|
||||
}).disabled();
|
||||
|
||||
//self.autoRefresh.pause();
|
||||
}).on("hide.bs.popover", function () {
|
||||
//$popoverCDP.popover("destroy");
|
||||
// self.autoRefresh.start();
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
SELECT data_ord,
|
||||
num_ord,
|
||||
gestione,
|
||||
riga_ord
|
||||
FROM dtb_ordr
|
||||
WHERE data_ord = '[data_ord]'
|
||||
AND num_ord = [num_ord]
|
||||
AND gestione = '[gestione]'
|
||||
@@ -19,24 +19,29 @@ var _changeUserModule = {
|
||||
dataType: "json",
|
||||
delay: 250,
|
||||
transport: function (params, success, failure) {
|
||||
var ajax = new Ajax();
|
||||
const ajax = new Ajax();
|
||||
|
||||
ajax.get("src_user").noticeAsToast().data(params).onSuccess(success).onError(failure).execute()
|
||||
},
|
||||
processResults: function (data) {
|
||||
var results = data.returnData;
|
||||
const results = data.returnData;
|
||||
|
||||
_.each(results, function (state) {
|
||||
state.id = state.user_name;
|
||||
state.text = `${state.user_name} - ${state.full_name}`;
|
||||
});
|
||||
|
||||
return {results: results};
|
||||
},
|
||||
}
|
||||
});
|
||||
}).yesNo()
|
||||
})
|
||||
.yesNo()
|
||||
.btYes({
|
||||
text: "Conferma",
|
||||
onClick: () => {
|
||||
let ajax = new Ajax();
|
||||
const ajax = new Ajax();
|
||||
|
||||
ajax
|
||||
.post("changeUser")
|
||||
.data({"user_name": modal.$div.find("#changeUserSelect").val()})
|
||||
|
||||
Reference in New Issue
Block a user