Skip to content

Instantly share code, notes, and snippets.

@fininhors
Created August 5, 2020 18:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fininhors/6f96a7ead614d6a7f774a0fb7a168692 to your computer and use it in GitHub Desktop.
Save fininhors/6f96a7ead614d6a7f774a0fb7a168692 to your computer and use it in GitHub Desktop.
unction getReservedItens() {
let nr_ord_produ = $("#nr-ord-produ").val();
let pto_controle = $("#pto-controle").val();
let tipo_solicitacao = $(".tipo-material:checked").val();
if (!nr_ord_produ) {
swal(
"Oops",
"Você deve preencher o campo Ordem de Produção!",
"warning"
);
return;
}
if (!tipo_solicitacao) {
swal("Oops", "Você deve selecionar o Tipo de Material!", "warning");
return;
}
if (!pto_controle) {
swal("Oops", "Você deve preencher o campo Pto Controle!", "warning");
return;
}
$.ajax({
url: $("base").attr("href") + "resource/getItensOrdemProducao",
type: "POST",
dataType: "json",
data: {
nr_ord_produ: nr_ord_produ,
tipo_solicitacao: tipo_solicitacao,
pto_controle: pto_controle,
},
success: (response) => {
let ordens = [];
const {
"p-descricao": descricao,
"p-it-a-produzir": item_produzir,
"tt-itens-solicitados": solicitados,
} = response;
[...solicitados].forEach((op) => {
ordens.push([
op["descricao"],
op["nr-ord-produ"],
op["nr-sequencia"],
op["it-solicitado"],
]);
});
let itens = Array.from(ordens);
const reservedItens = {
descricao: descricao,
item_produzir: item_produzir,
ordens: ordens,
itens: itens,
};
return reservedItens;
},
error: () => {
swal({
title: "Oops",
text: "Não foi possível carregar os itens",
icon: "error",
});
return;
},
});
}
$("body").delegate(".btnValidateOP", "click", function(event) {
event.preventDefault();
let ordens = [];
let it_solicitados = [];
var id_solicitacao = document.getElementById("id-solicitacao").value;
const reservedItens = getReservedItens();
console.log(reservedItens);
console.log("Length " + Object.keys(reservedItens).length);
if (reservedItens) {
const {
descricao,
item_produzir,
ordens: ops,
itens: itsolicitados,
} = reservedItens;
console.log(ops);
if (ordens.length < 1) {
swal({
title: "Oops",
text: "Favor informar os números das Ordens de Produção",
icon: "error",
});
return;
}
[...ops].forEach((op) => {
ordens.push([
op.dataset.ordem,
op.dataset.controle,
op.dataset.descricao,
0,
]);
});
[...itsolicitados].forEach((itsol) => {
it_solicitados.push([
itsol.dataset.ordemprod,
itsol.dataset.sequencial,
itsol.dataset.itsolicitado,
itsol.dataset.descricao,
]);
});
const data = {
id_solicitacao: id_solicitacao,
ordens: ordens,
it_solicitados: it_solicitados,
};
$.ajax({
url: $("base").attr("href") + "resource/validateProductionOrder",
type: "POST",
dataType: "json",
data: data,
success: (response) => {
let returnedOrder = "";
var arrOrders = [];
const {
"p-ok": statusTrue,
"p-erro": statusFalse,
"tt-ordens-adicionadas": adicionados,
} = response;
[...adicionados].forEach(
({
descricao,
"l-permite-remover": is_removable,
"nr-ord-produ": nro_op,
"pto-controle": pto_controle,
}) => {
arrOrders.push(nro_op);
returnedOrder = `<input type="text" class="form-control" name="returnedOrder[]" data-ordem="${nro_op}" data-controle="${pto_controle}"
data-descricao="${descricao}" data-remover="${is_removable}" value="${descricao}" readonly/>`;
if (is_removable) {
returnedOrder += `<a class="btn btn-danger btnDeleteOP" type="button" data-ordem="${nro_op}" style="display: inline-block;margin:0"><i class="fa fa-times"></i></a>`;
}
$("#ordensValidadas").append(returnedOrder);
}
);
$("#listOrdemProducao").empty();
[...itsolicitados].forEach((itsol) => {
if (
[...arrOrders].includes(
parseInt(itsol.dataset.ordemprod)
)
) {
itsol
.closest(".form-group.row")
.lastElementChild.firstElementChild.remove();
itsol.parentNode.classList.remove("col-md-11");
itsol.parentNode.classList.add("col-md-12");
}
});
if (!statusTrue) {
bootstrap_alert(
$("#modalRequestMaterial #divAlert"),
"danger",
statusFalse,
false
);
}
return false;
},
error: (response) => {
console.log(response);
},
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment