699 lines
22 KiB
JavaScript
699 lines
22 KiB
JavaScript
const PrAdapter = require("../adapter/pradapter.js");
|
|
const pradapter = new PrAdapter();
|
|
const Controllers = require("./controller.js");
|
|
const controllers = new Controllers();
|
|
var apireshandler = controllers.getApiResultDefined();
|
|
const baseurlsap = "http://" + process.env.HOSTSAP + "/sapapi/index.php/api";
|
|
const apikeysap = "befea63a-7c47-4323-afea-968a3168fe0a";
|
|
const request = require("request");
|
|
|
|
function buildPipeString(length, mapping = {}) {
|
|
const arr = Array(length).fill("");
|
|
Object.keys(mapping).forEach((index) => {
|
|
arr[index] = mapping[index];
|
|
});
|
|
return arr.join("|");
|
|
}
|
|
|
|
function buildPrAccount({prNo, qtyAcc, prDate, budget, costCenter, profitCenter}) {
|
|
return buildPipeString(40, {
|
|
0: prNo,
|
|
1: qtyAcc,
|
|
3: prDate,
|
|
7: budget,
|
|
8: "TIL1",
|
|
9: costCenter,
|
|
17: profitCenter,
|
|
});
|
|
}
|
|
|
|
function buildPrItem({prNo, shortText, qty, unit, price, prDate}) {
|
|
return buildPipeString(80, {
|
|
0: prNo,
|
|
3: "120",
|
|
4: "Putra",
|
|
5: shortText,
|
|
13: "1603",
|
|
15: "TrackNo1",
|
|
16: "ZSRV",
|
|
18: qty,
|
|
19: unit,
|
|
21: prDate,
|
|
23: prDate,
|
|
25: price,
|
|
26: "1",
|
|
28: "J",
|
|
36: "1603",
|
|
79: "D",
|
|
});
|
|
}
|
|
|
|
exports.getListJustification = (req, res) => {
|
|
try {
|
|
pradapter.queryPrJustificationList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [18] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getListPR = (req, res) => {
|
|
try {
|
|
pradapter.queryPrPRList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [18] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.gettrxid = (req, res) => {
|
|
try {
|
|
pradapter.queryGetTrxIdPr(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [18] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getListPr = (req, res) => {
|
|
try {
|
|
pradapter.queryPrList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [167] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.setNewPr = (req, res) => {
|
|
try {
|
|
pradapter.queryNewPr(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [167] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getDetailPr = (req, res) => {
|
|
try {
|
|
pradapter.queryPrDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [93] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.setUpdatePr = (req, res) => {
|
|
try {
|
|
pradapter.queryUpdatePr(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [167] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.setUpdateStatusPr = (req, res) => {
|
|
try {
|
|
let status = req.body.status;
|
|
let idxpr = req.body.idxpr;
|
|
|
|
if (status == 0) {
|
|
// if(0==1){
|
|
req.query.id = idxpr;
|
|
pradapter.queryUpdateStatusPr(req, req.body.prnumber, "", function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} else {
|
|
pradapter.queryUpdateStatusPr(req, "00000", "", function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [123] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.setUpdateStatusProld = (req, res) => {
|
|
try {
|
|
let status = req.body.status;
|
|
let idxpr = req.body.idxpr;
|
|
|
|
if (status == 0) {
|
|
// if(0==1){
|
|
req.query.id = idxpr;
|
|
pradapter.queryPrDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
// Normalize response data
|
|
const rsdata = JSON.parse(JSON.stringify(data));
|
|
const row = rsdata.data[0];
|
|
|
|
/* ================= PR CONSTANT ================= */
|
|
const PR_TYPE = "PRTL";
|
|
const X_PR_TYPE = "X";
|
|
const PR_NO = "00010";
|
|
const PR_QTY_ACC = "01";
|
|
|
|
/* ================= BUILD PR ACCOUNT ================= */
|
|
const prAccount = buildPrAccount({
|
|
prNo: PR_NO,
|
|
qtyAcc: PR_QTY_ACC,
|
|
prDate: row.prdateYmd, // YYYYMMDD
|
|
budget: `00${row.glaccount}`,
|
|
costCenter: row.costcenter,
|
|
profitCenter: "TIL1A01",
|
|
});
|
|
|
|
/* ================= BUILD PR ITEM ================= */
|
|
const prItem = buildPrItem({
|
|
prNo: PR_NO,
|
|
shortText: row.description,
|
|
qty: row.qty,
|
|
unit: row.unit,
|
|
price: row.netprice,
|
|
prDate: row.prdateYmd,
|
|
});
|
|
|
|
/* ================= BUILD SAP API URL ================= */
|
|
const sapPrUrl =
|
|
`${process.env.SAP_API_BASE_URL}/createPr` +
|
|
`?pr_type=${PR_TYPE}` +
|
|
`&x_pr_type=${X_PR_TYPE}` +
|
|
`&praccount[]=${prAccount}` +
|
|
`&pritem[]=${prItem}`;
|
|
|
|
/* ================= REQUEST OPTIONS ================= */
|
|
const options = {
|
|
method: "POST",
|
|
url: sapPrUrl,
|
|
timeout: 10000,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": process.env.SAP_API_KEY,
|
|
},
|
|
};
|
|
|
|
console.log(options);
|
|
request(options, function (error, response) {
|
|
// console.log('response.body', response.body)
|
|
if (error) {
|
|
console.log("Create PR Error =>", error);
|
|
apireshandler.message = error.toString();
|
|
pradapter.sendResponse(400, apireshandler, res);
|
|
} else {
|
|
console.log(response.body);
|
|
var resdata = JSON.parse(response.body);
|
|
var errcode = "";
|
|
var errmsg = "";
|
|
resdata["RETURN"].forEach((e) => {
|
|
if (e.TYPE == "E") {
|
|
errcode += e.NUMBER + ", ";
|
|
errmsg += e.MESSAGE + " & ";
|
|
}
|
|
});
|
|
errcode = errcode.substring(0, errcode.length - 2);
|
|
errmsg = errmsg.substring(0, errmsg.length - 3);
|
|
if (errcode.length > 0) {
|
|
apireshandler.meta.code = errcode;
|
|
apireshandler.meta.message = errmsg;
|
|
pradapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
pradapter.queryUpdateStatusPr(req, resdata["NUMBER"], errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
// apireshandler.success = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
//pradapter.sendResponse(statusCode,data, res);
|
|
}
|
|
});
|
|
} else {
|
|
pradapter.queryUpdateStatusPr(req, "00000", "", function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [123] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.deletePR = (req, res) => {
|
|
try {
|
|
pradapter.queryDeletePr(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [138] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.approvedPR = (req, res) => {
|
|
try {
|
|
pradapter.queryApprovedPR(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [153] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getprmanagementlist = (req, res) => {
|
|
try {
|
|
pradapter.queryPrManagementList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [260] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getprmanagementlistdetail = (req, res) => {
|
|
try {
|
|
pradapter.queryPrManagementListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [275] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.releasePRSAP = (req, res) => {
|
|
try {
|
|
let idxpr = req.body.idxpr;
|
|
req.query.id = idxpr;
|
|
pradapter.queryPrDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
var rsdata = JSON.parse(JSON.stringify(data));
|
|
let prnumber = rsdata.data[0]["prnumber"]; //Ymd
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurl+'signon',
|
|
"url": baseurlsap + "/releasePr?number=" + prnumber + "&rel_code=A1",
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
pradapter.sendResponse(400, apireshandler, res);
|
|
} else {
|
|
console.log(response.body);
|
|
var resdata = JSON.parse(response.body);
|
|
var errcode = "";
|
|
var errmsg = "";
|
|
resdata["RETURN"].forEach((e) => {
|
|
if (e.TYPE == "E") {
|
|
errcode += e.NUMBER + ", ";
|
|
errmsg += e.MESSAGE + " & ";
|
|
}
|
|
});
|
|
errcode = errcode.substring(0, errcode.length - 2);
|
|
errmsg = errmsg.substring(0, errmsg.length - 3);
|
|
if (errcode.length > 0) {
|
|
apireshandler.meta.code = errcode;
|
|
apireshandler.meta.message = errmsg;
|
|
// pradapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
apireshandler.success = true;
|
|
}
|
|
pradapter.queryUpdateStatusPr(req, "", errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
//data.data = resdata;
|
|
apireshandler.meta.code = statusCode;
|
|
apireshandler.data = data.data;
|
|
pradapter.sendResponse(statusCode, apireshandler, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [348] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.unreleasePRSAP = (req, res) => {
|
|
try {
|
|
let idxpr = req.body.idxpr;
|
|
req.query.id = idxpr;
|
|
pradapter.queryPrDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
var rsdata = JSON.parse(JSON.stringify(data));
|
|
let prnumber = rsdata.data[0]["prnumber"]; //Ymd
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurl+'signon',
|
|
"url": baseurlsap + "/unreleasePr?number=" + prnumber + "&rel_code=A1",
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
pradapter.sendResponse(400, apireshandler, res);
|
|
} else {
|
|
console.log(response.body);
|
|
var resdata = JSON.parse(response.body);
|
|
var errcode = "";
|
|
var errmsg = "";
|
|
resdata["RETURN"].forEach((e) => {
|
|
if (e.TYPE == "E") {
|
|
errcode += e.NUMBER + ", ";
|
|
errmsg += e.MESSAGE + " & ";
|
|
}
|
|
});
|
|
errcode = errcode.substring(0, errcode.length - 2);
|
|
errmsg = errmsg.substring(0, errmsg.length - 3);
|
|
if (errcode.length > 0) {
|
|
apireshandler.meta.code = errcode;
|
|
apireshandler.meta.message = errmsg;
|
|
// pradapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
apireshandler.success = true;
|
|
}
|
|
// else{
|
|
// pradapter.queryUpdateStatusPr(req,prnumber, errmsg, function(err,data){
|
|
// let statusCode = data!=null ? data.meta.code : 200 ;
|
|
// if(err) statusCode = 500;
|
|
// pradapter.sendResponse(statusCode,data, res);
|
|
// });
|
|
// }
|
|
pradapter.queryUpdateStatusPr(req, "", errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
//data.data = resdata;
|
|
apireshandler.meta.code = statusCode;
|
|
apireshandler.data = data.data;
|
|
pradapter.sendResponse(statusCode, apireshandler, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [413] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.changePRSAP = (req, res) => {
|
|
try {
|
|
pradapter.queryUpdateStatusPr(req, "", "", function (err, data) {
|
|
console.log(data);
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [522] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.changePRSAPold = (req, res) => {
|
|
try {
|
|
let idxpr = req.body.idxpr;
|
|
|
|
req.query.id = idxpr;
|
|
pradapter.queryPrDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
var rsdata = JSON.parse(JSON.stringify(data));
|
|
// console.log(rsdata["data"]);
|
|
let pr_no = "00010";
|
|
let pr_qtyacc = "01";
|
|
let pr_number = rsdata.data[0]["prnumber"]; //Ymd
|
|
let pr_date = rsdata.data[0]["prdateYmd"]; //Ymd
|
|
let pr_budget = "00" + rsdata.data[0]["glaccount"];
|
|
let pr_costcenter = rsdata.data[0]["costcenter"];
|
|
let pr_profitcenter = "TIL1A01"; //rsdata.data[0]['profitcenter'];
|
|
let pr_shorttext = rsdata.data[0]["description"];
|
|
let pr_qtyitem = rsdata.data[0]["qty"];
|
|
let pr_unititem = rsdata.data[0]["unit"];
|
|
let pr_priceitem = rsdata.data[0]["netprice"];
|
|
// let pr_account="00010|01||20130727||||0051331006|TIL1|TIL1A01|||||||||||TIL1A01||||||||||||||||||||||";
|
|
let pr_account =
|
|
pr_no +
|
|
"|" +
|
|
pr_qtyacc +
|
|
"||" +
|
|
pr_date +
|
|
"||||" +
|
|
pr_budget +
|
|
"|TIL1|" +
|
|
pr_costcenter +
|
|
"|||||||||||" +
|
|
pr_profitcenter +
|
|
"||||||||||||||||||||||";
|
|
// let pr_item="00010|||120|Putra|testcreatePR|||||||||1603||TrackNo1|ZSRV||1|BH||20130727||20130727|||1000|1||J||||||||1603|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||D|";
|
|
let pr_item =
|
|
pr_no +
|
|
"|||120|Putra|" +
|
|
pr_shorttext +
|
|
"|||||||||1603||TrackNo1|ZSRV||" +
|
|
pr_qtyitem +
|
|
"|" +
|
|
pr_unititem +
|
|
"||" +
|
|
pr_date +
|
|
"||" +
|
|
pr_date +
|
|
"|||" +
|
|
pr_priceitem +
|
|
"|1||J||||||||1603||||||||||||||||||||||||||||||||||||||||USD|||||||||||||||||||D|";
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurl+'signon',
|
|
"url":
|
|
baseurlsap +
|
|
"/changePR?number=" +
|
|
pr_number +
|
|
"&praccount[]=" +
|
|
pr_account +
|
|
"&pritem[]=" +
|
|
pr_item,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
if (error) {
|
|
console.log(error);
|
|
apireshandler.message = error.toString();
|
|
pradapter.sendResponse(400, apireshandler, res);
|
|
} else {
|
|
// console.log("Change pR : "+response.body);
|
|
var resdata = JSON.parse(response.body);
|
|
var errcode = "";
|
|
var errmsg = "";
|
|
resdata["RETURN"].forEach((e) => {
|
|
// console.log(e);
|
|
if (e.TYPE == "E") {
|
|
errcode += e.NUMBER + ", ";
|
|
errmsg += e.MESSAGE + " & ";
|
|
}
|
|
});
|
|
errcode = errcode.substring(0, errcode.length - 2);
|
|
errmsg = errmsg.substring(0, errmsg.length - 3);
|
|
if (errcode.length > 0) {
|
|
apireshandler.meta.code = errcode;
|
|
apireshandler.meta.message = errmsg;
|
|
// pradapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
apireshandler.success = true;
|
|
}
|
|
pradapter.queryUpdateStatusPr(req, "", errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
//data.data = resdata;
|
|
apireshandler.meta.code = statusCode;
|
|
apireshandler.data = data.data;
|
|
pradapter.sendResponse(statusCode, apireshandler, res);
|
|
});
|
|
}
|
|
});
|
|
|
|
//pradapter.sendResponse(statusCode,data, res);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [522] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.deletePRSAP = (req, res) => {
|
|
try {
|
|
let idxpr = req.body.idxpr;
|
|
req.query.id = idxpr;
|
|
pradapter.queryPrDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
pradapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
var rsdata = JSON.parse(JSON.stringify(data));
|
|
let prnumber = rsdata.data[0]["prnumber"]; //Ymd
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurl+'signon',
|
|
"url": baseurlsap + "/deletePr?number=" + prnumber,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
pradapter.sendResponse(400, apireshandler, res);
|
|
} else {
|
|
// console.log(response.body);
|
|
var resdata = JSON.parse(response.body);
|
|
var errcode = "";
|
|
var errmsg = "";
|
|
resdata["RETURN"].forEach((e) => {
|
|
if (e.TYPE == "E") {
|
|
errcode += e.NUMBER + ", ";
|
|
errmsg += e.MESSAGE + " & ";
|
|
}
|
|
});
|
|
errcode = errcode.substring(0, errcode.length - 2);
|
|
errmsg = errmsg.substring(0, errmsg.length - 3);
|
|
if (errcode.length > 0) {
|
|
apireshandler.meta.code = errcode;
|
|
apireshandler.meta.message = errmsg;
|
|
// pradapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
apireshandler.success = true;
|
|
}
|
|
// else{
|
|
// pradapter.queryUpdateStatusPr(req,prnumber, errmsg, function(err,data){
|
|
// let statusCode = data!=null ? data.meta.code : 200 ;
|
|
// if(err) statusCode = 500;
|
|
// pradapter.sendResponse(statusCode,data, res);
|
|
// });
|
|
// }
|
|
pradapter.queryUpdateStatusPr(req, "", errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
//data.data = resdata;
|
|
apireshandler.meta.code = statusCode;
|
|
apireshandler.data = data.data;
|
|
pradapter.sendResponse(statusCode, apireshandler, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [413] : PR controller, " + err.toString();
|
|
pradapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|