|
@@ -80,12 +80,15 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
TotalCost = creditDeductResult.amount,
|
|
|
|
|
|
};
|
|
|
-
|
|
|
+ logger.Debug(string.Format("URL:{0}", GlobalConfig.TCC_API_URL + "prepare_issue_invoice"));
|
|
|
+ logger.Debug(JsonConvert.SerializeObject(report));
|
|
|
var response = await httpClient.Post(GlobalConfig.TCC_API_URL + "prepare_issue_invoice", new Dictionary<string, string>()
|
|
|
{
|
|
|
{ "PartnerId",session.CustomerId.ToString()}
|
|
|
|
|
|
- }, JsonConvert.SerializeObject(report, GlobalConfig.JSONSERIALIZER_FORMAT), GlobalConfig.TCC_SALTKEY);
|
|
|
+ }, report, GlobalConfig.TCC_SALTKEY);
|
|
|
+
|
|
|
+ logger.Debug(JsonConvert.SerializeObject(response));
|
|
|
}
|
|
|
|
|
|
|
|
@@ -661,6 +664,7 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
{
|
|
|
switch (action)
|
|
|
{
|
|
|
+
|
|
|
case Actions.DataTransfer:
|
|
|
{
|
|
|
DataTransferConfirmation _confirm = confirm as DataTransferConfirmation;
|
|
@@ -700,7 +704,7 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
List<ChargingBill> bill = new List<ChargingBill>();
|
|
|
List<ChargingPrice> chargingPrices = new List<ChargingPrice>();
|
|
|
var txEnergy = JsonConvert.DeserializeObject<TransactionEnergy>(_confirm.data);
|
|
|
- var feedto = db.TransactionRecord.Where(x => x.Id == txEnergy.TxId).Select(x => new { Fee = x.Fee, StopTime = x.StopTime, StartTime = x.StartTime }).FirstOrDefault();
|
|
|
+ var feedto = db.TransactionRecord.Where(x => x.Id == txEnergy.TxId).Select(x => new { Id = x.Id, ConnectorId = x.ConnectorId, Fee = x.Fee, StopTime = x.StopTime, StartTime = x.StartTime }).FirstOrDefault();
|
|
|
|
|
|
if (feedto == null || string.IsNullOrEmpty(feedto.Fee)) return result;
|
|
|
string currency = feedto.Fee.Substring(feedto.Fee.Length - 3);
|
|
@@ -879,6 +883,30 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
|
|
|
db.SaveChanges();
|
|
|
|
|
|
+ using (var meterdb = new MeterValueDBContext())
|
|
|
+ {
|
|
|
+ string sp = "[dbo].[uspInsertMeterValueRecord] @ChargeBoxId," +
|
|
|
+ "@ConnectorId,@Value,@CreatedOn,@ContextId,@FormatId,@MeasurandId,@PhaseId,@LocationId,@UnitId,@TransactionId";
|
|
|
+
|
|
|
+ List<SqlParameter> parameter = new List<SqlParameter>
|
|
|
+ {
|
|
|
+ new SqlParameter("ChargeBoxId",session.ChargeBoxId),
|
|
|
+ new SqlParameter("ConnectorId", (byte)feedto.ConnectorId),
|
|
|
+ new SqlParameter("Value",sum),
|
|
|
+ new SqlParameter("CreatedOn",DateTime.UtcNow),
|
|
|
+ new SqlParameter("ContextId",(int)ReadingContext.Sample_Periodic),
|
|
|
+ new SqlParameter("FormatId",(int)ValueFormat.Raw),
|
|
|
+ new SqlParameter("MeasurandId",(int)Measurand.TotalCost),
|
|
|
+ new SqlParameter("PhaseId", -1),
|
|
|
+ new SqlParameter("LocationId", -1),
|
|
|
+ new SqlParameter("UnitId", -1),
|
|
|
+ new SqlParameter("TransactionId",feedto.Id),
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ meterdb.Database.ExecuteSqlCommand(sp, parameter.ToArray());
|
|
|
+ }
|
|
|
+
|
|
|
using (SqlConnection conn = new SqlConnection(webConnectionString))
|
|
|
{
|
|
|
var parameters = new DynamicParameters();
|
|
@@ -951,12 +979,61 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
}); ;
|
|
|
|
|
|
db.SaveChanges();
|
|
|
+
|
|
|
+ using (var meterdb = new MeterValueDBContext())
|
|
|
+ {
|
|
|
+ string sp = "[dbo].[uspInsertMeterValueRecord] @ChargeBoxId," +
|
|
|
+ "@ConnectorId,@Value,@CreatedOn,@ContextId,@FormatId,@MeasurandId,@PhaseId,@LocationId,@UnitId,@TransactionId";
|
|
|
+
|
|
|
+ List<SqlParameter> parameter = new List<SqlParameter>
|
|
|
+ {
|
|
|
+ new SqlParameter("ChargeBoxId",session.ChargeBoxId),
|
|
|
+ new SqlParameter("ConnectorId", (byte)feedto.ConnectorId),
|
|
|
+ new SqlParameter("Value",sum),
|
|
|
+ new SqlParameter("CreatedOn",DateTime.UtcNow),
|
|
|
+ new SqlParameter("ContextId",(int)ReadingContext.Sample_Periodic),
|
|
|
+ new SqlParameter("FormatId",(int)ValueFormat.Raw),
|
|
|
+ new SqlParameter("MeasurandId",(int)Measurand.ChargingCost),
|
|
|
+ new SqlParameter("PhaseId", -1),
|
|
|
+ new SqlParameter("LocationId", -1),
|
|
|
+ new SqlParameter("UnitId", -1),
|
|
|
+ new SqlParameter("TransactionId",feedto.Id),
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ meterdb.Database.ExecuteSqlCommand(sp, parameter.ToArray());
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
+ }
|
|
|
+ if(_request.messageId== "ID_GetTxUserInfo")
|
|
|
+ {
|
|
|
+ var txUserInfo = JsonConvert.DeserializeObject<ID_GetTxUserInfo>(_confirm.data);
|
|
|
+ if (session.CustomerId == new Guid("009E603C-79CD-4620-A2B8-D9349C0E8AD8"))
|
|
|
+ {
|
|
|
+ var request = new
|
|
|
+ {
|
|
|
+ ChargeBoxId = session.ChargeBoxId,
|
|
|
+ ConnectorId = txUserInfo.ConnectorId,
|
|
|
+ SessionId = txUserInfo.TxId,
|
|
|
+ SerialNo = txUserInfo.SerialNo,
|
|
|
+ StartTime = txUserInfo.StartTime.ToString(GlobalConfig.UTC_DATETIMEFORMAT)
|
|
|
+ };
|
|
|
+
|
|
|
+ var response = httpClient.Post(GlobalConfig.TCC_API_URL + "start_session", new Dictionary<string, string>()
|
|
|
+ {
|
|
|
+ { "PartnerId",session.CustomerId.ToString()}
|
|
|
+
|
|
|
+ }, request, GlobalConfig.TCC_SALTKEY);
|
|
|
+
|
|
|
+ logger.Debug(JsonConvert.SerializeObject(response));
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|