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'); 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){ let statusCode = resdata!=null ? resdata.meta.code : 200 ; if(err){ statusCode = 500; poadapter.sendResponse(statusCode,data, res); } else{ poadapter.queryUpdatePoNumber(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 = " [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){ 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; let resuri={ 'method': 'POST', // 'url': baseurlsap+'/createPo', '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, '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(); 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.queryUpdatePoNumber(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.queryUpdatePoNumber(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){ 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; let resuri={ 'method': 'POST', // 'url': baseurlsap+'/createPo', 'url': baseurlsap+'/migo?gm_code='+gm_code+'&pstng_date='+pstng_date+'&doc_date='+doc_date+'&header_txt='+header_txt+'&goodsmvt_item[]='+goodsmvt_item, 'headers': { 'Content-Type': 'application/json', 'x-api-key' : apikeysap }, // form: formjson, }; // 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) { 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)); 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, }; // 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.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)); 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, }; // 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.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)); 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, }; // 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.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){ 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,function(err,data){ poadapter.sendResponse(500,data, res); }); } else{ poadapter.queryUpdatePoNumber(req,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); } }