浏览代码

add main commit 64e71ca0b667470aa06cc00293031cef7800ffd1
Commit 64e71ca0: 1.Fixbug標準版 FW 沒更新卻顯示更新完成問題
2.Diagnostic 進度同步到更新到資料庫 (Diagnostic 進度同步到Portal)

Robert 1 年之前
父节点
当前提交
b8db5b723c
共有 1 个文件被更改,包括 18 次插入10 次删除
  1. 18 10
      EVCB_OCPP.WSServer/Message/FirmwareManagementProfileHandler.cs

+ 18 - 10
EVCB_OCPP.WSServer/Message/FirmwareManagementProfileHandler.cs

@@ -84,20 +84,12 @@ namespace EVCB_OCPP.WSServer.Message
                             {
                                 using (var db = await maindbContextFactory.CreateDbContextAsync())
                                 {
-                                    var item = await db.MachineOperateRecord.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.RequestType == 0)
+                                    var item = await db.MachineOperateRecord.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.Action == "UpdateFirmware" && x.RequestType == 0)
                                         .OrderByDescending(x => x.CreatedOn).FirstOrDefaultAsync();
                                     if (item != null)
                                     {
                                         item.EVSE_Status = (int)_request.status;
                                         item.FinishedOn = DateTime.UtcNow;
-
-                                        //if (!string.IsNullOrEmpty(item.EVSE_Value) && _request.status == Packet.Messages.SubTypes.FirmwareStatus.Installed)
-                                        //{
-                                        //    int version = 0;
-                                        //    int.TryParse(item.EVSE_Value.Split(':').Last(), out version);
-                                        //    var machine = await db.Machine.Where(x => x.ChargeBoxId == session.ChargeBoxId).FirstOrDefaultAsync();
-                                        //    machine.FW_VersionReport = version;
-                                        //}
                                     }
 
                                     await db.SaveChangesAsync();
@@ -114,6 +106,23 @@ namespace EVCB_OCPP.WSServer.Message
                         {
                             DiagnosticsStatusNotificationRequest _request = request as DiagnosticsStatusNotificationRequest;
 
+                            if (_request.status != Packet.Messages.SubTypes.DiagnosticsStatus.Idle)
+                            {
+                                using (var db = new MainDBContext())
+                                {
+                                    var item = db.MachineOperateRecord.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.Action == "GetDiagnostics" && x.RequestType == 1)
+                                        .OrderByDescending(x => x.CreatedOn).FirstOrDefault();
+                                    if (item != null)
+                                    {
+                                        item.EVSE_Status = (int)_request.status;
+                                        item.FinishedOn = DateTime.UtcNow;
+                                    }
+
+                                    await db.SaveChangesAsync();
+                                }
+
+                            }
+
                             var confirm = new DiagnosticsStatusNotificationConfirmation() { };
 
                             result.Message = confirm;
@@ -163,7 +172,6 @@ namespace EVCB_OCPP.WSServer.Message
                             {
                                 operation.FinishedOn = DateTime.UtcNow;
                                 operation.Status = 1;//電樁有回覆
-                                operation.EVSE_Status = (int)1;//OK
                                 operation.EVSE_Value = string.IsNullOrEmpty(evse_rep) ? operation.EVSE_Value : evse_rep;
                                 await db.SaveChangesAsync();
                             }