Files
EON_XSJSFRAMEWORK/uniorg/eon/nice/v1/nicetransactiondata.xsjs
T

159 lines
7.1 KiB
JavaScript

//HTTP CALL
function doHTTPCall(oCdrCallId) {
//http://172.17.12.201:8080/B1iXcellerator/exec/ipo/vP.0010000104.in_HCSX/com.sap.b1i.vplatform.runtime/INB_HT_CALL_SYNC_XPT/INB_HT_CALL_SYNC_XPT.ipo/proc?biu=uni.eon.emob.addcdr&SysId=0010000100&CdrCallId=4aa9b243be184a4abdb4179f375459be
var destn_pkg = "eon.ServiceLayer";
var dest_name = "B1I";
try
{
var dest = $.net.http.readDestination(destn_pkg, dest_name);
var client = new $.net.http.Client();
var req = new $.web.WebRequest($.net.http.GET, "");
var oSysId = "0010000100";
// oCdrCallId = "4aa9b243be184a4abdb4179f375459be";
req.parameters.set("biu", "uni.eon.emob.addcdr");
req.parameters.set("msglog", "true");
req.parameters.set("SysId", oSysId);
req.parameters.set("CdrCallId", oCdrCallId);
//, "/httpdest.png");
client.request(req, dest);
var response = client.getResponse();
var b1iResp = response.body.asString()
$.response.status = $.net.http.OK;
$.response.contentType = "text/xml";
$.response.setBody(b1iResp);
} catch (e) {
$.response.contentType = "text/plain";
$.response.setBody(e.message);
}
}
function PutDataInTable() {
var pdcontent = $.request.body.asString();
// pdcontent = pdcontent.replace(/\"([^(\")"]+)\":/g,"$1:");
var pdcdrObj = JSON.parse(pdcontent);
var conn = $.db.getConnection();
var pstmt;
var rs;
var test;
var query;
var vals = {};
var data = [];
// var query2;
// var output = {results: [] };
try {
query =
"INSERT INTO \"NICEPORTAL\".\"CHARGEDATA\" (ID,CALLID,CDRID,EVSEID,CONTRACTID,INSTANCE,TOKENTYPE,CONSUMEDENERGY,OPERATORID,OPERATORNAME,CHARGEPOINTTYPE,MAXSOCKETPOWER,ADDRESS,ZIP,CITY,COUNTRY,PROVIDERID,PROVIDERNAME,CHARGINGSTARTTIME,CHARGINGSTOPTIME,PARKINGSTARTTIME,PARKINGSTOPTIME,METERSTART,METERSTOP,TARIFF,CURRENCY,VAT,BILLINGVALUEBRUTTO,BILLINGVALUENETTO,PARKINGTIMEPRICEBRUTTO,PARKINGTIMEPRICENETTO,ADITIONALPRICEBRUTTO,ADITIONALPRICENETTO,B2CPRICING,ASSETOWNERPRICING,CPOPRICING,JSONRAW,OPERATORSUBMANDANT,FREECHARGE,CREATE_TS,UPDATE_TS) values (\"NICEPORTAL\".\"SEQ_TRANSACTIONDATA_ID\".NEXTVAL,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP)";
//query = "INSERT INTO \"NICEPORTAL\".\"CHARGEDATA\" (ID,CALLID,CDRID,CREATE_TS,UPDATE_TS) values (\"NICEPORTAL\".\"SEQ_TRANSACTIONDATA_ID\".NEXTVAL,?,?,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP)";
pstmt = conn.prepareStatement(query);
pstmt.setString(1, pdcdrObj.callId.toString());
pstmt.setString(2, pdcdrObj.chargeData[0].cdrId.toString());
pstmt.setString(3, pdcdrObj.chargeData[0].evseID.toString());
pstmt.setString(4, pdcdrObj.chargeData[0].contractId.toString());
pstmt.setString(5, pdcdrObj.chargeData[0].emt.instance.toString());
pstmt.setString(6, pdcdrObj.chargeData[0].emt.tokenType.toString());
pstmt.setString(7, pdcdrObj.chargeData[0].consumedEnergy.toString());
pstmt.setString(8, pdcdrObj.chargeData[0].evseDetails.operatorId.toString());
pstmt.setString(9, pdcdrObj.chargeData[0].evseDetails.operatorName.toString());
pstmt.setString(10, pdcdrObj.chargeData[0].evseDetails.connectorType.chargePointType.toString());
pstmt.setString(11, pdcdrObj.chargeData[0].evseDetails.connectorType.maxSocketPower.toString());
pstmt.setString(12, pdcdrObj.chargeData[0].evseDetails.location.address.toString());
pstmt.setString(13, pdcdrObj.chargeData[0].evseDetails.location.zip.toString());
pstmt.setString(14, pdcdrObj.chargeData[0].evseDetails.location.city.toString());
pstmt.setString(15, pdcdrObj.chargeData[0].evseDetails.location.country.toString());
pstmt.setString(16, pdcdrObj.chargeData[0].contractDetails.providerID.toString());
pstmt.setString(17, pdcdrObj.chargeData[0].contractDetails.providerName.toString());
pstmt.setString(18, pdcdrObj.chargeData[0].sessionDetails.chargingSession.startTime.toString());
pstmt.setString(19, pdcdrObj.chargeData[0].sessionDetails.chargingSession.stopTime.toString());
pstmt.setString(20, pdcdrObj.chargeData[0].sessionDetails.parkingSession.startTime.toString());
pstmt.setString(21, pdcdrObj.chargeData[0].sessionDetails.parkingSession.stopTime.toString());
pstmt.setString(22, pdcdrObj.chargeData[0].meterValueDetails.meterStart.toString());
pstmt.setString(23, pdcdrObj.chargeData[0].meterValueDetails.meterStop.toString());
//test = JSON.stringify(pdcdrObj.callId.toString());
pstmt.setString(24, pdcdrObj.chargeData[0].b2cPricing.tariff.toString());
pstmt.setString(25, pdcdrObj.chargeData[0].b2cPricing.currency.toString());
pstmt.setString(26, pdcdrObj.chargeData[0].b2cPricing.vat.toString());
pstmt.setString(27, pdcdrObj.chargeData[0].b2cPricing.billingValueBrutto.toString());
pstmt.setString(28, pdcdrObj.chargeData[0].b2cPricing.billingValueNetto.toString());
pstmt.setString(29, pdcdrObj.chargeData[0].b2cPricing.billingItems[0].itemPriceBrutto.toString());
pstmt.setString(30, pdcdrObj.chargeData[0].b2cPricing.billingItems[0].itemPriceNetto.toString());
pstmt.setString(31, pdcdrObj.chargeData[0].b2cPricing.billingItems[1].itemPriceBrutto.toString());
pstmt.setString(32, pdcdrObj.chargeData[0].b2cPricing.billingItems[1].itemPriceNetto.toString());
pstmt.setString(33, JSON.stringify(pdcdrObj.chargeData[0].b2cPricing));
pstmt.setString(34, JSON.stringify(pdcdrObj.chargeData[0].assetOwnerPricing));
pstmt.setString(35, JSON.stringify(pdcdrObj.chargeData[0].cpoPricing));
pstmt.setString(36, JSON.stringify(pdcdrObj));
pstmt.setString(37, pdcdrObj.chargeData[0].operatorSubmandant.toString());
pstmt.setString(38, pdcdrObj.chargeData[0].freeCharge.toString());
// pstmt.setString(7, JSON.stringify(pdcdrObj.chargeData[0].cdrId));
// pstmt.setString(8, JSON.stringify(pdcdrObj.chargeData[0].cdrId));
// pstmt.setString(3, JSON.stringify(pdcdrObj.evseID));
rs = pstmt.executeUpdate();
pstmt.close();
conn.commit();
conn.close();
//disabled 31.01.2018 für C.Schmidt
// doHTTPCall (pdcdrObj.callId.toString());
// while (rs.next()) {
// var record = {};
// record.productId = rs.getString(1);
// record.productName = rs.getString(2);
// record.supplierCountry = rs.getString(3);
// output.results.push(record);
// }
// rs.close();
// pstmt.close();
// conn.close();
} catch (e) {
vals.status = 'error';
vals.description = e.message;
data.push(vals);
var errbody = JSON.stringify(data);
$.response.contentType = 'application/json';
$.response.setBody(errbody);
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
return;
}
vals.status = 'success'
vals.description = 'Data accepted and proceeded'
data.push(vals);
var okbody = JSON.stringify(data);
//var body = JSON.stringify(test);
$.response.contentType = 'application/json';
$.response.setBody(okbody);
$.response.status = $.net.http.OK;
}
var content = $.request.body.asString();
//var cdrObj = JSON.parse(content);
//var ChargeDataObj = cdrObj.chargeData[0].cdrId;
// doHTTPCall("4aa9b243be184a4abdb4179f375459be");
PutDataInTable();
// var result = JSON.stringify(cdrObj.callId);
// var result = JSON.stringify(ChargeDataObj);
// $.response.contentType = 'application/json';
// $.response.setBody(result);
// $.response.status = $.net.http.OK;