upd
This commit is contained in:
@ -1419,81 +1419,108 @@ class PoAdapter extends Adapter {
|
|||||||
var apires = this.getApiResultDefined();
|
var apires = this.getApiResultDefined();
|
||||||
var idxpo = req.body.idxpo;
|
var idxpo = req.body.idxpo;
|
||||||
var idxpoboq = req.body.idxpoboq;
|
var idxpoboq = req.body.idxpoboq;
|
||||||
var nik = req.body.nik;
|
var nik = req.nik || req.body.nik || "";
|
||||||
var status = req.body.status;
|
|
||||||
var statusdescription = req.body.statusdescription;
|
|
||||||
const poNumber = String(posapnumber || "").trim();
|
const poNumber = String(posapnumber || "").trim();
|
||||||
let setvalues = "";
|
const finalStatus = 0;
|
||||||
|
const finalStatusDescription = "Submitted";
|
||||||
|
const safeSapMessage = String(sapmessage || "").replace(/'/g, "''");
|
||||||
|
const safePoNumber = poNumber.replace(/'/g, "''");
|
||||||
|
|
||||||
if (poNumber && poNumber !== "000") {
|
if (!idxpo || !poNumber || poNumber === "000") {
|
||||||
setvalues =
|
apires.meta.code = 500;
|
||||||
"p.ponumber='" +
|
apires.meta.message = "Invalid PO header or SAP PO number";
|
||||||
poNumber +
|
callback("err", apires);
|
||||||
"',p.status='" +
|
return;
|
||||||
status +
|
|
||||||
"',p.statusdescription='" +
|
|
||||||
statusdescription +
|
|
||||||
"',po.ponumber='" +
|
|
||||||
poNumber +
|
|
||||||
"',po.status='" +
|
|
||||||
status +
|
|
||||||
"',po.statusdescription='" +
|
|
||||||
statusdescription +
|
|
||||||
"',";
|
|
||||||
}
|
}
|
||||||
var qry =
|
|
||||||
"update tbl_po p, tbl_poboq po set " +
|
const boqIds = String(idxpoboq || "")
|
||||||
setvalues +
|
.split(",")
|
||||||
"p.sapmessages='" +
|
.map((id) => id.trim())
|
||||||
sapmessage +
|
.filter((id) => id && id !== "0");
|
||||||
"',p.uby='" +
|
|
||||||
|
const qryPo =
|
||||||
|
"update tbl_po set ponumber='" +
|
||||||
|
safePoNumber +
|
||||||
|
"',status='" +
|
||||||
|
finalStatus +
|
||||||
|
"',statusdescription='" +
|
||||||
|
finalStatusDescription +
|
||||||
|
"',sapmessages='" +
|
||||||
|
safeSapMessage +
|
||||||
|
"',uby='" +
|
||||||
nik +
|
nik +
|
||||||
"',p.udt=now() ";
|
"',udt=now() where _idx='" +
|
||||||
qry =
|
|
||||||
qry +
|
|
||||||
"where (p._idx=po.idxheader and p._idx='" +
|
|
||||||
idxpo +
|
idxpo +
|
||||||
"' and po._idx in (" +
|
"' and isdeleted=0";
|
||||||
idxpoboq +
|
|
||||||
")) and p.isdeleted=0 and po.isdeleted=0";
|
|
||||||
|
|
||||||
// var qry = "update tbl_po set "+setvalues+"sapmessages='"+sapmessage+"',uby='"+nik+"',udt=now() ";
|
db.query(qryPo, [], function (err, result) {
|
||||||
// qry = qry +"where (_idx=idxheader and _idx='"+idxpo+"' and p_idx in ("+idxpoboq+")) and p.isdeleted=0 and po.isdeleted=0";
|
|
||||||
|
|
||||||
// console.log(qry);
|
|
||||||
db.query(qry, [], function (err, result, fields) {
|
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta["message"] = err.toString();
|
apires.meta.message = err.toString();
|
||||||
apires.meta["code"] = 500;
|
apires.meta.code = 500;
|
||||||
callback("err", apires);
|
callback("err", apires);
|
||||||
} else {
|
return;
|
||||||
qry = "select idxpoboq,ponumber from vw_poboq where idxpoboq in(" + idxpoboq + ")";
|
|
||||||
db.query(qry, [], function (err, result1, fields) {
|
|
||||||
if (err) {
|
|
||||||
apires.meta["message"] = err.toString();
|
|
||||||
apires.meta["code"] = 500;
|
|
||||||
callback("err", apires);
|
|
||||||
} else {
|
|
||||||
apires.success = true;
|
|
||||||
apires.data = JSON.parse(JSON.stringify(result1));
|
|
||||||
if (poNumber && poNumber !== "000") {
|
|
||||||
if (apires.data.length === 0) {
|
|
||||||
apires.data = String(idxpoboq)
|
|
||||||
.split(",")
|
|
||||||
.map((id) => ({
|
|
||||||
idxpoboq: Number(id) || id,
|
|
||||||
ponumber: poNumber,
|
|
||||||
}));
|
|
||||||
} else {
|
|
||||||
apires.data.forEach((row) => {
|
|
||||||
if (!row.ponumber) row.ponumber = poNumber;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
callback(null, apires);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!result || result.affectedRows === 0) {
|
||||||
|
apires.meta.code = 500;
|
||||||
|
apires.meta.message = "PO header not found for update";
|
||||||
|
callback("err", apires);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let qryBoq =
|
||||||
|
"update tbl_poboq set ponumber='" +
|
||||||
|
safePoNumber +
|
||||||
|
"',status='" +
|
||||||
|
finalStatus +
|
||||||
|
"',statusdescription='" +
|
||||||
|
finalStatusDescription +
|
||||||
|
"',uby='" +
|
||||||
|
nik +
|
||||||
|
"',udt=now() where idxheader='" +
|
||||||
|
idxpo +
|
||||||
|
"' and isdeleted=0";
|
||||||
|
if (boqIds.length > 0) {
|
||||||
|
qryBoq += " and _idx in (" + boqIds.join(",") + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
db.query(qryBoq, [], function (errBoq) {
|
||||||
|
if (errBoq) {
|
||||||
|
apires.meta.message = errBoq.toString();
|
||||||
|
apires.meta.code = 500;
|
||||||
|
callback("err", apires);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let qrySelect =
|
||||||
|
boqIds.length > 0
|
||||||
|
? "select idxpoboq,ponumber from vw_poboq where idxpoboq in(" +
|
||||||
|
boqIds.join(",") +
|
||||||
|
")"
|
||||||
|
: "select _idx as idxpoboq, ponumber from tbl_poboq where idxheader='" +
|
||||||
|
idxpo +
|
||||||
|
"' and isdeleted=0";
|
||||||
|
|
||||||
|
db.query(qrySelect, [], function (errSelect, result1) {
|
||||||
|
if (errSelect) {
|
||||||
|
apires.meta.message = errSelect.toString();
|
||||||
|
apires.meta.code = 500;
|
||||||
|
callback("err", apires);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
apires.success = true;
|
||||||
|
apires.data = JSON.parse(JSON.stringify(result1));
|
||||||
|
if (apires.data.length === 0) {
|
||||||
|
apires.data = [{ idxpoboq: boqIds[0] || idxpo, ponumber: poNumber }];
|
||||||
|
} else {
|
||||||
|
apires.data.forEach((row) => {
|
||||||
|
row.ponumber = poNumber;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
callback(null, apires);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
|
|||||||
Reference in New Issue
Block a user