Export from HANA XS Repository
This commit is contained in:
@@ -0,0 +1,138 @@
|
|||||||
|
CREATE VIEW "EOPERATE"."V_CHARGEDATA" ( "CHECK_CONSUMED_WATTHOUR",
|
||||||
|
"CHECK_START_STOP",
|
||||||
|
"CHECK_DURATION",
|
||||||
|
"CHECK_CONTRACT_EXISTS",
|
||||||
|
"CHECK_BILLING",
|
||||||
|
"BILLING_ID",
|
||||||
|
"BDR_ID",
|
||||||
|
"EMAID",
|
||||||
|
"UNIQUE_ID",
|
||||||
|
"CREATION_DATE_UTC",
|
||||||
|
"CHARGEPOINT_ID",
|
||||||
|
"CHARGEPOINT_TYPE",
|
||||||
|
"CHARGEPOINT_METER_ID",
|
||||||
|
"CHARGEPOINT_ADDRESS_COUNTRY",
|
||||||
|
"CHARGEPOINT_ADDRESS_POSTALCODE",
|
||||||
|
"CHARGEPOINT_ADDRESS_CITY",
|
||||||
|
"CHARGEPOINT_ADDRESS_STREET",
|
||||||
|
"CHARGEPOINT_OPERATOR_ID",
|
||||||
|
"CHARGEPOINT_OPERATOR_NAME",
|
||||||
|
"EMOBILITY_PROVIDER_ID",
|
||||||
|
"EMOBILITY_PROVIDER_NAME",
|
||||||
|
"CHARGE_DATA_AUTHORIZATION_TYPE",
|
||||||
|
"CHARGE_DATA_CONSUMPTION_KWH",
|
||||||
|
"CHARGE_DATA_BEGIN_UTC",
|
||||||
|
"CHARGE_DATA_END_UTC",
|
||||||
|
"CHARGE_DATA_TIME_ZONE",
|
||||||
|
"CHARGE_DATA_EKA_STATUS",
|
||||||
|
"SUBSCRIPTION_ID",
|
||||||
|
"PRICING_ITEMS_1_TYPE",
|
||||||
|
"PRICING_ITEMS_1_UNIT",
|
||||||
|
"PRICING_ITEMS_1_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_1_QUANTITY",
|
||||||
|
"PRICING_ITEMS_1_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_1_CURRENCY",
|
||||||
|
"PRICING_ITEMS_2_TYPE",
|
||||||
|
"PRICING_ITEMS_2_UNIT",
|
||||||
|
"PRICING_ITEMS_2_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_2_QUANTITY",
|
||||||
|
"PRICING_ITEMS_2_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_2_CURRENCY",
|
||||||
|
"PRICING_ITEMS_3_TYPE",
|
||||||
|
"PRICING_ITEMS_3_UNIT",
|
||||||
|
"PRICING_ITEMS_3_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_3_QUANTITY",
|
||||||
|
"PRICING_ITEMS_3_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_3_CURRENCY",
|
||||||
|
"PRICING_ITEMS_4_TYPE",
|
||||||
|
"PRICING_ITEMS_4_UNIT",
|
||||||
|
"PRICING_ITEMS_4_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_4_QUANTITY",
|
||||||
|
"PRICING_ITEMS_4_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_4_CURRENCY",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"CREATE_USER",
|
||||||
|
"UPDATE_USER" ) AS WITH "EVDRV" AS (select
|
||||||
|
distinct U_EOPERATE_ID
|
||||||
|
from "A19753_EON_P01"."@EON_CONTRACT_EVDRV"
|
||||||
|
where U_EOPERATE_ID <> '') SELECT
|
||||||
|
CASE WHEN CHARGE_DATA_CONSUMPTION_KWH > 120
|
||||||
|
OR CHARGE_DATA_CONSUMPTION_KWH = 0
|
||||||
|
THEN 'INVALID'
|
||||||
|
ELSE 'OK'
|
||||||
|
END as "CHECK_CONSUMED_WATTHOUR",
|
||||||
|
CASE WHEN CHARGE_DATA_BEGIN_UTC IS NULL
|
||||||
|
THEN 'NULL' WHEN CHARGE_DATA_BEGIN_UTC = CHARGE_DATA_END_UTC
|
||||||
|
THEN 'EQUAL' WHEN CHARGE_DATA_END_UTC < CHARGE_DATA_BEGIN_UTC
|
||||||
|
THEN 'INVALID'
|
||||||
|
ELSE 'OK'
|
||||||
|
END AS "CHECK_START_STOP",
|
||||||
|
'OK' AS "CHECK_DURATION",
|
||||||
|
CASE WHEN EVDRV.U_EOPERATE_ID IS NULL
|
||||||
|
THEN 'NO CONTRACT'
|
||||||
|
ELSE 'OK'
|
||||||
|
END as "CHECK_CONTRACT_EXISTS",
|
||||||
|
(SELECT
|
||||||
|
LAST_VALUE(STATUS
|
||||||
|
order by ID)
|
||||||
|
FROM "A19753_EON_P01"."EON_CHARGEDATA" CD
|
||||||
|
WHERE CD.NICE_CDRID = ET.UNIQUE_ID
|
||||||
|
AND CD.BILLING_MODE = 'EMP' ) as CHECK_BILLING,
|
||||||
|
(SELECT
|
||||||
|
MAX(ID )
|
||||||
|
FROM "A19753_EON_P01"."EON_CHARGEDATA" CD
|
||||||
|
WHERE CD.NICE_CDRID = ET.UNIQUE_ID
|
||||||
|
AND CD.BILLING_MODE = 'EMP' ) as BILLING_ID,
|
||||||
|
"BDR_ID",
|
||||||
|
"EMAID",
|
||||||
|
"UNIQUE_ID",
|
||||||
|
"CREATION_DATE_UTC",
|
||||||
|
"CHARGEPOINT_ID",
|
||||||
|
"CHARGEPOINT_TYPE",
|
||||||
|
"CHARGEPOINT_METER_ID",
|
||||||
|
"CHARGEPOINT_ADDRESS_COUNTRY",
|
||||||
|
"CHARGEPOINT_ADDRESS_POSTALCODE",
|
||||||
|
"CHARGEPOINT_ADDRESS_CITY",
|
||||||
|
"CHARGEPOINT_ADDRESS_STREET",
|
||||||
|
"CHARGEPOINT_OPERATOR_ID",
|
||||||
|
"CHARGEPOINT_OPERATOR_NAME",
|
||||||
|
"EMOBILITY_PROVIDER_ID",
|
||||||
|
"EMOBILITY_PROVIDER_NAME",
|
||||||
|
"CHARGE_DATA_AUTHORIZATION_TYPE",
|
||||||
|
"CHARGE_DATA_CONSUMPTION_KWH",
|
||||||
|
"CHARGE_DATA_BEGIN_UTC",
|
||||||
|
"CHARGE_DATA_END_UTC",
|
||||||
|
"CHARGE_DATA_TIME_ZONE",
|
||||||
|
"CHARGE_DATA_EKA_STATUS",
|
||||||
|
"SUBSCRIPTION_ID",
|
||||||
|
"PRICING_ITEMS_1_TYPE",
|
||||||
|
"PRICING_ITEMS_1_UNIT",
|
||||||
|
"PRICING_ITEMS_1_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_1_QUANTITY",
|
||||||
|
"PRICING_ITEMS_1_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_1_CURRENCY",
|
||||||
|
"PRICING_ITEMS_2_TYPE",
|
||||||
|
"PRICING_ITEMS_2_UNIT",
|
||||||
|
"PRICING_ITEMS_2_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_2_QUANTITY",
|
||||||
|
"PRICING_ITEMS_2_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_2_CURRENCY",
|
||||||
|
"PRICING_ITEMS_3_TYPE",
|
||||||
|
"PRICING_ITEMS_3_UNIT",
|
||||||
|
"PRICING_ITEMS_3_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_3_QUANTITY",
|
||||||
|
"PRICING_ITEMS_3_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_3_CURRENCY",
|
||||||
|
"PRICING_ITEMS_4_TYPE",
|
||||||
|
"PRICING_ITEMS_4_UNIT",
|
||||||
|
"PRICING_ITEMS_4_UNIT_PRICE",
|
||||||
|
"PRICING_ITEMS_4_QUANTITY",
|
||||||
|
"PRICING_ITEMS_4_NET_AMOUNT",
|
||||||
|
"PRICING_ITEMS_4_CURRENCY",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"CREATE_USER",
|
||||||
|
"UPDATE_USER"
|
||||||
|
from "EOPERATE"."CHARGEDATA" ET
|
||||||
|
LEFT OUTER join EVDRV on ET."EMAID" = EVDRV.U_EOPERATE_ID WITH READ ONLY
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
CREATE VIEW "EOPERATE"."V_CHARGEDATA_DUPLICATES" ( "UNIQUE_ID",
|
||||||
|
"BDR_ID",
|
||||||
|
"EMAID",
|
||||||
|
"CHARGEPOINT_ID",
|
||||||
|
"CHARGE_DATA_BEGIN_UTC",
|
||||||
|
"CHARGE_DATA_END_UTC",
|
||||||
|
"CHARGE_DATA_CONSUMPTION_KWH",
|
||||||
|
"CHECK_BILLING",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"RANK" ) AS WITH "VALID" AS (SELECT
|
||||||
|
UNIQUE_ID ,
|
||||||
|
BDR_ID ,
|
||||||
|
EMAID ,
|
||||||
|
CHARGEPOINT_ID,
|
||||||
|
CHARGE_DATA_BEGIN_UTC,
|
||||||
|
CHARGE_DATA_END_UTC ,
|
||||||
|
CHARGE_DATA_CONSUMPTION_KWH,
|
||||||
|
IFNULL(CHECK_BILLING,
|
||||||
|
'Z') AS CHECK_BILLING,
|
||||||
|
CREATE_TS,
|
||||||
|
UPDATE_TS
|
||||||
|
FROM "EOPERATE"."V_CHARGEDATA" AS V
|
||||||
|
WHERE CHECK_CONTRACT_EXISTS = 'OK' --AND CHECK_CONSUMED_WATTHOUR = 'OK'
|
||||||
|
--AND CHECK_START_STOP = 'OK'
|
||||||
|
|
||||||
|
AND CHECK_DURATION = 'OK'
|
||||||
|
AND UPDATE_TS > '20220101'),
|
||||||
|
"HAVING_DUPLICATES" AS (SELECT
|
||||||
|
EMAID,
|
||||||
|
CHARGEPOINT_ID,
|
||||||
|
CHARGE_DATA_BEGIN_UTC,
|
||||||
|
COUNT(*) AS DUPLICATES
|
||||||
|
FROM VALID
|
||||||
|
GROUP BY EMAID,
|
||||||
|
CHARGEPOINT_ID,
|
||||||
|
CHARGE_DATA_BEGIN_UTC HAVING COUNT(*) > 1),
|
||||||
|
"DUPLICATE_WITH_RANK" AS (SELECT
|
||||||
|
"V"."UNIQUE_ID" ,
|
||||||
|
"V"."BDR_ID" ,
|
||||||
|
"V"."EMAID" ,
|
||||||
|
"V"."CHARGEPOINT_ID" ,
|
||||||
|
"V"."CHARGE_DATA_BEGIN_UTC" ,
|
||||||
|
"V"."CHARGE_DATA_END_UTC" ,
|
||||||
|
"V"."CHARGE_DATA_CONSUMPTION_KWH" ,
|
||||||
|
IFNULL("V"."CHECK_BILLING",
|
||||||
|
'Z') AS CHECK_BILLING,
|
||||||
|
"V"."CREATE_TS" ,
|
||||||
|
"V"."UPDATE_TS" ,
|
||||||
|
RANK() OVER ( PARTITION BY EMAID,
|
||||||
|
CHARGEPOINT_ID,
|
||||||
|
CHARGE_DATA_BEGIN_UTC
|
||||||
|
ORDER BY CHECK_BILLING,
|
||||||
|
CHARGE_DATA_CONSUMPTION_KWH DESC,
|
||||||
|
BDR_ID DESC ) AS Rank
|
||||||
|
FROM "VALID" V
|
||||||
|
WHERE EXISTS (SELECT
|
||||||
|
1
|
||||||
|
FROM HAVING_DUPLICATES D
|
||||||
|
WHERE D.CHARGEPOINT_ID = V.CHARGEPOINT_ID
|
||||||
|
AND D.CHARGE_DATA_BEGIN_UTC = V.CHARGE_DATA_BEGIN_UTC
|
||||||
|
AND D.EMAID = V.EMAID)) SELECT
|
||||||
|
"D"."UNIQUE_ID" ,
|
||||||
|
"D"."BDR_ID" ,
|
||||||
|
"D"."EMAID" ,
|
||||||
|
"D"."CHARGEPOINT_ID" ,
|
||||||
|
"D"."CHARGE_DATA_BEGIN_UTC" ,
|
||||||
|
"D"."CHARGE_DATA_END_UTC" ,
|
||||||
|
"D"."CHARGE_DATA_CONSUMPTION_KWH" ,
|
||||||
|
IFNULL("D"."CHECK_BILLING",
|
||||||
|
'Z') AS CHECK_BILLING,
|
||||||
|
"D"."CREATE_TS" ,
|
||||||
|
"D"."UPDATE_TS" ,
|
||||||
|
"D"."RANK"
|
||||||
|
FROM "DUPLICATE_WITH_RANK" D
|
||||||
|
WHERE UPDATE_TS > '20230101'
|
||||||
|
ORDER BY D.CHARGE_DATA_BEGIN_UTC DESC ,
|
||||||
|
D.CHARGEPOINT_ID,
|
||||||
|
D.RANK WITH READ ONLY
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
ALTER VIEW "EMOBILITY"."V_CHARGEDATA_EMP_EOPERATE" ( "ID", "CALLID", "CDRID", "EVSEID", "CONTRACTID", "RFID", "INSTANCE", "TOKENTYPE", "CONSUMEDENERGY",
|
||||||
|
"OPERATORID", "OPERATORNAME", "OPERATORSUBMANDANT", "FREECHARGE", "CHARGEPOINTTYPE", "METERID", "MAXSOCKETPOWER", "ADDRESS", "ZIP", "CITY", "COUNTRY", "PROVIDERID",
|
||||||
|
"PROVIDERNAME", "CHARGINGSTARTTIME", "CHARGINGSTOPTIME", "PARKINGSTARTTIME", "PARKINGSTOPTIME", "METERSTART", "METERSTOP", "TARIFF", "CURRENCY", "VAT",
|
||||||
|
"BILLINGVALUEBRUTTO", "BILLINGVALUENETTO", "PARKINGTIMEPRICEBRUTTO", "PARKINGTIMEPRICENETTO", "ADITIONALPRICEBRUTTO", "ADITIONALPRICENETTO", "KWHNETPRICE",
|
||||||
|
"MINUTENETPRICE", "SESSIONNETPRICE", "DURATION", "EICHRECHTTYPE", "MILEAGE", "SUBSCRIPTION_ID", "CREATE_TS", "UPDATE_TS", "STATUS", "BILLING", "SYSTYPE", "VIEWVERSION"
|
||||||
|
) AS
|
||||||
|
select
|
||||||
|
'EOP' || "BDR_ID",
|
||||||
|
"BDR_ID",
|
||||||
|
"BDR_ID",
|
||||||
|
"CHARGEPOINT_ID",
|
||||||
|
"EMAID",
|
||||||
|
UPPER("UNIQUE_ID"),
|
||||||
|
UPPER("UNIQUE_ID"),
|
||||||
|
"CHARGE_DATA_AUTHORIZATION_TYPE",
|
||||||
|
"CHARGE_DATA_CONSUMPTION_KWH" * 1000,
|
||||||
|
"CHARGEPOINT_OPERATOR_ID",
|
||||||
|
"CHARGEPOINT_OPERATOR_NAME",
|
||||||
|
'OPERATORSUBMANDANT',
|
||||||
|
'false',
|
||||||
|
"CHARGEPOINT_TYPE",
|
||||||
|
"CHARGEPOINT_METER_ID",
|
||||||
|
0,
|
||||||
|
"CHARGEPOINT_ADDRESS_STREET",
|
||||||
|
"CHARGEPOINT_ADDRESS_POSTALCODE",
|
||||||
|
"CHARGEPOINT_ADDRESS_CITY",
|
||||||
|
"CHARGEPOINT_ADDRESS_COUNTRY",
|
||||||
|
"EMOBILITY_PROVIDER_ID",
|
||||||
|
"EMOBILITY_PROVIDER_NAME",
|
||||||
|
"CHARGE_DATA_BEGIN_UTC",
|
||||||
|
"CHARGE_DATA_END_UTC",
|
||||||
|
"CHARGE_DATA_BEGIN_UTC",
|
||||||
|
"CHARGE_DATA_END_UTC",
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
'TARIFF',
|
||||||
|
CASE
|
||||||
|
WHEN "PRICING_ITEMS_1_TYPE" = 'CUS' THEN "PRICING_ITEMS_1_CURRENCY"
|
||||||
|
WHEN "PRICING_ITEMS_2_TYPE" = 'CUS' THEN "PRICING_ITEMS_2_CURRENCY"
|
||||||
|
WHEN "PRICING_ITEMS_3_TYPE" = 'CUS' THEN "PRICING_ITEMS_3_CURRENCY"
|
||||||
|
WHEN "PRICING_ITEMS_4_TYPE" = 'CUS' THEN "PRICING_ITEMS_4_CURRENCY"
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
CASE
|
||||||
|
WHEN "PRICING_ITEMS_1_TYPE" = 'CUS' THEN "PRICING_ITEMS_1_NET_AMOUNT"
|
||||||
|
WHEN "PRICING_ITEMS_2_TYPE" = 'CUS' THEN "PRICING_ITEMS_2_NET_AMOUNT"
|
||||||
|
WHEN "PRICING_ITEMS_3_TYPE" = 'CUS' THEN "PRICING_ITEMS_3_NET_AMOUNT"
|
||||||
|
WHEN "PRICING_ITEMS_4_TYPE" = 'CUS' THEN "PRICING_ITEMS_4_NET_AMOUNT"
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
CASE
|
||||||
|
WHEN "PRICING_ITEMS_1_TYPE" = 'CUS' AND "PRICING_ITEMS_1_UNIT" = 'KWH' THEN "PRICING_ITEMS_1_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_2_TYPE" = 'CUS' AND "PRICING_ITEMS_2_UNIT" = 'KWH' THEN "PRICING_ITEMS_2_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_3_TYPE" = 'CUS' AND "PRICING_ITEMS_3_UNIT" = 'KWH' THEN "PRICING_ITEMS_3_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_4_TYPE" = 'CUS' AND "PRICING_ITEMS_4_UNIT" = 'KWH' THEN "PRICING_ITEMS_4_UNIT_PRICE"
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
CASE
|
||||||
|
WHEN "PRICING_ITEMS_1_TYPE" = 'CUS' AND "PRICING_ITEMS_1_UNIT" = 'MIN' THEN "PRICING_ITEMS_1_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_2_TYPE" = 'CUS' AND "PRICING_ITEMS_2_UNIT" = 'MIN' THEN "PRICING_ITEMS_2_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_3_TYPE" = 'CUS' AND "PRICING_ITEMS_3_UNIT" = 'MIN' THEN "PRICING_ITEMS_3_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_4_TYPE" = 'CUS' AND "PRICING_ITEMS_4_UNIT" = 'MIN' THEN "PRICING_ITEMS_4_UNIT_PRICE"
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
CASE
|
||||||
|
WHEN "PRICING_ITEMS_1_TYPE" = 'CUS' AND "PRICING_ITEMS_1_UNIT" = 'ST' THEN "PRICING_ITEMS_1_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_2_TYPE" = 'CUS' AND "PRICING_ITEMS_2_UNIT" = 'ST' THEN "PRICING_ITEMS_2_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_3_TYPE" = 'CUS' AND "PRICING_ITEMS_3_UNIT" = 'ST' THEN "PRICING_ITEMS_3_UNIT_PRICE"
|
||||||
|
WHEN "PRICING_ITEMS_4_TYPE" = 'CUS' AND "PRICING_ITEMS_4_UNIT" = 'ST' THEN "PRICING_ITEMS_4_UNIT_PRICE"
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
CASE
|
||||||
|
WHEN "PRICING_ITEMS_1_TYPE" = 'CUS' AND "PRICING_ITEMS_1_UNIT" = 'MIN' THEN "PRICING_ITEMS_1_QUANTITY"
|
||||||
|
WHEN "PRICING_ITEMS_2_TYPE" = 'CUS' AND "PRICING_ITEMS_2_UNIT" = 'MIN' THEN "PRICING_ITEMS_2_QUANTITY"
|
||||||
|
WHEN "PRICING_ITEMS_3_TYPE" = 'CUS' AND "PRICING_ITEMS_3_UNIT" = 'MIN' THEN "PRICING_ITEMS_3_QUANTITY"
|
||||||
|
WHEN "PRICING_ITEMS_4_TYPE" = 'CUS' AND "PRICING_ITEMS_4_UNIT" = 'MIN' THEN "PRICING_ITEMS_4_QUANTITY"
|
||||||
|
ELSE 0
|
||||||
|
END,
|
||||||
|
"CHARGE_DATA_EKA_STATUS",
|
||||||
|
0,
|
||||||
|
"SUBSCRIPTION_ID",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
'','Y',
|
||||||
|
'EOPERATE',
|
||||||
|
'V 1.4/28.09.2020'
|
||||||
|
from "EOPERATE"."CHARGEDATA"
|
||||||
|
where
|
||||||
|
(
|
||||||
|
"PRICING_ITEMS_1_TYPE" = 'CUS' AND ("PRICING_ITEMS_1_QUANTITY" > 2 OR "PRICING_ITEMS_1_UNIT" != 'MIN')
|
||||||
|
OR
|
||||||
|
"PRICING_ITEMS_2_TYPE" = 'CUS' AND ("PRICING_ITEMS_2_QUANTITY" > 2 OR "PRICING_ITEMS_2_UNIT" != 'MIN')
|
||||||
|
OR
|
||||||
|
"PRICING_ITEMS_3_TYPE" = 'CUS' AND ("PRICING_ITEMS_3_QUANTITY" > 2 OR "PRICING_ITEMS_3_UNIT" != 'MIN')
|
||||||
|
OR
|
||||||
|
"PRICING_ITEMS_4_TYPE" = 'CUS' AND ("PRICING_ITEMS_4_QUANTITY" > 2 OR "PRICING_ITEMS_4_UNIT" != 'MIN')
|
||||||
|
)
|
||||||
|
and "CHARGE_DATA_CONSUMPTION_KWH" > 0
|
||||||
|
and "SUBSCRIPTION_ID" <> 'SU20200729002'
|
||||||
|
--and "PLUGTYPE" IS NOT NULL
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
create schema EOPERATE;
|
||||||
|
|
||||||
|
-- Version 1.2 / 25.09.2020
|
||||||
|
-- DROP SEQUENCE "EOPERATE"."SEQ_TRANSACTIONDATA_ID";
|
||||||
|
-- CREATE SEQUENCE "EOPERATE"."SEQ_TRANSACTIONDATA_ID";
|
||||||
|
DROP TABLE "EOPERATE"."CHARGEDATA";
|
||||||
|
CREATE COLUMN TABLE "EOPERATE"."CHARGEDATA" ("BDR_ID" NVARCHAR(50) NOT NULL,
|
||||||
|
"EMAID" NVARCHAR(50) NOT NULL ,
|
||||||
|
"UNIQUE_ID" NVARCHAR(50) ,
|
||||||
|
"CREATION_DATE_UTC" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_ID" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_TYPE" NVARCHAR(10),
|
||||||
|
"CHARGEPOINT_METER_ID" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_ADDRESS_COUNTRY" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_ADDRESS_POSTALCODE" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_ADDRESS_CITY" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_ADDRESS_STREET" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_OPERATOR_ID" NVARCHAR(50),
|
||||||
|
"CHARGEPOINT_OPERATOR_NAME" NVARCHAR(100),
|
||||||
|
"EMOBILITY_PROVIDER_ID" NVARCHAR(50),
|
||||||
|
"EMOBILITY_PROVIDER_NAME" NVARCHAR(50),
|
||||||
|
"CHARGE_DATA_AUTHORIZATION_TYPE" NVARCHAR(50),
|
||||||
|
"CHARGE_DATA_CONSUMPTION_KWH" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"CHARGE_DATA_BEGIN_UTC" NVARCHAR(50),
|
||||||
|
"CHARGE_DATA_END_UTC" NVARCHAR(50),
|
||||||
|
"CHARGE_DATA_TIME_ZONE" NVARCHAR(10),
|
||||||
|
"CHARGE_DATA_EKA_STATUS" NVARCHAR(10),
|
||||||
|
"SUBSCRIPTION_ID" NVARCHAR(50),
|
||||||
|
"PRICING_ITEMS_1_TYPE" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_1_UNIT" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_1_UNIT_PRICE" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_1_QUANTITY" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_1_NET_AMOUNT" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_1_CURRENCY" NVARCHAR(50),
|
||||||
|
"PRICING_ITEMS_2_TYPE" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_2_UNIT" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_2_UNIT_PRICE" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_2_QUANTITY" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_2_NET_AMOUNT" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_2_CURRENCY" NVARCHAR(50),
|
||||||
|
"PRICING_ITEMS_3_TYPE" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_3_UNIT" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_3_UNIT_PRICE" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_3_QUANTITY" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_3_NET_AMOUNT" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_3_CURRENCY" NVARCHAR(50),
|
||||||
|
"PRICING_ITEMS_4_TYPE" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_4_UNIT" NVARCHAR(10),
|
||||||
|
"PRICING_ITEMS_4_UNIT_PRICE" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_4_QUANTITY" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_4_NET_AMOUNT" DECIMAL(17,3) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_4_CURRENCY" NVARCHAR(50),
|
||||||
|
"JSONRAW" NCLOB MEMORY THRESHOLD 1000,
|
||||||
|
"CREATE_TS" LONGDATE CS_LONGDATE DEFAULT CURRENT_TIMESTAMP NOT NULL ,
|
||||||
|
"UPDATE_TS" LONGDATE CS_LONGDATE NOT NULL ,
|
||||||
|
PRIMARY KEY ("BDR_ID")) UNLOAD PRIORITY 5 AUTO MERGE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
-- Changes v1.1
|
||||||
|
ALTER TABLE "EOPERATE"."CHARGEDATA" ADD (
|
||||||
|
"SUBSCRIPTION_ID" NVARCHAR(50)
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE "EOPERATE"."CHARGEDATA" ADD (
|
||||||
|
"CREATE_USER" NVARCHAR(50) DEFAULT CURRENT_USER NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE "EOPERATE"."CHARGEDATA" ADD (
|
||||||
|
"UPDATE_USER" NVARCHAR(50) DEFAULT CURRENT_USER NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE "EOPERATE"."CHARGEDATA" ADD (
|
||||||
|
"BUSINESSVALIDATIONRESULT" NVARCHAR(100),
|
||||||
|
"TECHVALIDATIONRESULT" NVARCHAR(100)
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE "EOPERATE"."CHARGEDATA" ADD (
|
||||||
|
"NOTBILLABLEREASON" NVARCHAR(200)
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE "EOPERATE"."CHARGEDATA" ADD (
|
||||||
|
"DURATION" DECIMAL AS IFNULL(CEIL((SECONDS_BETWEEN(TO_TIMESTAMP("CHARGE_DATA_BEGIN_UTC"),TO_TIMESTAMP("CHARGE_DATA_END_UTC")) / 60 )),0)
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE "EOPERATE"."CHARGEDATA" ALTER (
|
||||||
|
"CHARGE_DATA_CONSUMPTION_KWH" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_1_UNIT_PRICE" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_1_QUANTITY" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_1_NET_AMOUNT" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_2_UNIT_PRICE" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_2_QUANTITY" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_2_NET_AMOUNT" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_3_UNIT_PRICE" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_3_QUANTITY" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_3_NET_AMOUNT" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_4_UNIT_PRICE" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_4_QUANTITY" DECIMAL(21,6) CS_FIXED,
|
||||||
|
"PRICING_ITEMS_4_NET_AMOUNT" DECIMAL(21,6) CS_FIXED
|
||||||
|
);
|
||||||
@@ -0,0 +1,161 @@
|
|||||||
|
ALTER VIEW "EMOBILITY"."V_CHARGEDATA_EMP" ( "ID",
|
||||||
|
"CALLID",
|
||||||
|
"CDRID",
|
||||||
|
"EVSEID",
|
||||||
|
"CONTRACTID",
|
||||||
|
"RFID",
|
||||||
|
"INSTANCE",
|
||||||
|
"TOKENTYPE",
|
||||||
|
"CONSUMEDENERGY",
|
||||||
|
"OPERATORID",
|
||||||
|
"OPERATORNAME",
|
||||||
|
"OPERATORSUBMANDANT",
|
||||||
|
"FREECHARGE",
|
||||||
|
"CHARGEPOINTTYPE",
|
||||||
|
" METERID",
|
||||||
|
"MAXSOCKETPOWER",
|
||||||
|
"ADDRESS",
|
||||||
|
"ZIP",
|
||||||
|
"CITY",
|
||||||
|
"COUNTRY",
|
||||||
|
"PROVIDERID",
|
||||||
|
"PROVIDERNAME",
|
||||||
|
"CHARGINGSTARTTIME",
|
||||||
|
"CHARGINGSTOPTIME",
|
||||||
|
"PARKINGSTARTTIME",
|
||||||
|
"PARKINGSTOPTIME",
|
||||||
|
"METERSTART",
|
||||||
|
"METERSTOP",
|
||||||
|
"TARIFF",
|
||||||
|
"CURRENCY",
|
||||||
|
"VAT",
|
||||||
|
"BILLINGVALUEBRUTTO",
|
||||||
|
"BILLINGVALUENETTO",
|
||||||
|
"PARKINGTIMEPRICEBRUTTO",
|
||||||
|
"PARKINGTIMEPRICENETTO",
|
||||||
|
"ADITIONALPRICEBRUTTO",
|
||||||
|
"ADITIONALPRICENETTO",
|
||||||
|
"KWHNETPRICE",
|
||||||
|
"MINUTENETPRICE",
|
||||||
|
"SESSIONNETPRICE",
|
||||||
|
"EICHRECHTTYPE",
|
||||||
|
"MILEAGE",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"STATUS",
|
||||||
|
"BILLING",
|
||||||
|
"SYSTYPE",
|
||||||
|
"VIEWVERSION" ) AS select
|
||||||
|
"UUID",
|
||||||
|
"UUID",
|
||||||
|
"UUID",
|
||||||
|
"FULLEVSEID",
|
||||||
|
"CUSTOMERID",
|
||||||
|
UPPER("RFID"),
|
||||||
|
UPPER("RFID"),
|
||||||
|
'RFID',
|
||||||
|
IFNULL("WATTHOUR",
|
||||||
|
0),
|
||||||
|
'CPOOPERATORID',
|
||||||
|
'OPERATORNAME',
|
||||||
|
'true',
|
||||||
|
CASE "FREECHARGING" WHEN 'yes'
|
||||||
|
THEN 'true' WHEN 'no'
|
||||||
|
then 'false'
|
||||||
|
ELSE ''
|
||||||
|
END as FREECHARGE,
|
||||||
|
"PLUGTYPE",
|
||||||
|
0,
|
||||||
|
'METERID',
|
||||||
|
"LOCATION_ADDRESS",
|
||||||
|
'',
|
||||||
|
--LOCATION ZIP
|
||||||
|
"LOCATION_CITY",
|
||||||
|
'DE',
|
||||||
|
'PROVIDERID',
|
||||||
|
'PROVIDERNAME',
|
||||||
|
|
||||||
|
left("STARTTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STOPTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STARTTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STOPTIME",
|
||||||
|
19),
|
||||||
|
IFNULL( "METERSTART",
|
||||||
|
0),
|
||||||
|
IFNULL( "METERSTOP",
|
||||||
|
0),
|
||||||
|
'TARIFF',
|
||||||
|
"CURRENCY",
|
||||||
|
0,
|
||||||
|
--'VAT',
|
||||||
|
0,
|
||||||
|
--'BILLINGVALUEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'BILLINGVALUENETTO',
|
||||||
|
0,
|
||||||
|
--'PARKINGTIMEPRICEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'PARKINGTIMEPRICENETTO',
|
||||||
|
0,
|
||||||
|
--'ADITIONALPRICEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'ADITIONALPRICENETTO',
|
||||||
|
"KWHGROSSPRICE" / '1.16',
|
||||||
|
"MINUTEGROSSPRICE" / '1.16',
|
||||||
|
"SESSIONGROSSPRICE" / '1.16',
|
||||||
|
-- "SESSIONGROSSPRICE" ,
|
||||||
|
"EICHRECHTTYPE",
|
||||||
|
"MILEAGE",
|
||||||
|
--'B2CPRICING',
|
||||||
|
--'ASSETOWNERPRICING',
|
||||||
|
--'CPOPRICING',
|
||||||
|
/* "STATIONUUID",
|
||||||
|
"CUSTOMERID",
|
||||||
|
"STARTTIME",
|
||||||
|
"STOPTIME",
|
||||||
|
"DURATION",
|
||||||
|
"WATTHOUR",
|
||||||
|
"AMOUNT",
|
||||||
|
"CURRENCY",
|
||||||
|
"TRANSACTIONTYPE",
|
||||||
|
"CREATED",
|
||||||
|
"RFID",
|
||||||
|
"STATION",
|
||||||
|
"CUSTOMERGROUPID",
|
||||||
|
"CUSTOMERGROUPNAME",
|
||||||
|
"ORGANIZATIONID",
|
||||||
|
"PAYMENTTYPE",
|
||||||
|
"EVSEID",
|
||||||
|
"PLUGTYPE",
|
||||||
|
"EMPSHARE",
|
||||||
|
"SIGNEDMETERVALUEBEGIN",
|
||||||
|
"SIGNEDMETERVALUEEND",
|
||||||
|
"OPERATORPRICE",
|
||||||
|
"OPERATORCURRENCY",
|
||||||
|
"OPERATORID",
|
||||||
|
"FREECHARGING",
|
||||||
|
"EMPTARIFFID",
|
||||||
|
"EMPTARIFFNAME",
|
||||||
|
"FULLEVSEID",
|
||||||
|
"METERSTART",
|
||||||
|
"METERSTOP",
|
||||||
|
"NOTES",
|
||||||
|
"MILEAGE",
|
||||||
|
*/ --"JSONRAW",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"STATUS",
|
||||||
|
"BILLING",
|
||||||
|
'VIRTAPORTAL',
|
||||||
|
'V 1.6/24.09.2020'
|
||||||
|
from "VIRTAPORTAL"."EMP_TRANSACTIONS"
|
||||||
|
where "TRANSACTIONTYPE" = 'charge'
|
||||||
|
and "WATTHOUR" > 0
|
||||||
|
and "DURATION" > 2
|
||||||
|
UNION ALL select * from "EMOBILITY"."V_CHARGEDATA_EMP_EOPERATE"
|
||||||
@@ -0,0 +1,216 @@
|
|||||||
|
DROP VIEW "EMOBILITY"."V_CHARGEDATA_EMP";
|
||||||
|
CREATE VIEW "EMOBILITY"."V_CHARGEDATA_EMP" ( "ID",
|
||||||
|
"CALLID",
|
||||||
|
"CDRID",
|
||||||
|
"EVSEID",
|
||||||
|
"CONTRACTID",
|
||||||
|
"RFID",
|
||||||
|
"INSTANCE",
|
||||||
|
"TOKENTYPE",
|
||||||
|
"CONSUMEDENERGY",
|
||||||
|
"OPERATORID",
|
||||||
|
"OPERATORNAME",
|
||||||
|
"OPERATORSUBMANDANT",
|
||||||
|
"FREECHARGE",
|
||||||
|
"CHARGEPOINTTYPE",
|
||||||
|
"METERID",
|
||||||
|
"MAXSOCKETPOWER",
|
||||||
|
"ADDRESS",
|
||||||
|
"ZIP",
|
||||||
|
"CITY",
|
||||||
|
"COUNTRY",
|
||||||
|
"PROVIDERID",
|
||||||
|
"PROVIDERNAME",
|
||||||
|
"CHARGINGSTARTTIME",
|
||||||
|
"CHARGINGSTOPTIME",
|
||||||
|
"PARKINGSTARTTIME",
|
||||||
|
"PARKINGSTOPTIME",
|
||||||
|
"METERSTART",
|
||||||
|
"METERSTOP",
|
||||||
|
"TARIFF",
|
||||||
|
"CURRENCY",
|
||||||
|
"VAT",
|
||||||
|
"BILLINGVALUEBRUTTO",
|
||||||
|
"BILLINGVALUENETTO",
|
||||||
|
"PARKINGTIMEPRICEBRUTTO",
|
||||||
|
"PARKINGTIMEPRICENETTO",
|
||||||
|
"ADITIONALPRICEBRUTTO",
|
||||||
|
"ADITIONALPRICENETTO",
|
||||||
|
"KWHNETPRICE",
|
||||||
|
"MINUTENETPRICE",
|
||||||
|
"SESSIONNETPRICE",
|
||||||
|
"DURATION",
|
||||||
|
"EICHRECHTTYPE",
|
||||||
|
"MILEAGE",
|
||||||
|
"SUBSCRIPTION_ID",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"STATUS",
|
||||||
|
"BILLING",
|
||||||
|
"SYSTYPE",
|
||||||
|
"VIEWVERSION" ) AS ((select
|
||||||
|
"UUID",
|
||||||
|
"UUID",
|
||||||
|
"UUID",
|
||||||
|
"FULLEVSEID",
|
||||||
|
TO_NVARCHAR("CUSTOMERID"),
|
||||||
|
UPPER("RFID"),
|
||||||
|
UPPER("RFID"),
|
||||||
|
'RFID',
|
||||||
|
IFNULL("WATTHOUR",
|
||||||
|
0),
|
||||||
|
CPOOPERATORID,
|
||||||
|
'OPERATORNAME',
|
||||||
|
'true',
|
||||||
|
CASE "FREECHARGING" WHEN 'yes'
|
||||||
|
THEN 'true' WHEN 'no'
|
||||||
|
then 'false'
|
||||||
|
ELSE ''
|
||||||
|
END as FREECHARGE,
|
||||||
|
"PLUGTYPE",
|
||||||
|
'METERID',
|
||||||
|
0,
|
||||||
|
"LOCATION_ADDRESS",
|
||||||
|
'',
|
||||||
|
--LOCATION ZIP
|
||||||
|
"LOCATION_CITY",
|
||||||
|
'DE',
|
||||||
|
'PROVIDERID',
|
||||||
|
'PROVIDERNAME',
|
||||||
|
|
||||||
|
left("STARTTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STOPTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STARTTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STOPTIME",
|
||||||
|
19),
|
||||||
|
IFNULL( "METERSTART",
|
||||||
|
0),
|
||||||
|
IFNULL( "METERSTOP",
|
||||||
|
0),
|
||||||
|
'TARIFF',
|
||||||
|
"CURRENCY",
|
||||||
|
0,
|
||||||
|
--'VAT',
|
||||||
|
0,
|
||||||
|
--'BILLINGVALUEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'BILLINGVALUENETTO',
|
||||||
|
0,
|
||||||
|
--'PARKINGTIMEPRICEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'PARKINGTIMEPRICENETTO',
|
||||||
|
0,
|
||||||
|
--'ADITIONALPRICEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'ADITIONALPRICENETTO',
|
||||||
|
"KWHGROSSPRICE" / '1.16',
|
||||||
|
"MINUTEGROSSPRICE" / '1.16',
|
||||||
|
"SESSIONGROSSPRICE" / '1.16',
|
||||||
|
"DURATION" ,
|
||||||
|
"EICHRECHTTYPE",
|
||||||
|
"MILEAGE",
|
||||||
|
'',
|
||||||
|
--'B2CPRICING',
|
||||||
|
--'ASSETOWNERPRICING',
|
||||||
|
--'CPOPRICING',
|
||||||
|
/* "STATIONUUID",
|
||||||
|
"CUSTOMERID",
|
||||||
|
"STARTTIME",
|
||||||
|
"STOPTIME",
|
||||||
|
"DURATION",
|
||||||
|
"WATTHOUR",
|
||||||
|
"AMOUNT",
|
||||||
|
"CURRENCY",
|
||||||
|
"TRANSACTIONTYPE",
|
||||||
|
"CREATED",
|
||||||
|
"RFID",
|
||||||
|
"STATION",
|
||||||
|
"CUSTOMERGROUPID",
|
||||||
|
"CUSTOMERGROUPNAME",
|
||||||
|
"ORGANIZATIONID",
|
||||||
|
"PAYMENTTYPE",
|
||||||
|
"EVSEID",
|
||||||
|
"PLUGTYPE",
|
||||||
|
"EMPSHARE",
|
||||||
|
"SIGNEDMETERVALUEBEGIN",
|
||||||
|
"SIGNEDMETERVALUEEND",
|
||||||
|
"OPERATORPRICE",
|
||||||
|
"OPERATORCURRENCY",
|
||||||
|
"OPERATORID",
|
||||||
|
"FREECHARGING",
|
||||||
|
"EMPTARIFFID",
|
||||||
|
"EMPTARIFFNAME",
|
||||||
|
"FULLEVSEID",
|
||||||
|
"METERSTART",
|
||||||
|
"METERSTOP",
|
||||||
|
"NOTES",
|
||||||
|
"MILEAGE",
|
||||||
|
*/ --"JSONRAW",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"STATUS",
|
||||||
|
"BILLING",
|
||||||
|
'VIRTAPORTAL',
|
||||||
|
'V 1.6/25.09.2020'
|
||||||
|
from "VIRTAPORTAL"."EMP_TRANSACTIONS"
|
||||||
|
where "TRANSACTIONTYPE" = 'charge'
|
||||||
|
and "WATTHOUR" > 0
|
||||||
|
and "DURATION" > 2)
|
||||||
|
UNION ALL (SELECT
|
||||||
|
"ID" ,
|
||||||
|
"CALLID" ,
|
||||||
|
"CDRID" ,
|
||||||
|
"EVSEID" ,
|
||||||
|
"CONTRACTID" ,
|
||||||
|
"RFID" ,
|
||||||
|
"INSTANCE" ,
|
||||||
|
"TOKENTYPE" ,
|
||||||
|
"CONSUMEDENERGY" ,
|
||||||
|
"OPERATORID" ,
|
||||||
|
"OPERATORNAME" ,
|
||||||
|
"OPERATORSUBMANDANT" ,
|
||||||
|
"FREECHARGE" ,
|
||||||
|
"CHARGEPOINTTYPE" ,
|
||||||
|
"METERID" ,
|
||||||
|
"MAXSOCKETPOWER" ,
|
||||||
|
"ADDRESS" ,
|
||||||
|
"ZIP" ,
|
||||||
|
"CITY" ,
|
||||||
|
"COUNTRY" ,
|
||||||
|
"PROVIDERID" ,
|
||||||
|
"PROVIDERNAME" ,
|
||||||
|
"CHARGINGSTARTTIME" ,
|
||||||
|
"CHARGINGSTOPTIME" ,
|
||||||
|
"PARKINGSTARTTIME" ,
|
||||||
|
"PARKINGSTOPTIME" ,
|
||||||
|
"METERSTART" ,
|
||||||
|
"METERSTOP" ,
|
||||||
|
"TARIFF" ,
|
||||||
|
"CURRENCY" ,
|
||||||
|
"VAT" ,
|
||||||
|
"BILLINGVALUEBRUTTO" ,
|
||||||
|
"BILLINGVALUENETTO" ,
|
||||||
|
"PARKINGTIMEPRICEBRUTTO" ,
|
||||||
|
"PARKINGTIMEPRICENETTO" ,
|
||||||
|
"ADITIONALPRICEBRUTTO" ,
|
||||||
|
"ADITIONALPRICENETTO" ,
|
||||||
|
"KWHNETPRICE" ,
|
||||||
|
"MINUTENETPRICE" ,
|
||||||
|
"SESSIONNETPRICE" ,
|
||||||
|
"DURATION" ,
|
||||||
|
"EICHRECHTTYPE" ,
|
||||||
|
"MILEAGE" ,
|
||||||
|
"SUBSCRIPTION_ID" ,
|
||||||
|
"CREATE_TS" ,
|
||||||
|
"UPDATE_TS" ,
|
||||||
|
"STATUS" ,
|
||||||
|
"BILLING" ,
|
||||||
|
"SYSTYPE" ,
|
||||||
|
"VIEWVERSION"
|
||||||
|
from "EMOBILITY"."V_CHARGEDATA_EMP_EOPERATE")) WITH READ ONLY
|
||||||
@@ -0,0 +1,219 @@
|
|||||||
|
ALTER VIEW "EMOBILITY"."V_CHARGEDATA_EMP" ( "ID",
|
||||||
|
"CALLID",
|
||||||
|
"CDRID",
|
||||||
|
"EVSEID",
|
||||||
|
"CONTRACTID",
|
||||||
|
"RFID",
|
||||||
|
"INSTANCE",
|
||||||
|
"TOKENTYPE",
|
||||||
|
"CONSUMEDENERGY",
|
||||||
|
"OPERATORID",
|
||||||
|
"OPERATORNAME",
|
||||||
|
"OPERATORSUBMANDANT",
|
||||||
|
"FREECHARGE",
|
||||||
|
"CHARGEPOINTTYPE",
|
||||||
|
"METERID",
|
||||||
|
"MAXSOCKETPOWER",
|
||||||
|
"ADDRESS",
|
||||||
|
"ZIP",
|
||||||
|
"CITY",
|
||||||
|
"COUNTRY",
|
||||||
|
"PROVIDERID",
|
||||||
|
"PROVIDERNAME",
|
||||||
|
"CHARGINGSTARTTIME",
|
||||||
|
"CHARGINGSTOPTIME",
|
||||||
|
"PARKINGSTARTTIME",
|
||||||
|
"PARKINGSTOPTIME",
|
||||||
|
"METERSTART",
|
||||||
|
"METERSTOP",
|
||||||
|
"TARIFF",
|
||||||
|
"CURRENCY",
|
||||||
|
"VAT",
|
||||||
|
"BILLINGVALUEBRUTTO",
|
||||||
|
"BILLINGVALUENETTO",
|
||||||
|
"PARKINGTIMEPRICEBRUTTO",
|
||||||
|
"PARKINGTIMEPRICENETTO",
|
||||||
|
"ADITIONALPRICEBRUTTO",
|
||||||
|
"ADITIONALPRICENETTO",
|
||||||
|
"KWHNETPRICE",
|
||||||
|
"MINUTENETPRICE",
|
||||||
|
"SESSIONNETPRICE",
|
||||||
|
"DURATION",
|
||||||
|
"EICHRECHTTYPE",
|
||||||
|
"MILEAGE",
|
||||||
|
"SUBSCRIPTION_ID",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"STATUS",
|
||||||
|
"BILLING",
|
||||||
|
"SYSTYPE",
|
||||||
|
"VIEWVERSION" ) AS ((select
|
||||||
|
"UUID",
|
||||||
|
"UUID",
|
||||||
|
"UUID",
|
||||||
|
"FULLEVSEID",
|
||||||
|
TO_NVARCHAR("CUSTOMERID"),
|
||||||
|
UPPER("RFID"),
|
||||||
|
UPPER("RFID"),
|
||||||
|
'RFID',
|
||||||
|
IFNULL("WATTHOUR",
|
||||||
|
0),
|
||||||
|
CPOOPERATORID,
|
||||||
|
'OPERATORNAME',
|
||||||
|
'true',
|
||||||
|
CASE "FREECHARGING" WHEN 'yes'
|
||||||
|
THEN 'true' WHEN 'no'
|
||||||
|
then 'false'
|
||||||
|
ELSE ''
|
||||||
|
END as FREECHARGE,
|
||||||
|
CASE CPOOPERATORID
|
||||||
|
WHEN 'DE*ION' THEN 'ION'
|
||||||
|
WHEN 'DE*UFC' THEN 'UFC'
|
||||||
|
ELSE "PLUGTYPE"
|
||||||
|
END as "PLUGTYPE",
|
||||||
|
'METERID',
|
||||||
|
0,
|
||||||
|
"LOCATION_ADDRESS",
|
||||||
|
'',
|
||||||
|
--LOCATION ZIP
|
||||||
|
"LOCATION_CITY",
|
||||||
|
'DE',
|
||||||
|
'PROVIDERID',
|
||||||
|
'PROVIDERNAME',
|
||||||
|
|
||||||
|
left("STARTTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STOPTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STARTTIME",
|
||||||
|
19),
|
||||||
|
|
||||||
|
left("STOPTIME",
|
||||||
|
19),
|
||||||
|
IFNULL( "METERSTART",
|
||||||
|
0),
|
||||||
|
IFNULL( "METERSTOP",
|
||||||
|
0),
|
||||||
|
'TARIFF',
|
||||||
|
"CURRENCY",
|
||||||
|
0,
|
||||||
|
--'VAT',
|
||||||
|
0,
|
||||||
|
--'BILLINGVALUEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'BILLINGVALUENETTO',
|
||||||
|
0,
|
||||||
|
--'PARKINGTIMEPRICEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'PARKINGTIMEPRICENETTO',
|
||||||
|
0,
|
||||||
|
--'ADITIONALPRICEBRUTTO',
|
||||||
|
0,
|
||||||
|
--'ADITIONALPRICENETTO',
|
||||||
|
"KWHGROSSPRICE" / '1.16',
|
||||||
|
"MINUTEGROSSPRICE" / '1.16',
|
||||||
|
"SESSIONGROSSPRICE" / '1.16',
|
||||||
|
"DURATION" ,
|
||||||
|
"EICHRECHTTYPE",
|
||||||
|
"MILEAGE",
|
||||||
|
'',
|
||||||
|
--'B2CPRICING',
|
||||||
|
--'ASSETOWNERPRICING',
|
||||||
|
--'CPOPRICING',
|
||||||
|
/* "STATIONUUID",
|
||||||
|
"CUSTOMERID",
|
||||||
|
"STARTTIME",
|
||||||
|
"STOPTIME",
|
||||||
|
"DURATION",
|
||||||
|
"WATTHOUR",
|
||||||
|
"AMOUNT",
|
||||||
|
"CURRENCY",
|
||||||
|
"TRANSACTIONTYPE",
|
||||||
|
"CREATED",
|
||||||
|
"RFID",
|
||||||
|
"STATION",
|
||||||
|
"CUSTOMERGROUPID",
|
||||||
|
"CUSTOMERGROUPNAME",
|
||||||
|
"ORGANIZATIONID",
|
||||||
|
"PAYMENTTYPE",
|
||||||
|
"EVSEID",
|
||||||
|
"PLUGTYPE",
|
||||||
|
"EMPSHARE",
|
||||||
|
"SIGNEDMETERVALUEBEGIN",
|
||||||
|
"SIGNEDMETERVALUEEND",
|
||||||
|
"OPERATORPRICE",
|
||||||
|
"OPERATORCURRENCY",
|
||||||
|
"OPERATORID",
|
||||||
|
"FREECHARGING",
|
||||||
|
"EMPTARIFFID",
|
||||||
|
"EMPTARIFFNAME",
|
||||||
|
"FULLEVSEID",
|
||||||
|
"METERSTART",
|
||||||
|
"METERSTOP",
|
||||||
|
"NOTES",
|
||||||
|
"MILEAGE",
|
||||||
|
*/ --"JSONRAW",
|
||||||
|
"CREATE_TS",
|
||||||
|
"UPDATE_TS",
|
||||||
|
"STATUS",
|
||||||
|
"BILLING",
|
||||||
|
'VIRTAPORTAL',
|
||||||
|
'V 1.8/23.10.2020'
|
||||||
|
from "VIRTAPORTAL"."EMP_TRANSACTIONS"
|
||||||
|
where "TRANSACTIONTYPE" = 'charge'
|
||||||
|
and "WATTHOUR" > 0
|
||||||
|
and "DURATION" > 2)
|
||||||
|
UNION ALL (SELECT
|
||||||
|
"ID" ,
|
||||||
|
"CALLID" ,
|
||||||
|
"CDRID" ,
|
||||||
|
"EVSEID" ,
|
||||||
|
"CONTRACTID" ,
|
||||||
|
"RFID" ,
|
||||||
|
"INSTANCE" ,
|
||||||
|
"TOKENTYPE" ,
|
||||||
|
"CONSUMEDENERGY" ,
|
||||||
|
"OPERATORID" ,
|
||||||
|
"OPERATORNAME" ,
|
||||||
|
"OPERATORSUBMANDANT" ,
|
||||||
|
"FREECHARGE" ,
|
||||||
|
"CHARGEPOINTTYPE" ,
|
||||||
|
"METERID" ,
|
||||||
|
"MAXSOCKETPOWER" ,
|
||||||
|
"ADDRESS" ,
|
||||||
|
"ZIP" ,
|
||||||
|
"CITY" ,
|
||||||
|
"COUNTRY" ,
|
||||||
|
"PROVIDERID" ,
|
||||||
|
"PROVIDERNAME" ,
|
||||||
|
"CHARGINGSTARTTIME" ,
|
||||||
|
"CHARGINGSTOPTIME" ,
|
||||||
|
"PARKINGSTARTTIME" ,
|
||||||
|
"PARKINGSTOPTIME" ,
|
||||||
|
"METERSTART" ,
|
||||||
|
"METERSTOP" ,
|
||||||
|
"TARIFF" ,
|
||||||
|
"CURRENCY" ,
|
||||||
|
"VAT" ,
|
||||||
|
"BILLINGVALUEBRUTTO" ,
|
||||||
|
"BILLINGVALUENETTO" ,
|
||||||
|
"PARKINGTIMEPRICEBRUTTO" ,
|
||||||
|
"PARKINGTIMEPRICENETTO" ,
|
||||||
|
"ADITIONALPRICEBRUTTO" ,
|
||||||
|
"ADITIONALPRICENETTO" ,
|
||||||
|
"KWHNETPRICE" ,
|
||||||
|
"MINUTENETPRICE" ,
|
||||||
|
"SESSIONNETPRICE" ,
|
||||||
|
"DURATION" ,
|
||||||
|
"EICHRECHTTYPE" ,
|
||||||
|
"MILEAGE" ,
|
||||||
|
"SUBSCRIPTION_ID" ,
|
||||||
|
"CREATE_TS" ,
|
||||||
|
"UPDATE_TS" ,
|
||||||
|
"STATUS" ,
|
||||||
|
"BILLING" ,
|
||||||
|
"SYSTYPE" ,
|
||||||
|
"VIEWVERSION"
|
||||||
|
from "EMOBILITY"."V_CHARGEDATA_EMP_EOPERATE")) WITH READ ONLY
|
||||||
@@ -0,0 +1,524 @@
|
|||||||
|
//eoperate Chargedata Interface
|
||||||
|
// 09.03.2020
|
||||||
|
// Erweiterung 29.6.2019
|
||||||
|
//16. und 17.11.2021 Abschalten der Plausi Prüfung Anpassung auf setnull
|
||||||
|
//20.09.2022 Anpassung User Felder Update und Insert Statements TS
|
||||||
|
//04.05.2023 Anpassung Validation Felder
|
||||||
|
//12.07.2023 Nur CUS Preiselemente
|
||||||
|
//07.08.2023 Erweiterung Dezimalgenauigkeit Preise (EMPEPI1-296) + NOT_BILLABLE_REASON
|
||||||
|
|
||||||
|
var ServiceVersion = "1.6";
|
||||||
|
|
||||||
|
var ParDebug = false;
|
||||||
|
var output = {};
|
||||||
|
var outMessages = [];
|
||||||
|
var outErrorMessages = [];
|
||||||
|
var outMsg = {};
|
||||||
|
var outStatus = "success";
|
||||||
|
var myDebug = {};
|
||||||
|
|
||||||
|
var debugLevel = 0;
|
||||||
|
switch ($.request.parameters.get("debug")) {
|
||||||
|
case "true":
|
||||||
|
case "yes":
|
||||||
|
case "1":
|
||||||
|
debugLevel = 1;
|
||||||
|
break;
|
||||||
|
case "full":
|
||||||
|
case "2":
|
||||||
|
debugLevel = 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (debugLevel > 0) {
|
||||||
|
output.requestParams = $.request.parameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setOutputMessage() {
|
||||||
|
output.status = outStatus;
|
||||||
|
if (debugLevel > 0) {
|
||||||
|
output.debugInfos = myDebug;
|
||||||
|
}
|
||||||
|
output.messages = outMessages;
|
||||||
|
$.response.contentType = "application/json";
|
||||||
|
$.response.setBody(JSON.stringify(output));
|
||||||
|
//$.response.status = $.net.http.OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
function roundTo(n, digits) {
|
||||||
|
var negative = false;
|
||||||
|
if (digits === undefined) {
|
||||||
|
digits = 0;
|
||||||
|
}
|
||||||
|
if (n < 0) {
|
||||||
|
negative = true;
|
||||||
|
n = n * -1;
|
||||||
|
}
|
||||||
|
var multiplicator = Math.pow(10, digits);
|
||||||
|
n = parseFloat((n * multiplicator).toFixed(11));
|
||||||
|
n = (Math.round(n) / multiplicator).toFixed(digits);
|
||||||
|
if (negative) {
|
||||||
|
n = (n * -1).toFixed(digits);
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkBDRID(myBDRID) {
|
||||||
|
var exists = false;
|
||||||
|
var conn = $.db.getConnection();
|
||||||
|
var pstmt;
|
||||||
|
var query = "select \"BDR_ID\" from \"EOPERATE\".\"CHARGEDATA\" where BDR_ID = ?";
|
||||||
|
pstmt = conn.prepareStatement(query);
|
||||||
|
pstmt.setNString(1, myBDRID);
|
||||||
|
var rs = pstmt.executeQuery();
|
||||||
|
if (rs.next()) {
|
||||||
|
exists = true;
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
pstmt.close();
|
||||||
|
conn.close();
|
||||||
|
return exists;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*function getnextval() {
|
||||||
|
var conn = $.db.getConnection();
|
||||||
|
var pstmt;
|
||||||
|
var query = "select \"EOPERATE\".\"SEQ_TRANSACTIONDATA_ID\".NEXTVAL from dummy";
|
||||||
|
pstmt = conn.prepareStatement(query);
|
||||||
|
var rs = pstmt.executeQuery();
|
||||||
|
if (!rs.next()) {
|
||||||
|
outMsg = {};
|
||||||
|
outMsg.method = "getnexval from sequence error";
|
||||||
|
outMsg.status = "error";
|
||||||
|
// outMsg.message = e.message;
|
||||||
|
outMessages.push(outMsg);
|
||||||
|
} else {
|
||||||
|
return rs.getString(1);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
pstmt.close();
|
||||||
|
conn.close();
|
||||||
|
}*/
|
||||||
|
|
||||||
|
function exceptionHandler(ex) {
|
||||||
|
outMsg = {};
|
||||||
|
outMsg.method = "exceptionHandler";
|
||||||
|
outMsg.status = "error";
|
||||||
|
outMsg.message = ex.toString();
|
||||||
|
if (debugLevel > 0) {
|
||||||
|
outMsg.exceptionInfo = {};
|
||||||
|
outMsg.exceptionInfo.name = ex.name;
|
||||||
|
outMsg.exceptionInfo.message = ex.message;
|
||||||
|
outMsg.exceptionInfo.fileName = ex.fileName;
|
||||||
|
outMsg.exceptionInfo.lineNumber = ex.lineNumber;
|
||||||
|
outMsg.exceptionInfo.columnNumber = ex.columnNumber;
|
||||||
|
outMsg.exceptionInfo.stack = ex.stack;
|
||||||
|
//outMsg.exceptionInfo.source = ex.toSource();
|
||||||
|
}
|
||||||
|
outMessages.push(outMsg);
|
||||||
|
outStatus = "error";
|
||||||
|
output.status = outStatus;
|
||||||
|
if (debugLevel > 0) {
|
||||||
|
output.debugInfos = myDebug;
|
||||||
|
}
|
||||||
|
output.messages = outMessages;
|
||||||
|
|
||||||
|
var errbody = JSON.stringify(output);
|
||||||
|
$.response.contentType = 'application/json';
|
||||||
|
$.response.setBody(errbody);
|
||||||
|
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkPayload(inObj) {
|
||||||
|
var isValid = true;
|
||||||
|
var reason = "";
|
||||||
|
try {
|
||||||
|
var aCDR = JSON.parse(inObj);
|
||||||
|
if (Array.isArray(aCDR)) {
|
||||||
|
aCDR.forEach(function(cdrObj) {
|
||||||
|
if (!cdrObj.hasOwnProperty('BDR_ID') || !cdrObj.hasOwnProperty('EMAID') || !cdrObj.hasOwnProperty('CREATION_DATE_UTC') || !cdrObj.hasOwnProperty(
|
||||||
|
'CHARGEPOINT') || !cdrObj.CHARGEPOINT.hasOwnProperty('ID') || !cdrObj.CHARGEPOINT.hasOwnProperty('TYPE') || !cdrObj.CHARGEPOINT.hasOwnProperty(
|
||||||
|
'METER_ID') || !cdrObj.CHARGEPOINT.hasOwnProperty('ADDRESS') || !cdrObj.CHARGEPOINT.ADDRESS.hasOwnProperty('COUNTRY') || !cdrObj.CHARGEPOINT
|
||||||
|
.ADDRESS.hasOwnProperty('POSTALCODE') || !cdrObj.CHARGEPOINT.ADDRESS.hasOwnProperty('CITY') || !cdrObj.CHARGEPOINT.ADDRESS.hasOwnProperty(
|
||||||
|
'STREET') || !cdrObj.hasOwnProperty('CHARGEPOINT_OPERATOR') || !cdrObj.CHARGEPOINT_OPERATOR.hasOwnProperty('ID') || !cdrObj.CHARGEPOINT_OPERATOR
|
||||||
|
.hasOwnProperty('NAME') || !cdrObj.hasOwnProperty('EMOBILITY_PROVIDER') || !cdrObj.EMOBILITY_PROVIDER.hasOwnProperty('ID') || !cdrObj
|
||||||
|
.EMOBILITY_PROVIDER.hasOwnProperty('NAME') || !cdrObj.hasOwnProperty('CHARGE_DATA') || !cdrObj.CHARGE_DATA.hasOwnProperty(
|
||||||
|
'AUTHORIZATION_TYPE') || !cdrObj.CHARGE_DATA.hasOwnProperty('CONSUMPTION_KWH') || !cdrObj.CHARGE_DATA.hasOwnProperty('BEGIN_UTC') ||
|
||||||
|
!cdrObj.CHARGE_DATA.hasOwnProperty('END_UTC') || !cdrObj.CHARGE_DATA.hasOwnProperty('TIME_ZONE') || !cdrObj.hasOwnProperty('PRICING') ||
|
||||||
|
!cdrObj.PRICING.hasOwnProperty('ITEMS') || !Array.isArray(cdrObj.PRICING.ITEMS)
|
||||||
|
) {
|
||||||
|
isValid = false;
|
||||||
|
reason =
|
||||||
|
" (mandatory properties are: BDR_ID, EMAID, CREATION_DATE_UTC, CHARGEPOINT.ID, CHARGEPOINT.TYPE, \nCHARGEPOINT.METER_ID, CHARGEPOINT.ADDRESS.COUNTRY, CHARGEPOINT.ADDRESS.POSTALCODE, CHARGEPOINT.ADDRESS.CITY, \nCHARGEPOINT.ADDRESS.COUNTRY, CHARGEPOINT_OPERATOR.ID, CHARGEPOINT_OPERATOR.NAME, EMOBILITY_PROVIDER.ID, \nEMOBILITY_PROVIDER.NAME, CHARGE_DATA.AUTHORIZATION_TYPE, CHARGE_DATA.CONSUMPTION_KWH, CHARGE_DATA.BEGIN_UTC, \nCHARGE_DATA.END_UTC, CHARGE_DATA.TIME_ZONE, PRICING.ITEMS[])";
|
||||||
|
} else {
|
||||||
|
cdrObj.PRICING.ITEMS.forEach(function(pricingItem) {
|
||||||
|
if (!pricingItem.hasOwnProperty('TYPE') || !pricingItem.hasOwnProperty('UNIT') || !pricingItem.hasOwnProperty('UNIT_PRICE') || !
|
||||||
|
pricingItem.hasOwnProperty('QUANTITY') || !pricingItem.hasOwnProperty('NET_AMOUNT') || !pricingItem.hasOwnProperty('CURRENCY')
|
||||||
|
) {
|
||||||
|
isValid = false;
|
||||||
|
reason = " (mandatory properties for PRICING.ITEMS Array are: TYPE, UNIT, UNIT_PRICE, QUANTITY, NET_AMOUNT, CURRENCY)";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
isValid = false;
|
||||||
|
reason = " (payload is not an array)";
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
exceptionHandler(e);
|
||||||
|
isValid = false;
|
||||||
|
}
|
||||||
|
if (!isValid) {
|
||||||
|
outMsg = {};
|
||||||
|
outMsg.method = "checkPayload";
|
||||||
|
outMsg.status = "error";
|
||||||
|
outStatus = "error";
|
||||||
|
$.response.status = $.net.http.BAD_REQUEST;
|
||||||
|
outMsg.message = "invalid payload structure" + reason;
|
||||||
|
outMessages.push(outMsg);
|
||||||
|
}
|
||||||
|
return isValid;
|
||||||
|
}
|
||||||
|
|
||||||
|
function PutDataInTable() {
|
||||||
|
outMsg = {};
|
||||||
|
outMsg.method = "saveData";
|
||||||
|
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 isUpdateMode = false;
|
||||||
|
// var query2;
|
||||||
|
// var output = {results: [] };
|
||||||
|
//
|
||||||
|
// var mynextval = getnextval();
|
||||||
|
// myDebug.mynextval = mynextval;
|
||||||
|
try {
|
||||||
|
var myBDRID = pdcdrObj[0].BDR_ID.toString();
|
||||||
|
isUpdateMode = checkBDRID(myBDRID);
|
||||||
|
if (isUpdateMode) {
|
||||||
|
// "UPDATE \"EOPERATE\".\"CHARGEDATA\" SET BDR_ID = ?,EMAID =? ,UNIQUE_ID = ?, CREATION_DATE_UTC = ?,CHARGEPOINT_ID= ?,CHARGEPOINT_TYPE= ?,CHARGEPOINT_METER_ID= ?,CHARGEPOINT_ADDRESS_COUNTRY= ?,CHARGEPOINT_ADDRESS_POSTALCODE= ?,CHARGEPOINT_ADDRESS_CITY= ?,CHARGEPOINT_ADDRESS_STREET= ?,CHARGEPOINT_OPERATOR_ID= ?,CHARGEPOINT_OPERATOR_NAME= ?,EMOBILITY_PROVIDER_ID= ?,EMOBILITY_PROVIDER_NAME= ?,CHARGE_DATA_AUTHORIZATION_TYPE= ?,CHARGE_DATA_CONSUMPTION_KWH= ?,CHARGE_DATA_BEGIN_UTC= ?,CHARGE_DATA_END_UTC= ?,CHARGE_DATA_TIME_ZONE= ?,CHARGE_DATA_EKA_STATUS= ?,PRICING_ITEMS_1_TYPE= ?,PRICING_ITEMS_1_UNIT= ?,PRICING_ITEMS_1_UNIT_PRICE= ?,PRICING_ITEMS_1_QUANTITY= ?,PRICING_ITEMS_1_NET_AMOUNT= ?,PRICING_ITEMS_1_CURRENCY= ?,PRICING_ITEMS_2_TYPE= ?,PRICING_ITEMS_2_UNIT= ?,PRICING_ITEMS_2_UNIT_PRICE= ?,PRICING_ITEMS_2_QUANTITY= ?,PRICING_ITEMS_2_NET_AMOUNT= ?,PRICING_ITEMS_2_CURRENCY= ?,PRICING_ITEMS_3_TYPE= ?,PRICING_ITEMS_3_UNIT= ?,PRICING_ITEMS_3_UNIT_PRICE= ?,PRICING_ITEMS_3_QUANTITY= ?,PRICING_ITEMS_3_NET_AMOUNT= ?,PRICING_ITEMS_3_CURRENCY= ?,PRICING_ITEMS_4_TYPE= ?,PRICING_ITEMS_4_UNIT= ?,PRICING_ITEMS_4_UNIT_PRICE= ?,PRICING_ITEMS_4_QUANTITY= ?,PRICING_ITEMS_4_NET_AMOUNT= ?,PRICING_ITEMS_4_CURRENCY= ?,SUBSCRIPTION_ID= ?,JSONRAW= ?,UPDATE_TS= CURRENT_TIMESTAMP,UPDATE_USER= CURRENT_USER)";
|
||||||
|
query =
|
||||||
|
"UPDATE \"EOPERATE\".\"CHARGEDATA\" SET BDR_ID = ?,EMAID =? ,UNIQUE_ID = ?, CREATION_DATE_UTC = ?,CHARGEPOINT_ID= ?,CHARGEPOINT_TYPE= ?,CHARGEPOINT_METER_ID= ?,CHARGEPOINT_ADDRESS_COUNTRY= ?,CHARGEPOINT_ADDRESS_POSTALCODE= ?,CHARGEPOINT_ADDRESS_CITY= ?,CHARGEPOINT_ADDRESS_STREET= ?,CHARGEPOINT_OPERATOR_ID= ?,CHARGEPOINT_OPERATOR_NAME= ?,EMOBILITY_PROVIDER_ID= ?,EMOBILITY_PROVIDER_NAME= ?,CHARGE_DATA_AUTHORIZATION_TYPE= ?,CHARGE_DATA_CONSUMPTION_KWH= ?,CHARGE_DATA_BEGIN_UTC= ?,CHARGE_DATA_END_UTC= ?,CHARGE_DATA_TIME_ZONE= ?,CHARGE_DATA_EKA_STATUS= ?,PRICING_ITEMS_1_TYPE= ?,PRICING_ITEMS_1_UNIT= ?,PRICING_ITEMS_1_UNIT_PRICE= ?,PRICING_ITEMS_1_QUANTITY= ?,PRICING_ITEMS_1_NET_AMOUNT= ?,PRICING_ITEMS_1_CURRENCY= ?,PRICING_ITEMS_2_TYPE= ?,PRICING_ITEMS_2_UNIT= ?,PRICING_ITEMS_2_UNIT_PRICE= ?,PRICING_ITEMS_2_QUANTITY= ?,PRICING_ITEMS_2_NET_AMOUNT= ?,PRICING_ITEMS_2_CURRENCY= ?,PRICING_ITEMS_3_TYPE= ?,PRICING_ITEMS_3_UNIT= ?,PRICING_ITEMS_3_UNIT_PRICE= ?,PRICING_ITEMS_3_QUANTITY= ?,PRICING_ITEMS_3_NET_AMOUNT= ?,PRICING_ITEMS_3_CURRENCY= ?,PRICING_ITEMS_4_TYPE= ?,PRICING_ITEMS_4_UNIT= ?,PRICING_ITEMS_4_UNIT_PRICE= ?,PRICING_ITEMS_4_QUANTITY= ?,PRICING_ITEMS_4_NET_AMOUNT= ?,PRICING_ITEMS_4_CURRENCY= ?,SUBSCRIPTION_ID= ?,JSONRAW= ?,UPDATE_TS= CURRENT_TIMESTAMP,UPDATE_USER= CURRENT_USER,BUSINESSVALIDATIONRESULT=?,TECHVALIDATIONRESULT=?,NOTBILLABLEREASON=? where BDR_ID = ?";
|
||||||
|
outMsg.method = "Update Data BDR_ID: " + myBDRID;
|
||||||
|
} else {
|
||||||
|
query =
|
||||||
|
"INSERT INTO \"EOPERATE\".\"CHARGEDATA\" (BDR_ID,EMAID,UNIQUE_ID,CREATION_DATE_UTC,CHARGEPOINT_ID,CHARGEPOINT_TYPE,CHARGEPOINT_METER_ID,CHARGEPOINT_ADDRESS_COUNTRY,CHARGEPOINT_ADDRESS_POSTALCODE,CHARGEPOINT_ADDRESS_CITY,CHARGEPOINT_ADDRESS_STREET,CHARGEPOINT_OPERATOR_ID,CHARGEPOINT_OPERATOR_NAME,EMOBILITY_PROVIDER_ID,EMOBILITY_PROVIDER_NAME,CHARGE_DATA_AUTHORIZATION_TYPE,CHARGE_DATA_CONSUMPTION_KWH,CHARGE_DATA_BEGIN_UTC,CHARGE_DATA_END_UTC,CHARGE_DATA_TIME_ZONE,CHARGE_DATA_EKA_STATUS,PRICING_ITEMS_1_TYPE,PRICING_ITEMS_1_UNIT,PRICING_ITEMS_1_UNIT_PRICE,PRICING_ITEMS_1_QUANTITY,PRICING_ITEMS_1_NET_AMOUNT,PRICING_ITEMS_1_CURRENCY,PRICING_ITEMS_2_TYPE,PRICING_ITEMS_2_UNIT,PRICING_ITEMS_2_UNIT_PRICE,PRICING_ITEMS_2_QUANTITY,PRICING_ITEMS_2_NET_AMOUNT,PRICING_ITEMS_2_CURRENCY,PRICING_ITEMS_3_TYPE,PRICING_ITEMS_3_UNIT,PRICING_ITEMS_3_UNIT_PRICE,PRICING_ITEMS_3_QUANTITY,PRICING_ITEMS_3_NET_AMOUNT,PRICING_ITEMS_3_CURRENCY,PRICING_ITEMS_4_TYPE,PRICING_ITEMS_4_UNIT,PRICING_ITEMS_4_UNIT_PRICE,PRICING_ITEMS_4_QUANTITY,PRICING_ITEMS_4_NET_AMOUNT,PRICING_ITEMS_4_CURRENCY,SUBSCRIPTION_ID,JSONRAW,UPDATE_TS,UPDATE_USER,BUSINESSVALIDATIONRESULT,TECHVALIDATIONRESULT,NOTBILLABLEREASON) values (" +
|
||||||
|
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP, CURRENT_USER,?,?,?)";
|
||||||
|
outMsg.method = "Insert DataBDR_ID: " + myBDRID;
|
||||||
|
}
|
||||||
|
myDebug.query = query;
|
||||||
|
/*
|
||||||
|
outMsg = {};
|
||||||
|
outMsg.method = "query";
|
||||||
|
outMsg.status = "info";
|
||||||
|
outStatus = "info";
|
||||||
|
outMsg.message = query;
|
||||||
|
outMessages.push(outMsg);
|
||||||
|
*/
|
||||||
|
pstmt = conn.prepareStatement(query);
|
||||||
|
pstmt.setNString(1, pdcdrObj[0].BDR_ID.toString());
|
||||||
|
if (pdcdrObj[0].EMAID) {
|
||||||
|
pstmt.setNString(2, pdcdrObj[0].EMAID.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(2);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].UNIQUE_ID) {
|
||||||
|
pstmt.setNString(3, pdcdrObj[0].UNIQUE_ID.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNString(3, '');
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CREATION_DATE_UTC) {
|
||||||
|
pstmt.setNString(4, pdcdrObj[0].CREATION_DATE_UTC.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(4);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT.ID) {
|
||||||
|
pstmt.setNString(5, pdcdrObj[0].CHARGEPOINT.ID.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(5);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT.TYPE) {
|
||||||
|
pstmt.setNString(6, pdcdrObj[0].CHARGEPOINT.TYPE.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(6);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT.METER_ID) {
|
||||||
|
pstmt.setNString(7, pdcdrObj[0].CHARGEPOINT.METER_ID.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(7);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT.ADDRESS.COUNTRY) {
|
||||||
|
pstmt.setNString(8, pdcdrObj[0].CHARGEPOINT.ADDRESS.COUNTRY.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(8);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT.ADDRESS.POSTALCODE) {
|
||||||
|
pstmt.setNString(9, pdcdrObj[0].CHARGEPOINT.ADDRESS.POSTALCODE.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(9);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT.ADDRESS.CITY) {
|
||||||
|
pstmt.setNString(10, pdcdrObj[0].CHARGEPOINT.ADDRESS.CITY.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(10);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT.ADDRESS.STREET) {
|
||||||
|
pstmt.setNString(11, pdcdrObj[0].CHARGEPOINT.ADDRESS.STREET.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(11);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT_OPERATOR.ID) {
|
||||||
|
pstmt.setNString(12, pdcdrObj[0].CHARGEPOINT_OPERATOR.ID.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(12);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGEPOINT_OPERATOR.NAME) {
|
||||||
|
pstmt.setNString(13, pdcdrObj[0].CHARGEPOINT_OPERATOR.NAME.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(13);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].EMOBILITY_PROVIDER.ID) {
|
||||||
|
pstmt.setNString(14, pdcdrObj[0].EMOBILITY_PROVIDER.ID.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(14);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].EMOBILITY_PROVIDER.NAME) {
|
||||||
|
pstmt.setNString(15, pdcdrObj[0].EMOBILITY_PROVIDER.NAME.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(15);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGE_DATA.AUTHORIZATION_TYPE) {
|
||||||
|
pstmt.setNString(16, pdcdrObj[0].CHARGE_DATA.AUTHORIZATION_TYPE.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(16);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGE_DATA.CONSUMPTION_KWH) {
|
||||||
|
pstmt.setDecimal(17, roundTo(pdcdrObj[0].CHARGE_DATA.CONSUMPTION_KWH, 3)); //TODO: clarify rounding
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(17);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGE_DATA.BEGIN_UTC) {
|
||||||
|
pstmt.setNString(18, pdcdrObj[0].CHARGE_DATA.BEGIN_UTC.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(18);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGE_DATA.END_UTC) {
|
||||||
|
pstmt.setNString(19, pdcdrObj[0].CHARGE_DATA.END_UTC.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(19);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGE_DATA.TIME_ZONE) {
|
||||||
|
pstmt.setNString(20, pdcdrObj[0].CHARGE_DATA.TIME_ZONE.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(20);
|
||||||
|
}
|
||||||
|
if (pdcdrObj[0].CHARGE_DATA.EKA_STATUS) {
|
||||||
|
pstmt.setNString(21, pdcdrObj[0].CHARGE_DATA.EKA_STATUS.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(21);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pdcdrObj[0].PRICING && pdcdrObj[0].PRICING.ITEMS) {
|
||||||
|
|
||||||
|
var pricingItemsCUS = pdcdrObj[0].PRICING.ITEMS.filter(function(pricingItem) {
|
||||||
|
return pricingItem.TYPE === "CUS";
|
||||||
|
});
|
||||||
|
|
||||||
|
if (pricingItemsCUS[0]) {
|
||||||
|
pstmt.setNString(22, pricingItemsCUS[0].TYPE.toString());
|
||||||
|
pstmt.setNString(23, pricingItemsCUS[0].UNIT.toString());
|
||||||
|
pstmt.setDecimal(24, roundTo(pricingItemsCUS[0].UNIT_PRICE, 4));
|
||||||
|
pstmt.setDecimal(25, roundTo(pricingItemsCUS[0].QUANTITY, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setDecimal(26, roundTo(pricingItemsCUS[0].NET_AMOUNT, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setNString(27, pricingItemsCUS[0].CURRENCY.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(22);
|
||||||
|
pstmt.setNull(23);
|
||||||
|
pstmt.setNull(24);
|
||||||
|
pstmt.setNull(25);
|
||||||
|
pstmt.setNull(26);
|
||||||
|
pstmt.setNull(27);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pricingItemsCUS[1]) {
|
||||||
|
pstmt.setNString(28, pricingItemsCUS[1].TYPE.toString());
|
||||||
|
pstmt.setNString(29, pricingItemsCUS[1].UNIT.toString());
|
||||||
|
pstmt.setDecimal(30, roundTo(pricingItemsCUS[1].UNIT_PRICE, 4));
|
||||||
|
pstmt.setDecimal(31, roundTo(pricingItemsCUS[1].QUANTITY, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setDecimal(32, roundTo(pricingItemsCUS[1].NET_AMOUNT, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setNString(33, pricingItemsCUS[1].CURRENCY.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(28);
|
||||||
|
pstmt.setNull(29);
|
||||||
|
pstmt.setNull(30);
|
||||||
|
pstmt.setNull(31);
|
||||||
|
pstmt.setNull(32);
|
||||||
|
pstmt.setNull(33);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pricingItemsCUS[2]) {
|
||||||
|
pstmt.setNString(34, pricingItemsCUS[2].TYPE.toString());
|
||||||
|
pstmt.setNString(35, pricingItemsCUS[2].UNIT.toString());
|
||||||
|
pstmt.setDecimal(36, roundTo(pricingItemsCUS[2].UNIT_PRICE, 4));
|
||||||
|
pstmt.setDecimal(37, roundTo(pricingItemsCUS[2].QUANTITY, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setDecimal(38, roundTo(pricingItemsCUS[2].NET_AMOUNT, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setNString(39, pricingItemsCUS[2].CURRENCY.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(34);
|
||||||
|
pstmt.setNull(35);
|
||||||
|
pstmt.setNull(36);
|
||||||
|
pstmt.setNull(37);
|
||||||
|
pstmt.setNull(38);
|
||||||
|
pstmt.setNull(39);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pricingItemsCUS[3]) {
|
||||||
|
pstmt.setNString(40, pricingItemsCUS[3].TYPE.toString());
|
||||||
|
pstmt.setNString(41, pricingItemsCUS[3].UNIT.toString());
|
||||||
|
pstmt.setDecimal(42, roundTo(pricingItemsCUS[3].UNIT_PRICE, 4));
|
||||||
|
pstmt.setDecimal(43, roundTo(pricingItemsCUS[3].QUANTITY, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setDecimal(44, roundTo(pricingItemsCUS[3].NET_AMOUNT, 3)); //TODO: clarify rounding
|
||||||
|
pstmt.setNString(45, pricingItemsCUS[3].CURRENCY.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(40);
|
||||||
|
pstmt.setNull(41);
|
||||||
|
pstmt.setNull(42);
|
||||||
|
pstmt.setNull(43);
|
||||||
|
pstmt.setNull(44);
|
||||||
|
pstmt.setNull(45);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(22);
|
||||||
|
pstmt.setNull(23);
|
||||||
|
pstmt.setNull(24);
|
||||||
|
pstmt.setNull(25);
|
||||||
|
pstmt.setNull(26);
|
||||||
|
pstmt.setNull(27);
|
||||||
|
|
||||||
|
pstmt.setNull(28);
|
||||||
|
pstmt.setNull(29);
|
||||||
|
pstmt.setNull(30);
|
||||||
|
pstmt.setNull(31);
|
||||||
|
pstmt.setNull(32);
|
||||||
|
pstmt.setNull(33);
|
||||||
|
|
||||||
|
pstmt.setNull(34);
|
||||||
|
pstmt.setNull(35);
|
||||||
|
pstmt.setNull(36);
|
||||||
|
pstmt.setNull(37);
|
||||||
|
pstmt.setNull(38);
|
||||||
|
pstmt.setNull(39);
|
||||||
|
pstmt.setNull(40);
|
||||||
|
pstmt.setNull(41);
|
||||||
|
pstmt.setNull(42);
|
||||||
|
pstmt.setNull(43);
|
||||||
|
pstmt.setNull(44);
|
||||||
|
pstmt.setNull(45);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pdcdrObj[0].CHARGE_DATA.SUBSCRIPTION_ID) {
|
||||||
|
pstmt.setNString(46, pdcdrObj[0].CHARGE_DATA.SUBSCRIPTION_ID);
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(46);
|
||||||
|
}
|
||||||
|
pstmt.setNClob(47, pdcontent);
|
||||||
|
//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));
|
||||||
|
|
||||||
|
//04.05.2023 Erweiterung PlausiheckFelder
|
||||||
|
if (pdcdrObj[0].BUSINESS_VALIDATION_RESULT) {
|
||||||
|
pstmt.setNString(48, pdcdrObj[0].BUSINESS_VALIDATION_RESULT.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(48);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pdcdrObj[0].TECH_VALIDATION_RESULT) {
|
||||||
|
pstmt.setNString(49, pdcdrObj[0].TECH_VALIDATION_RESULT.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(49);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pdcdrObj[0].NOT_BILLABLE_REASON) {
|
||||||
|
pstmt.setNString(50, pdcdrObj[0].NOT_BILLABLE_REASON.toString());
|
||||||
|
} else {
|
||||||
|
pstmt.setNull(50);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (isUpdateMode) {
|
||||||
|
pstmt.setNString(51, myBDRID);
|
||||||
|
}
|
||||||
|
|
||||||
|
rs = pstmt.executeUpdate();
|
||||||
|
myDebug.result = rs;
|
||||||
|
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) {
|
||||||
|
outMsg.status = "error";
|
||||||
|
outMessages.push(outMsg);
|
||||||
|
exceptionHandler(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;
|
||||||
|
}
|
||||||
|
outMsg.status = 'success';
|
||||||
|
// vals.description = 'Data accepted and proceeded with ID:' + mynextval;
|
||||||
|
// 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;
|
||||||
|
outMessages.push(outMsg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var content = $.request.body.asString();
|
||||||
|
//var cdrObj = JSON.parse(content);
|
||||||
|
//var ChargeDataObj = cdrObj.chargeData[0].cdrId;
|
||||||
|
// doHTTPCall("4aa9b243be184a4abdb4179f375459be");
|
||||||
|
// 16:11:2021 Validierung nicht mehr gewünscht
|
||||||
|
//if (checkPayload(content)) {
|
||||||
|
PutDataInTable();
|
||||||
|
//}
|
||||||
|
setOutputMessage();
|
||||||
|
// var result = JSON.stringify(cdrObj.callId);
|
||||||
|
// var result = JSON.stringify(ChargeDataObj);
|
||||||
|
// $.response.contentType = 'application/json';
|
||||||
|
// $.response.setBody(result);
|
||||||
|
// $.response.status = $.net.http.OK;
|
||||||
Reference in New Issue
Block a user