From 2b05362eba2f989b7857349cc9a3a1c12f8181b6 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 26 9月 2025 11:35:50 +0800
Subject: [PATCH] 222

---
 iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterface/AccessInterfaceService.cs |   43 ++++++++++++++++++++++++++++++-------------
 1 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterface/AccessInterfaceService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterface/AccessInterfaceService.cs
index 96655eb..19be4cf 100644
--- a/iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterface/AccessInterfaceService.cs
+++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterface/AccessInterfaceService.cs
@@ -48,6 +48,7 @@
         private readonly IHttpContextAccessor _httpContextAccessor;
         private readonly IRepository<WorkPieceProcess, MasterDbContextLocator> _workPieceProcessRep;
         private readonly IAccessInterfaceLogService _accessInterfaceLog;
+        private readonly IAccessInterfaceLogForRequestService _accessInterfaceLogForRequest;
         private readonly IRepository<WorkPieceInfoLog, MasterDbContextLocator> _WorkPieceInfoLog;
         private readonly IRepository<EquipmentCurrentMonitor, MasterDbContextLocator> _equipmentCurrentMonitorRep;
         private readonly IRepository<EquipmentBaseInfo, MasterDbContextLocator> _equipmentBaseInfoRep;
@@ -63,7 +64,9 @@
         /// <param name="workPieceInfoRep"></param>
         /// <param name="httpContextAccessor"></param>
         /// <param name="accessInterfaceLog"></param>
-        public AccessInterfaceService(IRepository<QualityDataInfo, MasterDbContextLocator> qualityDataInfoRep,
+        public AccessInterfaceService(
+            IAccessInterfaceLogForRequestService accessInterfaceLogForRequest,
+            IRepository<QualityDataInfo, MasterDbContextLocator> qualityDataInfoRep,
             IRepository<QualityDataInfoLog, MasterDbContextLocator> qualityDataInfoLogRep,
             IRepository<WorkPieceInfo, MasterDbContextLocator> workPieceInfoRep,
             IHttpContextAccessor httpContextAccessor,
@@ -77,6 +80,7 @@
             , IRepository<ProductionPlanInfo, MasterDbContextLocator> productionPlanInfoRep
             , IRepository<ShiftInfo, MasterDbContextLocator> shiftInfoRep)
         {
+            _accessInterfaceLogForRequest = accessInterfaceLogForRequest;
             _qualityDataInfoRep = qualityDataInfoRep;
             _qualityDataInfoLogRep = qualityDataInfoLogRep;
             _workPieceInfoRep = workPieceInfoRep;
@@ -300,8 +304,9 @@
             {
                 try
                 {
-                    addLog.WorkPieceID = input.WorkPieceID;
-                    addLog.WorkingProcedureCurrent = input.WorkingProcedure;
+                    addLog.WorkPieceID = input?.WorkPieceID;
+                    addLog.WorkingProcedureCurrent = input?.WorkingProcedure;
+                    addLog.QualityState = input?.QualityState;
 
                     await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
                 }
@@ -323,7 +328,7 @@
         [HttpGet("GetWorkingProcedureForID")]
         public async Task<AccessWorPieceInfoOutput> GetWorkingProcedureForID([FromQuery] AccessWorkPieceInfoInput input)
         {
-            AddAccessInterfaceLogInput addLog = new();
+            AddAccessInterfaceLogForRequestInput addLog = new();
             addLog.JsonString = JsonConvert.SerializeObject(input);
             addLog.Action = 2;
             addLog.Key = input.WorkPieceID;
@@ -337,7 +342,9 @@
             if (input == null || string.IsNullOrEmpty(input.WorkPieceID))
             {
                 addLog.Result = "浼犲叆鍙傛暟寮傚父锛氬伐浠跺彿涓嶈兘涓虹┖锛�";
-                await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+                //await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+                //鏇挎崲[Editby shaocx,2024-09-04]
+                await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
                 throw Oops.Oh(addLog.Result);
             }
 
@@ -346,14 +353,18 @@
             if (workPieceInfo == null)
             {
                 addLog.Result = $"浼犲叆鍙傛暟寮傚父锛氬伐浠跺彿{input.WorkPieceID}涓嶈兘鎵惧埌鎸囧畾宸ヤ欢锛�";
-                await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+                //await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+                //鏇挎崲[Editby shaocx,2024-09-04]
+                await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
                 throw Oops.Oh(addLog.Result);
             }
             var re = workPieceInfo.Adapt<AccessWorPieceInfoOutput>();
 
             addLog.Result = re;
 
-            await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+            //await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+            //鏇挎崲[Editby shaocx,2024-09-04]
+            await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
 
             return re;
         }
@@ -440,7 +451,9 @@
                     }
                     else
                     {
-                        produceCompletionStatus.PlanCompletionRate = Math.Round(((double)produceCompletionStatus.CompletionNum / (double)produceCompletionStatus.PlanCompletionNum), 3) * 100;
+                        produceCompletionStatus.PlanCompletionRate = (int)Math.Clamp(
+                           Math.Round(((double)produceCompletionStatus.CompletionNum / (double)produceCompletionStatus.PlanCompletionNum), 3) * 100
+                           , 0, 100);
                     }
                     list.Add(produceCompletionStatus);
 
@@ -465,7 +478,7 @@
             //鑾峰彇褰撳墠鏈�
             var month = DateTime.Now.ToString("yyyy-MM");
             //鑾峰彇褰撳墠澶�
-            var day = DateTime.Now.ToString("yyyy-MM-dd");
+            var day = DateTime.Now.ToString("yyyy-MM-dd"); 
             //鑾峰彇褰撳墠鏈堜唤璁″垝
             var productionPlanInfos = _productionPlanInfoRep.DetachedEntities.ProjectToType<ProductionPlanInfoOutput>().ToList()
                                      .Where(o => o.PlanType.Equals("2") && o.PlanTimeHand.Equals(month)).FirstOrDefault();
@@ -807,7 +820,7 @@
             var workPieceInfo = await _workPieceInfoRep.DetachedEntities
                 .FirstOrDefaultAsync(w => w.WorkPieceID == input.WorkPieceID.Trim());
 
-            AddAccessInterfaceLogInput addLog = new();
+            AddAccessInterfaceLogForRequestInput addLog = new();
             addLog.JsonString = JsonConvert.SerializeObject(input);
             addLog.Action = 2;
             addLog.Key = input.WorkPieceID;
@@ -818,7 +831,9 @@
                 addLog.IpAddress = ipAddress.MapToIPv4().ToString();
             }
             addLog.OperateAddress = $"{_httpContextAccessor.HttpContext.Request.Path}";// {_httpContextAccessor.HttpContext.Request.QueryString}"; //_httpContextAccessor.HttpContext.Request.GetEncodedUrl();
-            await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+            //鏇挎崲[Editby shaocx,2024-09-04]
+            // await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+            await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
 
             return workPieceInfo == null ? null : workPieceInfo.Adapt<AccessWorPieceInfoOutput>();
         }
@@ -865,13 +880,15 @@
                     await _threadStatusMonitorRep.UpdateAsync(threadStatusMonitor);
                 }
             }
-            AddAccessInterfaceLogInput addLog = new();
+            AddAccessInterfaceLogForRequestInput addLog = new();
             addLog.JsonString = JsonConvert.SerializeObject(input);
             addLog.Action = 1;
             addLog.Key = input.Threadcode;
             addLog.IpAddress = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString();
             addLog.OperateAddress = $"{_httpContextAccessor.HttpContext.Request.Path}{_httpContextAccessor.HttpContext.Request.QueryString}";
-            await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+            //鏇挎崲[Editby shaocx,2024-09-04]
+            // await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
+            await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
         }
         #endregion
     }

--
Gitblit v1.9.3