From 639f5a744312de88aa27fbba2e7f27eb52287ed6 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 10 四月 2024 15:38:32 +0800
Subject: [PATCH] 代码优化

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs |   43 +++++++++++++++++++++++++------------------
 1 files changed, 25 insertions(+), 18 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
index b7932b0..b1824b5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
@@ -11,6 +11,7 @@
 using WIDESEA_Entity.DomainModels;
 using WIDESEA_WMS.IRepositories;
 using WIDESEA_WMS.Repositories;
+using static FreeSql.Internal.GlobalFilter;
 
 namespace WIDESEA_WMS.Common
 {
@@ -66,11 +67,18 @@
         /// <param name="task"></param>
         public static void Updateinventory(dt_agvtask task)
         {
-            //string[] bindSNs = task.bindSN.Split(",");
-            //int count = 0;
-            //if (bindSNs.Length > 0)
-            //{
-            if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
+            VOLContext context = new VOLContext();
+            Idt_inventoryRepository inventoryRepository = new dt_inventoryRepository(context);
+            if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Carry.ToString())
+            {
+                var inventorys = inventoryRepository.Find(x => x.stationCode == task.agv_fromaddress).ToList();
+                foreach (var inventory in inventorys)
+                {
+                    inventory.stationCode = task.agv_toaddress;
+                    inventoryRepository.Update(inventory, true);
+                }
+            }
+            else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
             {
                 string[] bindSNs = task.bindSN.Split(",");
                 int count = 0;
@@ -83,7 +91,6 @@
                     if (count < 1)
                         throw new Exception("搴撳瓨娓呴櫎澶辫触锛丼N鍙�:" + bindSN);
                 }
-
             }
             else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())
             {
@@ -92,26 +99,24 @@
                 List<dt_inventory> inventorys = new List<dt_inventory>();
                 foreach (string bindSN in bindSNs)
                 {
-                    var mes_detail = freeDB.Select<dt_mes_detail>().Where(x => x.SN == bindSN).First();
-                    if (mes_detail == null)
-                        throw new Exception("鏈壘鍒板伐鍗曚俊鎭紒");
-                    var mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == mes_detail.jobID).First();
-                    if (mes_head == null)
+                    var mes_Work = freeDB.Select<VV_Mes_Workinfo>().Where(x => x.SN == bindSN && x.processCode == "17").First();
+                    if (mes_Work == null)
                         throw new Exception("鏈壘鍒板伐鍗曚俊鎭紒");
                     var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First();
                     dt_inventory inventory = new dt_inventory()
                     {
                         SN = bindSN,
-                        Name = mes_head.productName,
-                        FigureNumber = mes_head.drawingNo,
+                        Name = mes_Work.productName,
+                        FigureNumber = mes_Work.drawingNo,
                         materialCode = task.agv_materbarcode,
-                        HeatNumber = mes_detail.heatID,
-                        BilletNumber = mes_detail.billetID,
+                        HeatNumber = mes_Work.heatID,
+                        drawingNoVer = mes_Work.drawingNoVer,
+                        BilletNumber = mes_Work.billetID,
                         OnlineTime = task.agv_finishedtime,
                         Operator = "admin",
                         stationCode = task.agv_toaddress,
                         area = station.area,
-                        jobID = mes_detail.jobID,
+                        jobID = mes_Work.workOrder,
                         ID = Guid.NewGuid()
                     };
                     inventorys.Add(inventory);
@@ -177,6 +182,7 @@
                 station2.stationType = task.agv_materielid;
                 station2.tray_status = task.agv_TrayStatus;//妯斁/绔栨斁
                 station2.tray_type = task.agv_Traytype;
+                station2.lastUpdateTime = DateTime.Now;
                 stationinfoRepository.Update(station2, true);
             }
             else if (task.agv_taskstate == AGVTaskStateEnum.Complete.ToString())
@@ -210,9 +216,10 @@
                     station1.stationType = string.Empty;
                     station1.tray_status = string.Empty;
                     station1.remark = string.Empty;
-                    if (!station1.stationCode.Contains("X") && !station1.stationCode.Contains("S") && !station1.stationCode.Contains("W01001004") && !station1.stationCode.Contains("W01001005"))
-                        station1.tray_type = string.Empty;
+                    //if (!station1.stationCode.Contains("X") && !station1.stationCode.Contains("S") && !station1.stationCode.Contains("W01001004") && !station1.stationCode.Contains("W01001005"))
+                    //    station1.tray_type = string.Empty;
                 }
+                station1.lastUpdateTime = DateTime.Now;
                 stationinfoRepository.Update(station1, true);
             }
         }

--
Gitblit v1.9.3