Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
3
.idea/misc.xml
generated
3
.idea/misc.xml
generated
@@ -3,4 +3,7 @@
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="ES6" />
|
||||
</component>
|
||||
<component name="TaskProjectConfiguration">
|
||||
<server type="YouTrack" url="https://integry.myjetbrains.com/youtrack" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -31,4 +31,8 @@ class EntityArray {
|
||||
public function get_children() {
|
||||
return $this->children;
|
||||
}
|
||||
|
||||
public function count() {
|
||||
return count($this->children);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -690,18 +690,7 @@ class ModalMrp {
|
||||
$rapConvProd = $prodotto["rap_conv_prod"];
|
||||
$untMisProd = $prodotto["unt_mis_prod"];
|
||||
$codMdep = $codMdep ?: $deposito["cod_mdep"];
|
||||
//$arr_commesse = $data["commesse"];
|
||||
|
||||
$body = new EntityItem();
|
||||
// $EntityList = new EntityList;
|
||||
// if (!empty($partitaMag)) {
|
||||
// $MtbPartitaMag = new EntityItem("mtb_partita_mag");
|
||||
// $MtbPartitaMag->insert_or_update()
|
||||
// ->set("partitaMag", $partitaMag)
|
||||
// ->set("codMart", $codMart)
|
||||
// ->setDate("dataScad", $dataScad);
|
||||
// $EntityList->push($MtbPartitaMag);
|
||||
// }
|
||||
|
||||
// ORDINE DI PRODUZIONE
|
||||
$OrdProd = new EntityItem("dtb_ordt");
|
||||
@@ -751,43 +740,10 @@ class ModalMrp {
|
||||
->set("codTcolUl", $codTcolUl)
|
||||
->set("note", $note);
|
||||
|
||||
// if (isset($data["cod_jcom"])) {
|
||||
// $OrdLav->set("codJcom", $data["cod_jcom"]);
|
||||
// }
|
||||
/*
|
||||
if(count($arr_commesse)==1){
|
||||
$OrdLav->set("codJcom", $arr_commesse[0]);
|
||||
}*/
|
||||
$OrdProd->set("dtbOrdr")->append($OrdLav);
|
||||
|
||||
$body->set("ordine", $OrdProd, false, true);
|
||||
$body->set("ordiniSelezionati", array_get($data, "ordiniSelezionati"));
|
||||
// $EntityList->push($OrdProd);
|
||||
/*
|
||||
foreach($arr_commesse as $codJcom){ // AGGIORNO LA PARTITA SULLE RIGHE DEGLI ORDINI AGGANCIATI ALLE COMMESSE SELEZIONATE
|
||||
$query = new Query;
|
||||
$query->select("data_ord", "num_ord", "riga_ord")
|
||||
->from("dtb_ordr")
|
||||
->where("gestione", "V")
|
||||
->where("cod_jcom", $codJcom)
|
||||
->where("cod_mart", $codMart);
|
||||
$Ret = $query->toRet()->execute();
|
||||
if($Ret->is_OK()){
|
||||
$arr_ordini = $Ret->get_data();
|
||||
foreach($arr_ordini as $ordine){
|
||||
$DtbOrdr = new EntityItem("dtb_ordr");
|
||||
$DtbOrdr->update()
|
||||
->set("partitaMag", $partitaMag)
|
||||
->set("gestione", "V")
|
||||
->setDate("dataOrd", $ordine["data_ord"])
|
||||
->set("numOrd", $ordine["num_ord"])
|
||||
->set("rigaOrd", $ordine["riga_ord"]);
|
||||
$EntityList->push($DtbOrdr);
|
||||
}
|
||||
} else{
|
||||
return $Ret;
|
||||
}
|
||||
}*/
|
||||
|
||||
$imsApi = new IMSApi();
|
||||
|
||||
@@ -880,12 +836,11 @@ class ModalMrp {
|
||||
$flagInsertedOrdProd = false;
|
||||
$flagEditedCodJfas = !in_array($codJfasPrev, $codJfas);
|
||||
$flagEditedDataOrd = Utility\Date\Day::diff($orderLavKey["data_ord"], $newDataOrd) !== 0;
|
||||
$partitaMag = array_get($data, "partita_mag");
|
||||
|
||||
$entityList = new EntityList;
|
||||
|
||||
if ($flagInCorso) {
|
||||
$partitaMag = array_get($data, "partita_mag");
|
||||
|
||||
if (isset($partitaMag)) {
|
||||
$mtbPartitaMag = new EntityItem("mtb_partita_mag");
|
||||
|
||||
@@ -986,8 +941,6 @@ class ModalMrp {
|
||||
$Entity->update()->set("nativeSql", $queryB);
|
||||
$entityList->push($Entity);
|
||||
|
||||
$partitaMag = array_get($data, "partita_mag");
|
||||
|
||||
if (isset($partitaMag)) {
|
||||
$mtbPartitaMag = new EntityItem("mtb_partita_mag");
|
||||
|
||||
@@ -1001,39 +954,53 @@ class ModalMrp {
|
||||
$entityList->push($mtbPartitaMag);
|
||||
}
|
||||
|
||||
if (isset($partitaMag) && $ordineLav["partita_mag"] != $partitaMag) {
|
||||
$dtbOrdt = new EntityItem("dtb_ordt");
|
||||
$dtbOrdt = new EntityItem("dtb_ordt");
|
||||
|
||||
$dtbOrdt
|
||||
->update()
|
||||
->set("gestione", $ordineLav["gestione"])
|
||||
->setDate("dataOrd", $ordineLav["data_ord"])
|
||||
->set("numOrd", $ordineLav["num_ord"])
|
||||
->set("codProd", $ordineLav["cod_prod"])
|
||||
->set("partitaMag", $data["partita_mag"])
|
||||
->set("descrizione", $data["note"]);
|
||||
$dtbOrdt
|
||||
->update()
|
||||
->set("gestione", $ordineLav["gestione"])
|
||||
->setDate("dataOrd", $ordineLav["data_ord"])
|
||||
->set("numOrd", $ordineLav["num_ord"])
|
||||
->set("codProd", $ordineLav["cod_prod"])
|
||||
->set("partitaMag", $data["partita_mag"])
|
||||
->set("descrizione", $data["note"]);
|
||||
|
||||
$ordiniSelezionati = array_get($data, "ordiniSelezionati", array());
|
||||
$entityArr = new EntityArray();
|
||||
|
||||
if (count($ordiniSelezionati) > 0) {
|
||||
$entityArr = new EntityArray();
|
||||
$ordiniSelezionati = array_get($data, "ordiniSelezionati", array());
|
||||
if (count($ordiniSelezionati) > 0) {
|
||||
foreach ($ordiniSelezionati as $ord) {
|
||||
$entity = new EntityItem("dtb_ordt");
|
||||
|
||||
foreach ($ordiniSelezionati as $ord) {
|
||||
$entity = new EntityItem("dtb_ordt");
|
||||
$entity
|
||||
->set("gestione", $ord["gestione"])
|
||||
->setDate("dataOrd", $ord["data_ord"])
|
||||
->set("numOrd", $ord["num_ord"]);
|
||||
|
||||
$entity
|
||||
->set("gestione", $ord["gestione"])
|
||||
->setDate("dataOrd", $ord["data_ord"])
|
||||
->set("numOrd", $ord["num_ord"]);
|
||||
|
||||
$entityArr->append($entity);
|
||||
}
|
||||
|
||||
$dtbOrdt->set("ordiniV", $entityArr, false, true);
|
||||
$entityArr->append($entity);
|
||||
}
|
||||
|
||||
$entityList->push($dtbOrdt);
|
||||
}
|
||||
|
||||
$ordiniDeselezionati = array_get($data, "ordiniDeselezionati", array());
|
||||
if (count($ordiniDeselezionati) > 0) {
|
||||
foreach ($ordiniDeselezionati as $ord) {
|
||||
$entity = new EntityItem("dtb_ordt");
|
||||
|
||||
$entity
|
||||
->set("gestione", $ord["gestione"])
|
||||
->setDate("dataOrd", $ord["data_ord"])
|
||||
->set("numOrd", $ord["num_ord"])
|
||||
->set("flagScollegaPartitaMag", true);
|
||||
|
||||
$entityArr->append($entity);
|
||||
}
|
||||
}
|
||||
|
||||
if ($entityArr->count() > 0) {
|
||||
$dtbOrdt->set("ordiniV", $entityArr, false, true);
|
||||
}
|
||||
|
||||
$entityList->push($dtbOrdt);
|
||||
}
|
||||
|
||||
$ret = $entityList->send();
|
||||
@@ -1070,7 +1037,8 @@ class ModalMrp {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public static function deleteOrd($data) {
|
||||
public
|
||||
static function deleteOrd($data) {
|
||||
$Ret = new Ret;
|
||||
$orderKey = $data["key"];
|
||||
$gestione = $orderKey["gestione"];
|
||||
@@ -1094,7 +1062,8 @@ class ModalMrp {
|
||||
return $Ret;
|
||||
}
|
||||
|
||||
public static function suggestDataScad($data) {
|
||||
public
|
||||
static function suggestDataScad($data) {
|
||||
$query = new Query;
|
||||
|
||||
return $query
|
||||
|
||||
@@ -28,7 +28,8 @@ ob_start();
|
||||
$fabbisogniArray = array();
|
||||
|
||||
foreach ($fabbisogni as $fabbisogno) {
|
||||
$fabbisogniArray[$fabbisogno["flag_sospeso"]][] = $fabbisogno;
|
||||
$key = $fabbisogno["partita_mag"] ? "PM" : $fabbisogno["flag_sospeso"];
|
||||
$fabbisogniArray[$key][] = $fabbisogno;
|
||||
}
|
||||
?>
|
||||
<table id="list-fabbisogniSospesi" class="table table-hover table-striped table-bordered table-text-middle small">
|
||||
@@ -63,10 +64,15 @@ ob_start();
|
||||
<td colspan="1" class="text-center"><?= number_format($sumFabb) ?></td>
|
||||
<td colspan="1"></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
foreach ($value as $fabbisogno) {
|
||||
?>
|
||||
<?php } else if ($key === 'PM') { ?>
|
||||
<tr class="danger">
|
||||
<td colspan="7" class="text-center">Ordini Pianificati in Produzione</td>
|
||||
<td colspan="1" class="text-center"><?= number_format($sumFabb) ?></td>
|
||||
<td colspan="1"></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php foreach ($value as $fabbisogno) { ?>
|
||||
<tr>
|
||||
<td class="text-center"><?= $fabbisogno["cod_mdep"] ?></td>
|
||||
<td class="text-center"><?= \Utility\Date::format($fabbisogno["data_cons"], "%d %B %Y") ?></td>
|
||||
@@ -80,10 +86,8 @@ ob_start();
|
||||
<td class="text-center"><?= $fabbisogno["qta_ord"] ?></td>
|
||||
<td class="text-center"><?= $fabbisogno["fabbisogno"] ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
</tfoot>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Utility\Date;
|
||||
|
||||
$codMdep = isset($data["deposito"]) ? $data["deposito"] : null;
|
||||
$codMart = isset($data["articolo"]) ? $data["articolo"] : null;
|
||||
$ret = new Ret();
|
||||
@@ -48,8 +51,8 @@ ob_start();
|
||||
data-qta="<?= $partita["qta"] ?>">
|
||||
<td class="text-center"><?= $partita["partita_mag"] ?></td>
|
||||
<td class="text-center"><?= $partita["desc_partita"] ?></td>
|
||||
<td class="text-center"><?= \Utility\Date::format($partita["data_scad"], Format::strftimeDMY) ?></td>
|
||||
<td class="text-center"><?= ($partita["flag_stato"] === "A") ? "<i style='color: green' class='fa fa-check'></i>" : "<i style='color: red' class='fa fa-times'></i>" ?></td>
|
||||
<td class="text-center"><?= array_get($partita, "data_scad") ? Date::format($partita["data_scad"], Format::strftimeDMY) : "" ?></td>
|
||||
<td class="text-center"><?= $partita["flag_stato"] === "A" ? "<i style='color: green' class='fa fa-check'></i>" : "<i style='color: red' class='fa fa-times'></i>" ?></td>
|
||||
<td class="text-center"><?= $partita["posizione"] ?></td>
|
||||
<td class="text-center"><?= $partita["TipoPedana"] ?></td>
|
||||
<td class="text-monospace text-center"><?= number_format($partita["pedane"], 0, '.', "'") ?></td>
|
||||
|
||||
@@ -54,7 +54,7 @@ if ($Ret->is_OK()) {
|
||||
$arr_ordiniV = from($arr_ordiniV)
|
||||
->where(function ($ordineV) use ($orderKey, $rigaOrdine) {
|
||||
return isset($orderKey) ?
|
||||
isset($ordineV["partita_mag"]) && $ordineV["partita_mag"] == $rigaOrdine["partita_mag"]
|
||||
(isset($ordineV["partita_mag"]) && $ordineV["partita_mag"] == $rigaOrdine["partita_mag"]) || is_null($ordineV["partita_mag"])
|
||||
: is_null($ordineV["partita_mag"]);
|
||||
})
|
||||
->toArray();
|
||||
@@ -254,13 +254,14 @@ if ($Ret->is_OK()) {
|
||||
<tbody>
|
||||
<?php
|
||||
$totColli = 0;
|
||||
|
||||
foreach ($arr_ordiniV as $ordineV) {
|
||||
$totColli += $ordineV["num_cnf"];
|
||||
?>
|
||||
<tr data-row="<?= Utility::B64JSON_stringify($ordineV) ?>">
|
||||
<td class="text-center">
|
||||
<input type="checkbox" id="cod_jcom"
|
||||
value="<?= $ordineV["cod_jcom"] ?>" <?= isset($orderKey) ? "disabled checked" : "" ?>
|
||||
<input type="checkbox" id="cod_jcom" value="<?= $ordineV["cod_jcom"] ?>"
|
||||
<?= isset($orderKey) && !is_null($ordineV["partita_mag"]) ? "checked" : "" ?>
|
||||
>
|
||||
</td>
|
||||
<td class="text-center"><?= $ordineV["num_ord"] ?>
|
||||
|
||||
@@ -16,6 +16,7 @@ function PopupOrdProd() {
|
||||
this._modalBox = null;
|
||||
this._onSave = null;
|
||||
this._onOpen = null;
|
||||
this._ordiniSelezionatiApertura = [];
|
||||
}
|
||||
|
||||
PopupOrdProd.prototype.codMart = function (v) {
|
||||
@@ -199,6 +200,10 @@ PopupOrdProd.prototype.open = function () {
|
||||
$div.find("[name='note']").val(rigaOrdine.note);
|
||||
$div.find("[name='note_old']").val(rigaOrdine.note);
|
||||
$div.find("[name='qta_prod']").val(rigaOrdine.qta_prod).trigger("change");
|
||||
|
||||
self._ordiniSelezionatiApertura = self._modalBox.$div.find("input[id=cod_jcom]:checked")
|
||||
.map((index, el) => _ojbc.B64JSON_parse($(el).parents("tr").attr("data-row")))
|
||||
.toArray();
|
||||
}
|
||||
|
||||
// TODO mostrare linee con ore disponibili
|
||||
@@ -899,14 +904,20 @@ PopupOrdProd.prototype._onUpdate = async function () {
|
||||
.map((index, el) => _ojbc.B64JSON_parse($(el).parents("tr").attr("data-row")))
|
||||
.toArray();
|
||||
|
||||
const answer = await self.checkQtaOrdiniSel(formData);
|
||||
const ordiniSelezionatiApertura = self._ordiniSelezionatiApertura;
|
||||
const ordiniSelezionati = formData.ordiniSelezionati;
|
||||
const ordiniDeselezionati = ordiniSelezionatiApertura.filter(a => !ordiniSelezionati.some(b => {
|
||||
return a.gestione === b.gestione && a.data_ord === b.data_ord && a.num_ord === b.num_ord
|
||||
}))
|
||||
|
||||
formData.ordiniDeselezionati = ordiniDeselezionati;
|
||||
|
||||
const answer = await self.checkQtaOrdiniSel(formData);
|
||||
if (!answer) {
|
||||
return;
|
||||
}
|
||||
|
||||
const response = await self._checkMaterie();
|
||||
|
||||
if (response) {
|
||||
new Ajax()
|
||||
.post("updateOrdLav")
|
||||
|
||||
@@ -12,8 +12,6 @@ SELECT dtb_ordt.cod_jcom,
|
||||
ELSE dtb_ordr.colli_pedana END AS colli_pedana,
|
||||
dtb_ordr.num_cnf,
|
||||
dtb_ordr.partita_mag
|
||||
/*SUM(CASE WHEN dtb_ordr.colli_pedana <> 0 THEN dtb_ordr.num_cnf / dtb_ordr.colli_pedana ELSE 0 END) AS pedane,*/
|
||||
/*SUM(dtb_ordr.num_cnf) AS num_cnf*/
|
||||
FROM dtb_ordt
|
||||
INNER JOIN dtb_ordr ON dtb_ordt.data_ord = dtb_ordr.data_ord AND
|
||||
dtb_ordt.num_ord = dtb_ordr.num_ord AND
|
||||
@@ -26,5 +24,4 @@ WHERE dtb_ordt.gestione = 'V'
|
||||
AND dtb_ordr.flag_evaso = 'I'
|
||||
AND dtb_ordr.qta_evasa < dtb_ordr.qta_ord
|
||||
AND dtb_ordr.cod_mart = '[cod_mart]'
|
||||
/*GROUP BY dtb_ordr.colli_pedana,dtb_ordr.cod_tcol_ul, mtb_tcol.descrizione, dtb_ordt.cod_jcom, gtb_anag.rag_soc, gtb_anag.citta, gtb_anag.cod_anag, dtb_ordt.gestione, dtb_ordt.data_ord, dtb_ordt.num_ord*/
|
||||
ORDER BY dtb_ordt.data_ord, dtb_ordt.num_ord
|
||||
@@ -45,7 +45,7 @@ PopupOrdProd.prototype._isNew = function () {
|
||||
|
||||
PopupOrdProd.prototype.open = function () {
|
||||
const self = this;
|
||||
const title = self._isNew() ? "NUOVO ORDINE DI PRODUZIONE <small>" + self._codMart + " <small>" + self._anag.descrizione + "</small></small>" : "Ordine di lavorazione n. <b>" + self._orderKey.num_ord + "</b> del " + self._orderKey.data_ord.unixtime_format("DD/MM/YYYY");
|
||||
const title = self._isNew() ? "Nuovo ordine di Produzione <small>" + self._codMart + " <small>" + self._anag.descrizione + "</small></small>" : "Ordine di lavorazione n. <b>" + self._orderKey.num_ord + "</b> del " + self._orderKey.data_ord.unixtime_format("DD/MM/YYYY");
|
||||
const ajax = new Ajax();
|
||||
|
||||
ajax.get("popup-ord-prod")
|
||||
|
||||
@@ -10,7 +10,8 @@ SELECT dtb_ordt.cod_anag,
|
||||
dtb_ordr.cod_mart,
|
||||
dtb_ordr.descrizione_estesa,
|
||||
dtb_ordt.flag_sospeso,
|
||||
dtb_ordt.cod_mdep
|
||||
dtb_ordt.cod_mdep,
|
||||
dtb_ordr.partita_mag
|
||||
FROM (SELECT jtb_dist_mate.cod_prod,
|
||||
jtb_dist_mate.cod_mart,
|
||||
jtb_dist_mate.qta_prod * jtb_dist_mate.rap_conv_prod /
|
||||
@@ -43,5 +44,4 @@ WHERE s.cod_mart = '[codMart]'
|
||||
AND dtb_ordt.flag_annulla = 'N'
|
||||
AND dtb_ordr.flag_evaso = 'I'
|
||||
AND dtb_ordt.gestione = 'V'
|
||||
AND dtb_ordr.partita_mag IS NULL
|
||||
ORDER BY flag_sospeso, cod_mdep DESC, data_cons, gtb_anag.rag_soc, data_ord, num_ord
|
||||
ORDER BY dtb_ordr.partita_mag, flag_sospeso, cod_mdep DESC, data_cons, gtb_anag.rag_soc, data_ord, num_ord
|
||||
@@ -1,7 +1,7 @@
|
||||
select mtb_depo.cod_mdep,
|
||||
SELECT mtb_depo.cod_mdep,
|
||||
mtb_depo.cod_mdep + ' - ' + mtb_depo.descrizione AS descrizione,
|
||||
case WHEN (gtb_anag.part_iva = azienda.part_iva) then 1 else 0 end AS default_depo
|
||||
from mtb_depo
|
||||
left join gtb_anag on mtb_depo.cod_anag = gtb_anag.cod_anag,
|
||||
CASE WHEN (gtb_anag.part_iva = azienda.part_iva) THEN 1 ELSE 0 END AS default_depo
|
||||
FROM mtb_depo
|
||||
LEFT JOIN gtb_anag ON mtb_depo.cod_anag = gtb_anag.cod_anag,
|
||||
azienda
|
||||
where mtb_depo.flag_movimentabile = 'S'
|
||||
WHERE mtb_depo.flag_movimentabile = 'S'
|
||||
@@ -50,9 +50,9 @@ $(function () {
|
||||
let data;
|
||||
|
||||
if ($this.hasClass("dl_pdfOrdine")) {
|
||||
data = {key_ord: $tr.attr("data-order_key")};
|
||||
data = {key_ord: $tr.getDataAttr("order_key")};
|
||||
} else {
|
||||
data = {key_doc: $this.attr("data-pdf_doc")};
|
||||
data = {key_doc: $this.getDataAttr("pdf_doc")};
|
||||
}
|
||||
|
||||
new Ajax()
|
||||
|
||||
Reference in New Issue
Block a user