1292 lines
40 KiB
JavaScript
1292 lines
40 KiB
JavaScript
const PoAdapter = require("../adapter/poadapter.js");
|
|
const poadapter = new PoAdapter();
|
|
const Controllers = require("./controller.js");
|
|
const controllers = new Controllers();
|
|
var apireshandler = controllers.getApiResultDefined();
|
|
// const baseurlsap="http://172.20.25.27/sapapi/index.php/api";
|
|
const baseurlsap = "http://" + process.env.HOSTSAP + "/sapapi/index.php/api";
|
|
const apikeysap = "befea63a-7c47-4323-afea-968a3168fe0a";
|
|
const request = require("request");
|
|
var fs = require("fs");
|
|
|
|
const SAPAdapter = require("../adapter/sapadapter.js");
|
|
const sapadapter = new SAPAdapter();
|
|
|
|
exports.getListVendor = (req, res) => {
|
|
try {
|
|
poadapter.queryVendorList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [20] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPoBoqList = (req, res) => {
|
|
try {
|
|
poadapter.queryPoBoqlist(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [20] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getidxpoheader = (req, res) => {
|
|
try {
|
|
poadapter.queryGetidxpoheader(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [20] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.savePoboq = (req, res) => {
|
|
try {
|
|
poadapter.querySaveboqdetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [20] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getLastSignedPo = (req, res) => {
|
|
try {
|
|
poadapter.queryGetLastSignDate(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [20] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.createPOSAP = (req, res) => {
|
|
try {
|
|
let status = req.body.status;
|
|
poadapter.queryUpdatePoHeader(req, function (err, resdata) {
|
|
console.log("err createpo =>", err);
|
|
let statusCode = resdata != null ? resdata.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
poadapter.queryUpdatePoNumber(req, function (err, data) {
|
|
console.log("err queryUpdatePoNumber =>", err);
|
|
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [123] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.createPOSAPold = (req, res) => {
|
|
try {
|
|
let status = req.body.status;
|
|
if (status == 1) {
|
|
// if(0==1){
|
|
poadapter.queryUpdatePoHeader(req, function (err, resdata) {
|
|
let statusCode = resdata != null ? resdata.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
// console.log(resdata.data.length);
|
|
// poadapter.sendResponse(statusCode,resdata, res);
|
|
if (resdata.data.length > 0) {
|
|
const data = resdata?.data?.[0] ?? {};
|
|
|
|
const {
|
|
idxpr = 0,
|
|
vendorid = "",
|
|
podate = "",
|
|
vper_start = "",
|
|
vper_end = "",
|
|
podescription = "",
|
|
totalqty = 0,
|
|
prnumber = "",
|
|
identifyprojectnumber = "",
|
|
} = data;
|
|
|
|
// ===== HEADER PARAM =====
|
|
const headerParams = {
|
|
comp_code: "1603",
|
|
doc_type: "POTL",
|
|
creat_date: req.body.createdate,
|
|
created_by: req.body.createdby,
|
|
vendor: vendorid,
|
|
purch_org: "1603",
|
|
pur_group: "TIL",
|
|
currency: "USD",
|
|
doc_date: podate,
|
|
vper_start,
|
|
vper_end,
|
|
zzctrnum: identifyprojectnumber?.toString().trim(),
|
|
};
|
|
|
|
// ===== ITEM PARAM =====
|
|
const preq_item = "00010";
|
|
const quantity = Number(totalqty).toString().replace(",", ".");
|
|
const po_unit = "PKT";
|
|
const net_price = req.body.totalpo;
|
|
const final_inv = "X";
|
|
const gr_basediv = "X";
|
|
|
|
const poitem = [
|
|
preq_item,
|
|
podescription,
|
|
quantity,
|
|
po_unit,
|
|
net_price,
|
|
final_inv,
|
|
gr_basediv,
|
|
prnumber,
|
|
preq_item,
|
|
].join("|");
|
|
|
|
const poschedule = [preq_item, vper_end].join("|");
|
|
|
|
// ===== BUILD QUERY =====
|
|
const params = new URLSearchParams({
|
|
...headerParams,
|
|
"poitem[]": poitem,
|
|
"poschedule[]": poschedule,
|
|
}).toString();
|
|
|
|
const url = `${baseurlsap}/createPo?${params}`;
|
|
|
|
const resuri = {
|
|
method: "POST",
|
|
url,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
};
|
|
|
|
const logData = {
|
|
ref_code: preq_no,
|
|
request: JSON.stringify(resuri),
|
|
request_at: new Date(),
|
|
request_by: req.body.createdby,
|
|
response: "",
|
|
response_at: "",
|
|
url,
|
|
};
|
|
|
|
request(resuri, function (error, response) {
|
|
logData.response_at = new Date();
|
|
logData.response = error ? JSON.stringify(error) : response.body;
|
|
sapadapter.queryInsertSapLog(idxpr, logData, "CREATE_PO");
|
|
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
poadapter.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 + "\n\n";
|
|
errmsg += e.MESSAGE + "\n\n";
|
|
}
|
|
});
|
|
|
|
// Hapus newline terakhir biar rapi
|
|
errcode = errcode.trim();
|
|
errmsg = errmsg.trim();
|
|
|
|
if (errmsg.length > 0) {
|
|
poadapter.queryUpdatePoNumberold(
|
|
req,
|
|
resdata["NUMBER"] || resdata["EXPPURCHASEORDER"],
|
|
errmsg,
|
|
function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
data.success = false;
|
|
data.meta.message = errmsg;
|
|
poadapter.sendResponse(500, data, res);
|
|
},
|
|
);
|
|
} else {
|
|
poadapter.queryUpdatePoNumberold(
|
|
req,
|
|
resdata["NUMBER"] || resdata["EXPPURCHASEORDER"],
|
|
errmsg,
|
|
function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
},
|
|
);
|
|
}
|
|
|
|
// if(errcode.length>0){
|
|
// apireshandler.meta.code = errcode;
|
|
// apireshandler.meta.message = errmsg;
|
|
// poadapter.sendResponse(200, apireshandler, res);
|
|
// }
|
|
// else{
|
|
|
|
// // apireshandler.success = true;
|
|
// }
|
|
}
|
|
});
|
|
} else {
|
|
poadapter.sendResponse(statusCode, resdata, res);
|
|
}
|
|
});
|
|
} else {
|
|
poadapter.queryUpdatePoHeader(req, function (err, resdata) {
|
|
let statusCode = resdata != null ? resdata.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
poadapter.queryUpdatePoNumber(req, "000", "", function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [123] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.createMIGOPOSAP = (req, res) => {
|
|
try {
|
|
poadapter.queryUpdateMigoNumber(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
// data.success = false;
|
|
// data.meta.message = errmsg;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [123] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.createMIGOPOSAPold = (req, res) => {
|
|
try {
|
|
poadapter.queryPoManagementListDetail(req, function (err, resdata) {
|
|
let statusCode = resdata != null ? resdata.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
// console.log(resdata.data.length);
|
|
// poadapter.sendResponse(statusCode,resdata, res);
|
|
if (resdata.data.length > 0) {
|
|
const idxpr = resdata.data[0]["idxpr"] ?? 0;
|
|
|
|
let gm_code = "01";
|
|
let pstng_date = resdata.data[0]["podate"].toString().trim();
|
|
let doc_date = pstng_date;
|
|
let header_txt = resdata.data[0]["podescription"].toString().trim();
|
|
// let quantity="1";
|
|
let quantity = resdata.data[0]["totalqty"].toString().trim();
|
|
// let po_unit="PKT";
|
|
let po_unit = resdata.data[0]["units"].toString().trim();
|
|
let po_number = resdata.data[0]["ponumber"].toString().trim();
|
|
let po_item = "00010";
|
|
let item_text = resdata.data[0]["podescription"].toString().trim();
|
|
let gr_rcpt = "GRreceipt";
|
|
let unload_pt = "unloadpoint";
|
|
let movement_ind = "B";
|
|
let reason = "0001";
|
|
let location = "160301";
|
|
let goodsmvt_item =
|
|
"1603|101|" +
|
|
quantity +
|
|
"|" +
|
|
po_unit +
|
|
"|" +
|
|
po_number +
|
|
"|" +
|
|
po_item +
|
|
"|" +
|
|
item_text +
|
|
"|";
|
|
// let goodsmvt_item="1603|101|"+quantity+"|"+po_number+"|"+po_item+"|"+item_text+"|";
|
|
goodsmvt_item +=
|
|
gr_rcpt + "|" + unload_pt + "|" + movement_ind + "|" + reason + "|" + location + "|";
|
|
// let zzctrnum = (resdata.data[0]['identifyprojectnumber']).toString().trim();//req.body.podescription;
|
|
const url =
|
|
baseurlsap +
|
|
"/migo?gm_code=" +
|
|
gm_code +
|
|
"&pstng_date=" +
|
|
pstng_date +
|
|
"&doc_date=" +
|
|
doc_date +
|
|
"&header_txt=" +
|
|
header_txt +
|
|
"&goodsmvt_item[]=" +
|
|
goodsmvt_item;
|
|
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurlsap+'/createPo',
|
|
"url": url,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
const logData = {
|
|
ref_code: resdata.data[0]["ponumber"].toString().trim(),
|
|
request: JSON.stringify(resuri),
|
|
request_at: new Date(),
|
|
request_by: "999999",
|
|
response: "",
|
|
response_at: "",
|
|
url,
|
|
};
|
|
|
|
// http://172.20.25.27/sapapi/index.php/api/migo?gm_code=01&pstng_date=20140404&doc_date=20210404&hea
|
|
// der_txt=test header&goodsmvt_item[]=1603|101|1|BH|4110000019|00010|line itemtext|GRreceipt|unloadp
|
|
// oint|B|0001|160301|
|
|
console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
logData.response_at = new Date();
|
|
logData.response = error ? JSON.stringify(error) : response.body;
|
|
sapadapter.queryInsertSapLog(idxpr, logData, "CREATE_PO_MIGO");
|
|
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
poadapter.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);
|
|
// console.log(errmsg);
|
|
|
|
if (errmsg.length > 0) {
|
|
poadapter.queryUpdateMigoNumber(
|
|
req,
|
|
resdata["GOODSMVT_HEADRET"]["MAT_DOC"] || "",
|
|
errmsg,
|
|
function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
data.success = false;
|
|
data.meta.message = errmsg;
|
|
poadapter.sendResponse(500, data, res);
|
|
},
|
|
);
|
|
} else {
|
|
poadapter.queryUpdateMigoNumber(
|
|
req,
|
|
resdata["GOODSMVT_HEADRET"]["MAT_DOC"],
|
|
errmsg,
|
|
function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
},
|
|
);
|
|
}
|
|
|
|
// if(errcode.length>0){
|
|
// apireshandler.meta.code = errcode;
|
|
// apireshandler.meta.message = errmsg;
|
|
// poadapter.sendResponse(200, apireshandler, res);
|
|
// }
|
|
// else{
|
|
|
|
// // apireshandler.success = true;
|
|
// }
|
|
}
|
|
});
|
|
} else {
|
|
poadapter.sendResponse(statusCode, resdata, res);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [123] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.deletePoBoq = (req, res) => {
|
|
try {
|
|
poadapter.queryDeletePoBoq(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [185] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOManagementList = (req, res) => {
|
|
try {
|
|
poadapter.queryPoManagementList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [200] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOManagementListDetail = (req, res) => {
|
|
try {
|
|
poadapter.queryPoManagementListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [215] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.changePOSAP = (req, res) => {
|
|
try {
|
|
req.query.idxpo = req.body.idxpo;
|
|
poadapter.queryPoManagementListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
var rsdata = JSON.parse(JSON.stringify(data));
|
|
const idxpr = rsdata.data[0]["idxpr"] ?? 0;
|
|
|
|
let ponumber = rsdata.data[0]["ponumber"]; //Ymd
|
|
let podescription = req.body.podescription; //rsdata.data[0]['podescription'];
|
|
let totalpo = req.body.totalpo; //rsdata.data[0]['podescription'];
|
|
let qty = 1; //req.query.qty; //rsdata.data[0]['podescription'];
|
|
let units = rsdata.data[0]["units"];
|
|
//http://172.20.25.27/sapapi/index.php/api/changePo?purchaseorder=4110000020&poitem[]=00010|test createPO|0||0||||00000
|
|
let poitem =
|
|
"00010|" +
|
|
podescription +
|
|
"|" +
|
|
qty +
|
|
"|" +
|
|
units +
|
|
"|" +
|
|
totalpo +
|
|
"|x|x|" +
|
|
ponumber +
|
|
"|00010";
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurl+'signon',
|
|
"url": baseurlsap + "/changePo?purchaseorder=" + ponumber + "&poitem[]=" + poitem,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
const logData = {
|
|
ref_code: rsdata.data[0]["ponumber"].toString().trim(),
|
|
request: JSON.stringify(resuri),
|
|
request_at: new Date(),
|
|
request_by: "999999",
|
|
response: "",
|
|
response_at: "",
|
|
url: baseurlsap + "/changePo?purchaseorder=" + ponumber + "&poitem[]=" + poitem,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
logData.response_at = new Date();
|
|
logData.response = error ? JSON.stringify(error) : response.body;
|
|
sapadapter.queryInsertSapLog(idxpr, logData, "CHANGE_PO");
|
|
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
poadapter.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;
|
|
// poadapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
apireshandler.success = true;
|
|
}
|
|
poadapter.queryUpdatePOSAP(req, "", errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err || errcode.length > 0) statusCode = 500;
|
|
//data.data = resdata;
|
|
apireshandler.meta.code = statusCode;
|
|
apireshandler.data = data.data;
|
|
poadapter.sendResponse(statusCode, apireshandler, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[291] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.releasePOSAP = (req, res) => {
|
|
try {
|
|
req.query.idxpo = req.body.idxpo;
|
|
poadapter.queryPoManagementListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
var rsdata = JSON.parse(JSON.stringify(data));
|
|
const idxpr = rsdata.data[0]["idxpr"] ?? 0;
|
|
|
|
let ponumber = rsdata.data[0]["ponumber"]; //Ymd
|
|
//http://172.20.25.27/sapapi/index.php/api/releasePo?im_purchaseorder=4110000020
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurl+'signon',
|
|
"url": baseurlsap + "/releasePo?im_purchaseorder=" + ponumber,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
const logData = {
|
|
ref_code: rsdata.data[0]["ponumber"].toString().trim(),
|
|
request: JSON.stringify(resuri),
|
|
request_at: new Date(),
|
|
request_by: "999999",
|
|
response: "",
|
|
response_at: "",
|
|
url: baseurlsap + "/releasePo?im_purchaseorder=" + ponumber,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
logData.response_at = new Date();
|
|
logData.response = error ? JSON.stringify(error) : response.body;
|
|
sapadapter.queryInsertSapLog(idxpr, logData, "RELEASE_PO");
|
|
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
poadapter.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;
|
|
// poadapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
apireshandler.success = true;
|
|
}
|
|
poadapter.queryUpdatePOSAP(req, "", errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err || errcode.length > 0) statusCode = 500;
|
|
//data.data = resdata;
|
|
apireshandler.meta.code = statusCode;
|
|
apireshandler.data = data.data;
|
|
poadapter.sendResponse(statusCode, apireshandler, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[291] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.unreleasePOSAP = (req, res) => {
|
|
try {
|
|
req.query.idxpo = req.body.idxpo;
|
|
poadapter.queryPoManagementListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
} else {
|
|
var rsdata = JSON.parse(JSON.stringify(data));
|
|
const idxpr = rsdata.data[0]["idxpr"] ?? 0;
|
|
|
|
let ponumber = rsdata.data[0]["ponumber"]; //Ymd
|
|
//http://172.20.25.27/sapapi/index.php/api/releasePo?im_purchaseorder=4110000020
|
|
let resuri = {
|
|
"method": "POST",
|
|
// 'url': baseurl+'signon',
|
|
"url": baseurlsap + "/unreleasePo?number=" + ponumber,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
// form: formjson,
|
|
};
|
|
|
|
const logData = {
|
|
ref_code: rsdata.data[0]["ponumber"].toString().trim(),
|
|
request: JSON.stringify(resuri),
|
|
request_at: new Date(),
|
|
request_by: "999999",
|
|
response: "",
|
|
response_at: "",
|
|
url: baseurlsap + "/unreleasePo?number=" + ponumber,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
logData.response_at = new Date();
|
|
logData.response = error ? JSON.stringify(error) : response.body;
|
|
sapadapter.queryInsertSapLog(idxpr, logData, "UNRELEASE_PO");
|
|
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
poadapter.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;
|
|
// poadapter.sendResponse(200, apireshandler, res);
|
|
} else {
|
|
apireshandler.success = true;
|
|
}
|
|
poadapter.queryUpdatePOSAP(req, "", errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err || errcode.length > 0) statusCode = 500;
|
|
//data.data = resdata;
|
|
apireshandler.meta.code = statusCode;
|
|
apireshandler.data = data.data;
|
|
poadapter.sendResponse(statusCode, apireshandler, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[291] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.createHeaderPOSAP = (req, res) => {
|
|
try {
|
|
req.query.idxpo = req.body.idxpo;
|
|
poadapter.queryUpdateIdentifyProject(req, function (err, resdata) {
|
|
let statusCode = resdata != null ? resdata.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
// console.log(resdata.data.length);
|
|
// poadapter.sendResponse(statusCode,resdata, res);
|
|
if (resdata.data.length > 0) {
|
|
const data = resdata?.data?.[0] ?? {};
|
|
const {
|
|
idxpr = 0,
|
|
identifyprojectnumber = "",
|
|
contractdescription = "",
|
|
contractperiodfrom = "",
|
|
contractperiodto = "",
|
|
vendorname = "",
|
|
} = data;
|
|
|
|
// Static / default values
|
|
const params = {
|
|
im_ctrnum: identifyprojectnumber,
|
|
im_bukrs: "1603",
|
|
im_werks: "1603",
|
|
im_ctrdsc: contractdescription,
|
|
im_ctrtor: vendorname,
|
|
im_contract: identifyprojectnumber,
|
|
im_contract2: identifyprojectnumber,
|
|
im_contdesc: contractdescription,
|
|
im_spmon0: contractperiodfrom,
|
|
im_spmon1: contractperiodto,
|
|
im_ctrmax: 2,
|
|
im_waers2: "USD",
|
|
im_ctrval: "0",
|
|
im_ctrval2: "0",
|
|
im_action: "I",
|
|
};
|
|
|
|
// Build URL safely
|
|
const url = `${baseurlsap}/zcpxmm003?${new URLSearchParams(params).toString()}`;
|
|
const resuri = {
|
|
method: "POST",
|
|
url,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
};
|
|
|
|
const logData = {
|
|
ref_code: identifyprojectnumber,
|
|
request: JSON.stringify(resuri),
|
|
request_at: new Date(),
|
|
request_by: "999999",
|
|
response: "",
|
|
response_at: "",
|
|
url,
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
logData.response_at = new Date();
|
|
logData.response = error ? JSON.stringify(error) : response.body;
|
|
sapadapter.queryInsertSapLog(idxpr, logData, "CREATE_HEADER_SAP");
|
|
|
|
if (error) {
|
|
apireshandler.message = error.toString();
|
|
apireshandler.meta.message = "Header Created Successfuly";
|
|
poadapter.queryUpdatePoNumber(req, error.toString(), function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
// poadapter.sendResponse(400, apireshandler, res);
|
|
} else {
|
|
var resdata = JSON.parse(response.body);
|
|
var errcode = "";
|
|
var errmsg = "";
|
|
if (Array.isArray(resdata)) {
|
|
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);
|
|
console.log("error : " + errmsg);
|
|
|
|
if (errmsg.length > 0) {
|
|
poadapter.queryUpdatePoNumber(req, errmsg, function (err, data) {
|
|
poadapter.sendResponse(500, data, res);
|
|
});
|
|
} else {
|
|
poadapter.queryUpdatePoNumber(req, errmsg, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
poadapter.sendResponse(statusCode, resdata, res);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[550] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.createHeaderPOSAPold = (req, res) => {
|
|
try {
|
|
req.query.idxpo = req.body.idxpo;
|
|
poadapter.queryUpdateIdentifyProject(req, function (err, resdata) {
|
|
let statusCode = resdata != null ? resdata.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
// console.log(resdata.data.length);
|
|
// poadapter.sendResponse(statusCode,resdata, res);
|
|
if (resdata.data.length > 0) {
|
|
let identifyprojectnumber = resdata.data[0]["identifyprojectnumber"];
|
|
let contractdescription = resdata.data[0]["contractdescription"];
|
|
let contractperiodfrom = resdata.data[0]["contractperiodfrom"];
|
|
let contractperiodto = resdata.data[0]["contractperiodto"];
|
|
let im_ctrnum = identifyprojectnumber;
|
|
let im_bukrs = "1603";
|
|
let im_werks = "1603";
|
|
let im_ctrdsc = contractdescription;
|
|
let im_ctrtor = resdata.data[0]["vendorname"];
|
|
let im_contract = identifyprojectnumber;
|
|
let im_contract2 = identifyprojectnumber;
|
|
let im_contdesc = contractdescription;
|
|
let im_spmon0 = contractperiodfrom;
|
|
let im_spmon1 = contractperiodto;
|
|
let im_ctrmax = 2;
|
|
let im_waers2 = "USD";
|
|
let im_ctrval = "0";
|
|
let im_ctrval2 = "0";
|
|
let im_action = "I";
|
|
|
|
let resuri = {
|
|
"method": "POST",
|
|
"url":
|
|
baseurlsap +
|
|
"/zcpxmm003?im_ctrnum=" +
|
|
im_ctrnum +
|
|
"&im_bukrs=" +
|
|
im_bukrs +
|
|
"&im_werks=" +
|
|
im_werks +
|
|
"&im_ctrdsc=" +
|
|
im_ctrdsc +
|
|
"&im_ctrtor=" +
|
|
im_ctrtor +
|
|
"&im_contract=" +
|
|
im_contract +
|
|
"&im_contract2=" +
|
|
im_contract2 +
|
|
"&im_contdesc=" +
|
|
im_contdesc +
|
|
"&im_spmon0=" +
|
|
im_spmon0 +
|
|
"&im_spmon1=" +
|
|
im_spmon1 +
|
|
"&im_ctrmax=" +
|
|
im_ctrmax +
|
|
"&im_waers2=" +
|
|
im_waers2 +
|
|
"&im_ctrval=" +
|
|
im_ctrval +
|
|
"&im_ctrval2=" +
|
|
im_ctrval2 +
|
|
"&im_action=" +
|
|
im_action,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
"x-api-key": apikeysap,
|
|
},
|
|
};
|
|
|
|
// console.log(resuri);
|
|
request(resuri, function (error, response) {
|
|
if (error) {
|
|
// console.log(error);
|
|
apireshandler.message = error.toString();
|
|
poadapter.sendResponse(400, apireshandler, res);
|
|
} else {
|
|
// console.log("response : " +response.body);
|
|
var resdata = JSON.parse(response.body);
|
|
var errcode = "";
|
|
var errmsg = "";
|
|
if (Array.isArray(resdata)) {
|
|
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);
|
|
console.log("error : " + errmsg);
|
|
|
|
if (errmsg.length > 0) {
|
|
poadapter.queryUpdatePoNumber(req, "000", errmsg, function (err, data) {
|
|
poadapter.sendResponse(500, data, res);
|
|
});
|
|
} else {
|
|
poadapter.queryUpdatePoNumber(req, "000", "", function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
poadapter.sendResponse(statusCode, resdata, res);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[550] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOInventorylist = (req, res) => {
|
|
try {
|
|
poadapter.queryPoInventoryList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [200] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOttdList = (req, res) => {
|
|
try {
|
|
poadapter.queryPottdList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [200] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOttdDetailList = (req, res) => {
|
|
try {
|
|
poadapter.queryPottdListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [200] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOMigoList = (req, res) => {
|
|
try {
|
|
poadapter.queryPoMigoList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [200] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOMigoDetailList = (req, res) => {
|
|
try {
|
|
poadapter.queryPoMigoListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [200] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getPOInventoryDetaillist = (req, res) => {
|
|
try {
|
|
poadapter.queryPoInventoryDetailList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [200] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.setSignedPO = (req, res) => {
|
|
try {
|
|
poadapter.querySignedPo(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[636] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.newpoadjustment = (req, res) => {
|
|
try {
|
|
// console.log(req.nik);
|
|
// console.log(req.body.filename);return false;
|
|
let ext = req.body.filename.split(".")[1];
|
|
let filename = "ADJPO_" + req.nik + "_" + Date.now() + "." + ext;
|
|
fs.rename(
|
|
process.env.BASEPATH + "/assets/po/" + req.body.filename,
|
|
process.env.BASEPATH + "/assets/po/" + filename,
|
|
function (err) {
|
|
if (err) {
|
|
poadapter.sendResponse(500, err, res);
|
|
} else {
|
|
poadapter.queryNewPoAdjustment(req, filename, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
},
|
|
);
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [958] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.updpoadjustment = (req, res) => {
|
|
try {
|
|
var ext = "";
|
|
var filename = "";
|
|
if (req.body.filename) {
|
|
ext = req.body.filename.split(".")[1];
|
|
filename = "ADJPO_" + req.nik + "_" + Date.now() + "." + ext;
|
|
fs.rename(
|
|
process.env.BASEPATH + "/assets/po/" + req.body.filename,
|
|
process.env.BASEPATH + "/assets/po/" + filename,
|
|
function (err) {
|
|
if (err) {
|
|
poadapter.sendResponse(500, err, res);
|
|
} else {
|
|
poadapter.queryUpdPoAdjustment(req, filename, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
},
|
|
);
|
|
} else {
|
|
poadapter.queryUpdPoAdjustment(req, filename, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [958] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.updpoboq = (req, res) => {
|
|
try {
|
|
var filename = req.body.filename;
|
|
if (req.body.filename) {
|
|
poadapter.queryUpdPoBoq(req, filename, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} else {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [1014] : PO controller, Upload File CSV Failed";
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [958] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getpoadjlist = (req, res) => {
|
|
try {
|
|
poadapter.queryPoAdjList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[636] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
exports.getpoadjlistdetail = (req, res) => {
|
|
try {
|
|
poadapter.queryPoAdjListDetail(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[636] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.getpoapprovedlist = (req, res) => {
|
|
try {
|
|
poadapter.queryPoApproveList(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[636] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.deletepoadj = (req, res) => {
|
|
try {
|
|
poadapter.queryDeleteAdjPO(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[636] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.submitpoadj = (req, res) => {
|
|
try {
|
|
poadapter.querySubmitAdjPO(req, function (err, data) {
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = "[636] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|
|
|
|
exports.uploadPOSAP = (req, res) => {
|
|
try {
|
|
let status = req.body.status;
|
|
console.log('req.body.filename =>', req.body.filename)
|
|
let ext = req.body.filename.split(".")[1];
|
|
let filename = req.body.filename + "_" + req.nik + "_" + Date.now() + "." + ext;
|
|
|
|
fs.rename(
|
|
process.env.BASEPATH + "/assets/sap-po/" + req.body.filename,
|
|
process.env.BASEPATH + "/assets/sap-po/" + filename,
|
|
function (err) {
|
|
if (err) {
|
|
poadapter.sendResponse(500, err, res);
|
|
} else {
|
|
poadapter.queryUpdatePoHeaderWithFile(req, filename, function (err, resdata) {
|
|
console.log("err upload PO =>", err);
|
|
let statusCode = resdata != null ? resdata.meta.code : 200;
|
|
if (err) {
|
|
statusCode = 500;
|
|
poadapter.sendResponse(statusCode, resdata, res);
|
|
} else {
|
|
poadapter.queryUpdateUploadPoNumber(req, "Success Bypass", function (err, data) {
|
|
console.log("err queryUpdateUploadPoNumber =>", err);
|
|
|
|
let statusCode = data != null ? data.meta.code : 200;
|
|
if (err) statusCode = 500;
|
|
poadapter.sendResponse(statusCode, data, res);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
},
|
|
);
|
|
} catch (err) {
|
|
apireshandler.meta.code = 502;
|
|
apireshandler.meta.message = " [123] : PO controller, " + err.toString();
|
|
poadapter.sendResponse(502, apireshandler, res);
|
|
}
|
|
};
|