159 lines
7.1 KiB
JavaScript
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;
|