From db6156a92cc59467bde608a00c76952ebc75e488 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 05 三月 2024 09:51:05 +0800
Subject: [PATCH] 优化代码

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs |   94 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 78 insertions(+), 16 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 210fd6c..c0697aa 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"
@@ -30,7 +30,7 @@
             dt_agvtask_hty agvtask_Hty = new dt_agvtask_hty()
             {
                 hty_pkid = Guid.NewGuid(),
-                agv_id = Guid.Empty,
+                agv_id = task.agv_id,
                 agv_tasknum = task.agv_tasknum,
                 agv_materielid = task.agv_materielid,
                 agv_qty = task.agv_qty,
@@ -39,7 +39,7 @@
                 agv_executingBeginTime = task.agv_executingBeginTime,
                 agv_executingEndTime = task.agv_executingEndTime,
                 agv_completeBeginTime = task.agv_completeBeginTime,
-                agv_finishedtime = DateTime.Now,
+                agv_finishedtime = task.agv_finishedtime,
                 agv_taskstate = task.agv_taskstate,
                 agv_tasktype = task.agv_tasktype,
                 agv_fromaddress = task.agv_fromaddress,
@@ -52,7 +52,9 @@
                 agv_barcode = task.agv_barcode,
                 agv_code = task.agv_code,
                 agv_worktype = task.agv_worktype,
-                agv_remark = task.agv_remark
+                agv_remark = task.agv_remark,
+                bindSN = task.bindSN,
+                agv_materbarcode = task.agv_materbarcode,
             };
             htyRepository.Add(agvtask_Hty, true);
             repository.Delete(task, true);
@@ -64,22 +66,76 @@
         public static void Updateinventory(dt_agvtask task)
         {
             string[] bindSNs = task.bindSN.Split(",");
+            int count = 0;
             if (bindSNs.Length > 0)
             {
-                var Materiel = QueryData.QueryMateriel(task.agv_materielid);
-                List<dt_inventory> inventorys = new List<dt_inventory>();
-                foreach (string bindSN in bindSNs)
+                if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
                 {
-                    dt_inventory inventory = new dt_inventory()
+                    foreach (var bindSN in bindSNs)
                     {
-                        SN = bindSN,//寰呭畬鍠�
-                    };
-                    inventorys.Add(inventory);
+                        //List<dt_inventory> inventorys = new List<dt_inventory>();
+                        var inventory = freeDB.Select<dt_inventory>().Where(x => x.SN == bindSN).First();
+                        //inventorys.Add(inventory);
+                        count = freeDB.Remove(inventory);
+                        if (count < 1)
+                            throw new Exception("搴撳瓨娓呴櫎澶辫触锛丼N鍙�:" + bindSN);
+                    }
+
                 }
-                if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
-                    freeDB.AddRange(inventorys);
-                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
-                    freeDB.Remove(inventorys);
+                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())
+                {
+                    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();
+                        var mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == mes_detail.jobID).First();
+                        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,
+                            //HearthNumber = "",
+                            HeatNumber = mes_detail.heatID,
+                            BilletNumber = mes_detail.billetID,
+                            OnlineTime = task.agv_finishedtime,
+                            Operator = "admin",
+                            stationCode = task.agv_toaddress,
+                            area = station.area,
+                            jobID = mes_detail.jobID,
+                            ID = Guid.NewGuid()
+                        };
+                        inventorys.Add(inventory);
+                    }
+                    count = freeDB.AddRange(inventorys);
+                    if (count < 1)
+                        throw new Exception("搴撳瓨娣诲姞澶辫触锛佸簱浣嶅彿:" + task.agv_toaddress);
+                }
+
+                //var Materiel = QueryData.QueryMateriel(task.agv_materielid);
+                //List<dt_inventory> inventorys = new List<dt_inventory>();
+                //foreach (string bindSN in bindSNs)
+                //{
+                //    dt_inventory inventory = new dt_inventory()
+                //    {
+                //        SN = bindSN,//寰呭畬鍠�
+                //        Name = "",
+                //        FigureNumber = "",
+                //        //HearthNumber = "",
+                //        HeatNumber = "",
+                //        //BilletNumber=,
+                //        OnlineTime = task.agv_finishedtime,
+                //        Operator = "admin",
+                //        stationCode = task.agv_toaddress,
+                //        area = "",
+                //        jobID = "",
+                //    };
+                //    inventorys.Add(inventory);
+                //}
+                //if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
+                //    freeDB.AddRange(inventorys);
+                //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
+                //    freeDB.Remove(inventorys);
             }
         }
 
@@ -97,13 +153,19 @@
             station2.quantity = station1.quantity;
             station2.bindSN = station1.bindSN;
             station2.location_state = LocationStateEnum.Stroge.ToString();
-            station2.tray_status = station1.tray_status;
+            station2.Number = task.jobID;
+            station2.heatNumber = station1.heatNumber;
+            station2.stationType = station1.stationType;
+            station2.tray_status = station1.tray_status;//妯斁/绔栨斁
             stationinfoRepository.Update(station2, true);
 
             station1.quantity = 0;
             station1.bindSN = string.Empty;
             station1.location_state = LocationStateEnum.Empty.ToString();
-            station1.tray_status = string.Empty;
+            station1.Number = string.Empty;
+            station1.heatNumber = string.Empty;
+            station1.stationType = string.Empty;
+            station1.tray_status = LocationStateEnum.Empty.ToString();
             stationinfoRepository.Update(station1, true);
         }
     }

--
Gitblit v1.9.3