浏览代码

2022-02-07/Jerry Wang
Action:
1. Add 'approvalNo' item to TCCI data transfer ID_CreditDeductResult message content.
2. Add database table[report_deduct_info] item 'ROC', 'RRN', 'approvalNo', 'storeId'.

File:
1. EVSE/Modularization/ocppfiles/MessageHandler.c
--> Action 1,2
2. EVSE/Modularization/ocppfiles/Module_OcppBackend.c
--> Action 2
3. EVSE/Modularization/ocppph/MessageHandler.c
--> Action 1,2
4. EVSE/Modularization/ocppph/Module_OcppBackend.c
--> Action 2

Jerry Wang 3 年之前
父节点
当前提交
aa2c75ef7a

+ 11 - 5
EVSE/Modularization/ocppfiles/MessageHandler.c

@@ -1301,13 +1301,14 @@ int OCPP_getPeriodEnergyToDataTransfer(int32_t transactionId)
 	return isSuccess;
 }
 
-int OCPP_insert_deduct_info(int txId, char *creditNo, uint8_t deductResult, uint8_t isDonateInvoice, double amount, char *vemData)
+int OCPP_insert_deduct_info(int txId, char *creditNo, uint8_t deductResult, uint8_t isDonateInvoice, double amount, char *vemData, char *ROC, char *RRN, char *approvalNo, char *storeId)
 {
 	int result = PASS;
 	char* errMsg = NULL;
 	char sqlStr[8192];
 
-	sprintf(sqlStr, "insert into report_deduct_info(txId, creditNo, deductResult, isDonateInvoice, amount, vemData, isUploaded) values('%d', '%s', '%d', '%d', '%.2f', '%s', '0');", txId, creditNo, deductResult, isDonateInvoice, amount, vemData);
+	sprintf(sqlStr, "insert into report_deduct_info(txId, creditNo, deductResult, isDonateInvoice, amount, vemData, ROC, RRN, approvalNo, storeId, isUploaded) values('%d', '%s', '%d', '%d', '%.2f', '%s', '%s', '%s', '%s', '%s', '0');",
+			txId, creditNo, deductResult, isDonateInvoice, amount, vemData, ROC, RRN, approvalNo, storeId);
 
 	if (sqlite3_exec(db, sqlStr, 0, 0, &errMsg) != SQLITE_OK)
 	{
@@ -1346,12 +1347,13 @@ int queryDeductCallBack(void *data, int columenCount, char **columnValue, char *
 {
 	sprintf((char*)ShmOCPP16Data->DataTransfer[0].VendorId, "%s", ShmSysConfigAndInfo->SysConfig.chargePointVendor);
 	sprintf((char*)ShmOCPP16Data->DataTransfer[0].MessageId,"%s","ID_CreditDeductResult");
-	sprintf((char*)ShmOCPP16Data->DataTransfer[0].Data, "{\\\"txId\\\":%d,\\\"creditNo\\\":\\\"%s\\\",\\\"deductResult\\\":%s,\\\"isDonateInvoice\\\":%s,\\\"amount\\\":%s}",
+	sprintf((char*)ShmOCPP16Data->DataTransfer[0].Data, "{\\\"txId\\\":%d,\\\"creditNo\\\":\\\"%s\\\",\\\"deductResult\\\":%s,\\\"isDonateInvoice\\\":%s,\\\"amount\\\":%s,\\\"approvalNo\\\":%s}",
 			atoi(columnValue[1]),
 			columnValue[2],
 			atoi(columnValue[3])==1?"true":"false",
 			atoi(columnValue[4])==1?"true":"false",
-			columnValue[5]);
+			columnValue[5],
+			columnValue[9]);
 
 	ShmOCPP16Data->CsMsg.bits[0].DataTransferReq = 1;
 
@@ -4506,7 +4508,11 @@ void CheckSystemValue(void)
 	//===============================
 	if(ShmOCPP16Data->TcciCustomData.ReportCreditDeductReq)
 	{
-		OCPP_insert_deduct_info(ShmOCPP16Data->TcciCustomData.DeductInfo.txId, (char*)ShmOCPP16Data->TcciCustomData.DeductInfo.creditNo, ShmOCPP16Data->TcciCustomData.DeductInfo.deductResult, ShmOCPP16Data->TcciCustomData.DeductInfo.isDonateInvoice, ShmOCPP16Data->TcciCustomData.DeductInfo.amount, (char*)ShmOCPP16Data->TcciCustomData.DeductInfo.vemData);
+		OCPP_insert_deduct_info(ShmOCPP16Data->TcciCustomData.DeductInfo.txId, (char*)ShmOCPP16Data->TcciCustomData.DeductInfo.creditNo,
+				                ShmOCPP16Data->TcciCustomData.DeductInfo.deductResult, ShmOCPP16Data->TcciCustomData.DeductInfo.isDonateInvoice,
+								ShmOCPP16Data->TcciCustomData.DeductInfo.amount, (char*)ShmOCPP16Data->TcciCustomData.DeductInfo.vemData,
+								(char*)ShmOCPP16Data->TcciCustomData.DeductInfo.ROC,(char*)ShmOCPP16Data->TcciCustomData.DeductInfo.RRN,
+								(char*)ShmOCPP16Data->TcciCustomData.DeductInfo.approvalNo,(char*)ShmOCPP16Data->TcciCustomData.DeductInfo.storeId);
 
 		ShmOCPP16Data->TcciCustomData.ReportCreditDeductReq = FALSE;
 	}

+ 4 - 0
EVSE/Modularization/ocppfiles/Module_OcppBackend.c

@@ -106,6 +106,10 @@ static char *sqlReportDeduct = "create table if not exists report_deduct_info (
 							   "isDonateInvoice text,"
 							   "amount text,"
 							   "vemData text,"
+							   "ROC text,"
+							   "RRN text,"
+		                       "approvalNo text,"
+		                       "storeId text,"
 							   "isUploaded text);";
 
 //=================================

+ 11 - 5
EVSE/Modularization/ocppph/MessageHandler.c

@@ -808,13 +808,14 @@ int OCPP_insert_transaction_msg(uint8_t isStartTransaction, char *transactionMsg
 	return result;
 }
 
-int OCPP_insert_deduct_info(int txId, char *creditNo, uint8_t deductResult, uint8_t isDonateInvoice, double amount, char *vemData)
+int OCPP_insert_deduct_info(int txId, char *creditNo, uint8_t deductResult, uint8_t isDonateInvoice, double amount, char *vemData, char *ROC, char *RRN, char *approvalNo, char *storeId)
 {
 	int result = PASS;
 	char* errMsg = NULL;
 	char sqlStr[8192];
 
-	sprintf(sqlStr, "insert into report_deduct_info(txId, creditNo, deductResult, isDonateInvoice, amount, vemData, isUploaded) values('%d', '%s', '%d', '%d', '%.2f', '%s', '0');", txId, creditNo, deductResult, isDonateInvoice, amount, vemData);
+	sprintf(sqlStr, "insert into report_deduct_info(txId, creditNo, deductResult, isDonateInvoice, amount, vemData, ROC, RRN, approvalNo, storeId, isUploaded) values('%d', '%s', '%d', '%d', '%.2f', '%s', '%s', '%s', '%s', '%s', '0');",
+			txId, creditNo, deductResult, isDonateInvoice, amount, vemData, ROC, RRN, approvalNo, storeId);
 
 	if (sqlite3_exec(db, sqlStr, 0, 0, &errMsg) != SQLITE_OK)
 	{
@@ -853,12 +854,13 @@ int queryDeductCallBack(void *data, int columenCount, char **columnValue, char *
 {
 	sprintf((char*)ShmOCPP16DataPH->DataTransfer[0].VendorId, "%s", ShmSysConfigAndInfo->SysConfig.chargePointVendor);
 	sprintf((char*)ShmOCPP16DataPH->DataTransfer[0].MessageId,"%s","ID_CreditDeductResult");
-	sprintf((char*)ShmOCPP16DataPH->DataTransfer[0].Data, "{\\\"txId\\\":%d,\\\"creditNo\\\":\\\"%s\\\",\\\"deductResult\\\":%s,\\\"isDonateInvoice\\\":%s,\\\"amount\\\":%s}",
+	sprintf((char*)ShmOCPP16DataPH->DataTransfer[0].Data, "{\\\"txId\\\":%d,\\\"creditNo\\\":\\\"%s\\\",\\\"deductResult\\\":%s,\\\"isDonateInvoice\\\":%s,\\\"amount\\\":%s,\\\"approvalNo\\\":%s}",
 			atoi(columnValue[1]),
 			columnValue[2],
 			atoi(columnValue[3])==1?"true":"false",
 			atoi(columnValue[4])==1?"true":"false",
-			columnValue[5]);
+			columnValue[5],
+			columnValue[9]);
 
 	ShmOCPP16DataPH->CsMsg.bits[0].DataTransferReq = 1;
 
@@ -4026,7 +4028,11 @@ void CheckSystemValue(void)
 	//===============================
 	if(ShmOCPP16DataPH->TcciCustomData.ReportCreditDeductReq)
 	{
-		OCPP_insert_deduct_info(ShmOCPP16DataPH->TcciCustomData.DeductInfo.txId, (char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.creditNo, ShmOCPP16DataPH->TcciCustomData.DeductInfo.deductResult, ShmOCPP16DataPH->TcciCustomData.DeductInfo.isDonateInvoice, ShmOCPP16DataPH->TcciCustomData.DeductInfo.amount, (char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.vemData);
+		OCPP_insert_deduct_info(ShmOCPP16DataPH->TcciCustomData.DeductInfo.txId, (char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.creditNo,
+								ShmOCPP16DataPH->TcciCustomData.DeductInfo.deductResult, ShmOCPP16DataPH->TcciCustomData.DeductInfo.isDonateInvoice,
+								ShmOCPP16DataPH->TcciCustomData.DeductInfo.amount, (char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.vemData,
+								(char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.ROC,(char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.RRN,
+								(char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.approvalNo,(char*)ShmOCPP16DataPH->TcciCustomData.DeductInfo.storeId);
 
 		ShmOCPP16DataPH->TcciCustomData.ReportCreditDeductReq = FALSE;
 	}

+ 4 - 0
EVSE/Modularization/ocppph/Module_OcppBackend.c

@@ -101,6 +101,10 @@ static char *sqlReportDeduct = "create table if not exists report_deduct_info (
 							   "isDonateInvoice text,"
 							   "amount text,"
 							   "vemData text,"
+							   "ROC text,"
+							   "RRN text,"
+		                       "approvalNo text,"
+		                       "storeId text,"
 							   "isUploaded text);";
 
 //=================================