From cfea43fe783cdb99faa14f59845e41cfcda7d974 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 16 五月 2024 17:22:48 +0800
Subject: [PATCH] AGV任务删除功能,取空托任务逻辑优化,检测上料任务下发逻辑优化(AGV备料两个)

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
index fc7bb72..799c98a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
@@ -27,6 +27,9 @@
 using StackExchange.Redis;
 using WIDESEA_Comm;
 using WIDESEA_Entity.DomainModels.Mes;
+using WIDESEA_WMS.Common;
+using System.Reflection.Emit;
+using System.Threading.Tasks;
 
 namespace WIDESEA_WMS.Services
 {
@@ -47,7 +50,62 @@
             //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
             //base.Init(dbRepository);
         }
-
+        public override WebResponseContent Del(object[] keys, bool delList = true)
+        {
+            #region 鎵归噺淇敼璐т綅鐘舵��
+            //VOLContext context = new VOLContext();
+            //Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
+            //var fromaddress = repository.Find(x => keys.Contains(x.agv_id)).Select(x => x.agv_fromaddress).ToList();
+            //var stations = stationinfoRepository.Find(x => fromaddress.Contains(x.stationCode)).ToList();
+            //foreach (var station in stations)
+            //{
+            //    station.location_state = LocationStateEnum.Stroge.ToString();
+            //    //station.tray_type= TrayTypeEnum.SmallTray.ToString();
+            //    //station.tray_status= TrayStateEnum.StrogeTray.ToString();
+            //}
+            //stationinfoRepository.UpdateRange(stations, x => new { x.location_state }, true); 
+            #endregion
+            VOLContext volContext = new VOLContext();
+            Idt_agvtask_htyRepository agvtask_HtyRepository=new dt_agvtask_htyRepository(volContext);
+            var agvtasks = repository.Find(x => keys.Contains(x.agv_id)).ToList();
+            List<dt_agvtask_hty> dt_Agvtask_Hties = new List<dt_agvtask_hty>();
+            foreach (var task in agvtasks)
+            {
+                dt_agvtask_hty agvtask_Hty = new dt_agvtask_hty()
+                {
+                    hty_pkid = Guid.NewGuid(),
+                    agv_id = task.agv_id,
+                    agv_tasknum = task.agv_tasknum,
+                    agv_materielid = task.agv_materielid,
+                    agv_qty = task.agv_qty,
+                    agv_createtime = task.agv_createtime,
+                    agv_realesstime = task.agv_realesstime,
+                    agv_executingBeginTime = task.agv_executingBeginTime,
+                    agv_executingEndTime = task.agv_executingEndTime,
+                    agv_completeBeginTime = task.agv_completeBeginTime,
+                    agv_finishedtime = task.agv_finishedtime,
+                    agv_taskstate = task.agv_taskstate,
+                    agv_tasktype = task.agv_tasktype,
+                    agv_fromaddress = task.agv_fromaddress,
+                    agv_toaddress = task.agv_toaddress,
+                    agv_operatetype = "Del",
+                    agv_compeletor = UserContext.Current.UserName,
+                    agv_completedate = DateTime.Now,
+                    agv_grade = task.agv_grade,
+                    agv_userid = task.agv_userid,
+                    agv_Traytype = task.agv_Traytype,
+                    agv_TrayStatus = task.agv_TrayStatus,
+                    agv_worktype = task.agv_worktype,
+                    agv_remark = task.agv_remark,
+                    bindSN = task.bindSN,
+                    jobID = task.jobID,
+                    agv_materbarcode = task.agv_materbarcode,
+                };
+                dt_Agvtask_Hties.Add(agvtask_Hty);
+            }
+            agvtask_HtyRepository.AddRange(dt_Agvtask_Hties,true);
+            return base.Del(keys, delList);
+        }
         public WebResponseContent addNgTask(MesRequestTemp requestTemp)
         {
             WebResponseContent content = new WebResponseContent();
@@ -102,6 +160,7 @@
             var agv_id = saveModel.MainData["agv_id"].ToString();
             var task = _repository.Find(x => x.agv_id.ToString() == agv_id).FirstOrDefault();
             if (task.agv_taskstate != AGVTaskStateEnum.Queue.ToString()) return content.Error("褰撳墠浠诲姟涓嶅彲鏇存敼锛�");
+            WriteDBLog.Success($"鎵嬪姩淇敼浠诲姟", new { 鏁版嵁 = saveModel }, "WMS", UserContext.Current.UserName);
             return base.Update(saveModel);
         }
         #region 娣诲姞NG浠诲姟

--
Gitblit v1.9.3