From 39c09dede499f7ba23bcd26b17b2199a31bddccc Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 28 8月 2024 11:10:53 +0800
Subject: [PATCH] 出库执行 哟花

---
 iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs
index 8d5a7b4..48ddb7f 100644
--- a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs
+++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs
@@ -32,12 +32,14 @@
         private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
         private readonly IRepository<WorkPieceInfoLog, MasterDbContextLocator> _workPieceInfoLogRep;
         private readonly IRepository<WorkPieceOutbound, MasterDbContextLocator> _workPieceOutboundRep;
+        private readonly IRepository<WorkPieceUnLine, MasterDbContextLocator> _workPieceUnLineRep;
 
         /// <summary>
         /// 璁惧鍩虹淇℃伅鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="equipmentBaseInfoRep"></param>
         public PdaService(
+            IRepository<WorkPieceUnLine, MasterDbContextLocator> workPieceUnLineRep,
             IRepository<EquipmentBaseInfo, MasterDbContextLocator> equipmentBaseInfoRep,
             IRepository<V_GetEquipmentAlert, MasterDbContextLocator> v_GetEquipmentAlert,
             IRepository<EquipmentCurrentMonitor, MasterDbContextLocator> equipmentCurrentMonitorRep,
@@ -50,6 +52,7 @@
             IRepository<WorkPieceOutbound, MasterDbContextLocator> workPieceOutboundRep
             )
         {
+            _workPieceUnLineRep = workPieceUnLineRep;
             _equipmentBaseInfoRep = equipmentBaseInfoRep;
             _v_GetEquipmentAlertRep = v_GetEquipmentAlert;
             _equipmentCurrentMonitorRep = equipmentCurrentMonitorRep;
@@ -489,39 +492,27 @@
                 throw Oops.Oh("宸ヤ欢鍑哄簱澶辫触锛氭暟鎹笉鑳戒负绌猴紒");
             }
 
-            List<WorkPieceInfoOutput> WorkPieceInfoLst = input.WorkPieceInfoLst;
+            List<OutBoundDetailsInput> WorkPieceInfoLst = input.WorkPieceInfoLst;
 
             var addOutBoundList = new List<WorkPieceOutbound>();
 
-            var queryWorkPieceIDList = WorkPieceInfoLst.Select(x => x.WorkPieceID).ToList();
-            List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync();
+            var queryOP80NewCodeList = WorkPieceInfoLst.Select(x => x.OP80NewCode).ToList();
+            List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.Where(w => queryOP80NewCodeList.Contains(w.OP80NewCode) && w.IsDeleted == false).ToListAsync();
 
-            List<WorkPieceInfo> db_WorkPieceInfoList = await _workPieceInfoRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync();
+            List<WorkPieceInfo> db_WorkPieceInfoList = await _workPieceInfoRep.Where(w => queryOP80NewCodeList.Contains(w.OP80NewCode) && w.IsDeleted == false).ToListAsync();
 
             foreach (var item in WorkPieceInfoLst)
             {
-                var itemModel = db_itemModelList.FirstOrDefault(w => w.WorkPieceID == item.WorkPieceID);
+                var itemModel = db_itemModelList.FirstOrDefault(w => w.OP80NewCode == item.OP80NewCode);
                 if (itemModel != null)
                 {
                     //itemModel.IsDeleted = true;
                     //itemModel.Remark = itemModel.Remark ?? "" + "浜屾鍙戣揣鑷姩鎾ら攢鍙戣揣";
                     //await _workPieceOutboundRep.UpdateAsync(itemModel);
                     var createitme = itemModel.CreatedTime == null ? "" : (((DateTimeOffset)itemModel.CreatedTime).UtcDateTime.ToString("yyyy-MM-dd HH:mm:ss"));
-                    throw Oops.Oh($"宸ヤ欢{itemModel.WorkPieceID}宸插嚭搴擄紝鍑哄簱鏃堕棿:{createitme}");
+                    throw Oops.Oh($"鎴愬搧鐮亄itemModel.OP80NewCode}宸插嚭搴擄紝鍑哄簱鏃堕棿:{createitme}");
                 }
-                var outBoundLog = new WorkPieceOutbound
-                {
-                    WorkPieceID = item.WorkPieceID,
-                    OP80NewCode = item.OP80NewCode,
-                    WorkPieceOutboundTime = DateTime.Now,
-                    WorkPieceOutboundUserId = CurrentUserInfo.UserId,
-                    WorkPieceOutboundUserName = CurrentUserInfo.Name,
-                    CreatedUserId = CurrentUserInfo.UserId,
-                    CreatedUserName = CurrentUserInfo.Name,
-                };
-                addOutBoundList.Add(outBoundLog);
-
-                var workPiece = db_WorkPieceInfoList.FirstOrDefault(w => w.WorkPieceID == item.WorkPieceID);
+                var workPiece = db_WorkPieceInfoList.FirstOrDefault(w => w.OP80NewCode == item.OP80NewCode);
                 if (workPiece != null)
                 {
                     workPiece.OutPerson = CurrentUserInfo.Name;
@@ -531,6 +522,19 @@
 
                     await _workPieceInfoRep.UpdateAsync(workPiece);
                 }
+                var outBoundLog = new WorkPieceOutbound
+                {
+                    WorkPieceID = workPiece?.WorkPieceID,
+                    OP80NewCode = item.OP80NewCode,
+                    WorkPieceOutboundTime = DateTime.Now,
+                    WorkPieceOutboundUserId = CurrentUserInfo.UserId,
+                    WorkPieceOutboundUserName = CurrentUserInfo.Name,
+                    CreatedUserId = CurrentUserInfo.UserId,
+                    CreatedUserName = CurrentUserInfo.Name,
+                };
+                addOutBoundList.Add(outBoundLog);
+
+
             }
             await _workPieceOutboundRep.InsertAsync(addOutBoundList);
             return "鍑哄簱鎴愬姛";
@@ -553,5 +557,13 @@
             return db_itemModelList.Count().ToString();
         }
 
+
+        #region 鏂扮増 涓嬬嚎銆佸嚭搴撴墽琛�
+
+
+
+
+        #endregion
+
     }
 }

--
Gitblit v1.9.3