add field vendor in procjustification
This commit is contained in:
@ -119,89 +119,74 @@ exports.createPOSAPold = (req, res) => {
|
||||
// console.log(resdata.data.length);
|
||||
// poadapter.sendResponse(statusCode,resdata, res);
|
||||
if (resdata.data.length > 0) {
|
||||
const idxpr = resdata.data[0]["idxpr"] ?? 0;
|
||||
const data = resdata?.data?.[0] ?? {};
|
||||
|
||||
let comp_code = "1603";
|
||||
let doc_type = "POTL";
|
||||
let creat_date = req.body.createdate;
|
||||
let created_by = req.body.createdby;
|
||||
let vendor = resdata.data[0]["vendorid"]; //"TL30000001";
|
||||
let purch_org = "1603";
|
||||
let pur_group = "TIL";
|
||||
let currency = "USD";
|
||||
let doc_date = resdata.data[0]["podate"];
|
||||
let vper_start = resdata.data[0]["vper_start"];
|
||||
let vper_end = resdata.data[0]["vper_end"];
|
||||
// === PO ITEM
|
||||
let po_number = "000";
|
||||
let description = resdata.data[0]["podescription"]; //req.body.podescription;
|
||||
// let quantity="1";
|
||||
let quantity = resdata.data[0]["totalqty"].toString().replace(",", "."); // TotalPo / TotalValue PR
|
||||
let po_unit = "PKT";
|
||||
let net_price = req.body.totalpo;
|
||||
let final_inv = "X";
|
||||
let gr_basediv = "X";
|
||||
let preq_no = resdata.data[0]["prnumber"];
|
||||
let preq_item = "00010";
|
||||
let poitem =
|
||||
preq_item +
|
||||
"|" +
|
||||
description +
|
||||
"|" +
|
||||
quantity +
|
||||
"|" +
|
||||
po_unit +
|
||||
"|" +
|
||||
net_price +
|
||||
"|" +
|
||||
final_inv +
|
||||
"|" +
|
||||
gr_basediv +
|
||||
"|" +
|
||||
preq_no +
|
||||
"|" +
|
||||
preq_item;
|
||||
let poschedule = "00010|" + resdata.data[0]["vper_end"];
|
||||
let zzctrnum = resdata.data[0]["identifyprojectnumber"].toString().trim(); //req.body.podescription;
|
||||
const url =
|
||||
baseurlsap +
|
||||
"/createPo?comp_code=" +
|
||||
comp_code +
|
||||
"&doc_type=" +
|
||||
doc_type +
|
||||
"&creat_date=" +
|
||||
creat_date +
|
||||
"&created_by=" +
|
||||
created_by +
|
||||
"&vendor=" +
|
||||
vendor +
|
||||
"&purch_org=" +
|
||||
purch_org +
|
||||
"&pur_group=" +
|
||||
pur_group +
|
||||
"¤cy=" +
|
||||
currency +
|
||||
"&doc_date=" +
|
||||
doc_date +
|
||||
"&vper_start=" +
|
||||
vper_start +
|
||||
"&vper_end=" +
|
||||
vper_end +
|
||||
"&poitem[]=" +
|
||||
poitem +
|
||||
"&poschedule[]=" +
|
||||
poschedule +
|
||||
"&zzctrnum=" +
|
||||
zzctrnum;
|
||||
let resuri = {
|
||||
"method": "POST",
|
||||
// 'url': baseurlsap+'/createPo',
|
||||
"url": url,
|
||||
"headers": {
|
||||
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,
|
||||
},
|
||||
// form: formjson,
|
||||
};
|
||||
|
||||
const logData = {
|
||||
@ -790,64 +775,41 @@ exports.createHeaderPOSAP = (req, res) => {
|
||||
// console.log(resdata.data.length);
|
||||
// poadapter.sendResponse(statusCode,resdata, res);
|
||||
if (resdata.data.length > 0) {
|
||||
const idxpr = resdata.data[0]["idxpr"] ?? 0;
|
||||
const data = resdata?.data?.[0] ?? {};
|
||||
const {
|
||||
idxpr = 0,
|
||||
identifyprojectnumber = "",
|
||||
contractdescription = "",
|
||||
contractperiodfrom = "",
|
||||
contractperiodto = "",
|
||||
vendorname = "",
|
||||
} = data;
|
||||
|
||||
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";
|
||||
// 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",
|
||||
};
|
||||
|
||||
const 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;
|
||||
let resuri = {
|
||||
"method": "POST",
|
||||
"url": url,
|
||||
"headers": {
|
||||
// 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,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user