From 0b5ccdca6263cf7a2cee460f30c76ef1efea2811 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期六, 27 四月 2024 17:47:27 +0800
Subject: [PATCH] 人工出库,人工入库,人工移库,PDA扫码确认外协物料已被取走接口

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs |   43 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 34 insertions(+), 9 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
index b6454a8..5ac0d19 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
@@ -5,6 +5,7 @@
 using WIDESEA_Entity.DomainModels;
 using WIDESEA_Entity.ToAGV;
 using WIDESEA_WMS.Common;
+using WIDESEA_WMS.Common.AGVTask;
 using WIDESEA_WMS.IRepositories;
 using WIDESEA_WMS.Repositories;
 
@@ -23,6 +24,7 @@
             Idt_agvtaskRepository repository = new dt_agvtaskRepository(context);
             AGVRespone respone = new AGVRespone();
             UpdateTasteInfo tasteInfo = new();
+            string remark = "AGV鍙嶉浠诲姟鐘舵�侊細";
             try
             {
                 if (string.IsNullOrEmpty(json) || json == "null")
@@ -38,34 +40,57 @@
                 if (tasteInfo.TASK_State < 1 || tasteInfo.TASK_State > 4)
                     throw new Exception("鏈畾涔夌殑浠诲姟鐘舵��:" + tasteInfo.TASK_State);
                 var StateName = Enum.GetName(typeof(AGVTaskStateEnum), tasteInfo.TASK_State);
-                if (task.agv_taskstate == StateName)
+                if (task.agv_taskstate == StateName && task.agv_taskstate != AGVTaskStateEnum.Complete1.ToString())
                 {
                     respone.success = 2;
                     respone.Message = tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State;
                     return respone;
                 }
+
                 #region 鍒ゆ柇浠诲姟鐘舵��
                 //List<string> list = new List<string>() { AGVTaskStateEnum.Executing.ToString(), AGVTaskStateEnum.Complete.ToString(), AGVTaskStateEnum.Executing1.ToString(), AGVTaskStateEnum.Complete1.ToString() };
                 //var index = list.IndexOf(task.agv_taskstate) + 1;
                 //if (tasteInfo.TASK_State < index)
                 //    throw new Exception("浠诲姟鐘舵�佹洿鏂板紓甯革紒褰撳墠浠诲姟鐘舵�佷负锛�" + index + ";璇锋眰鏇存柊鐘舵�佷负锛�" + tasteInfo.TASK_State);
                 #endregion
-                if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing)
-                    task.agv_executingBeginTime = DateTime.Now;
-                else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete)
-                    task.agv_executingEndTime = DateTime.Now;
-                else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing1)
-                    task.agv_completeBeginTime = DateTime.Now;
+
                 task.agv_taskstate = StateName;
+                if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing)
+                {
+                    remark = remark + "璧风偣鎵ц涓�";
+                    task.agv_executingBeginTime = DateTime.Now;
+                }
+                else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete)
+                {
+                    remark = remark + "璧风偣宸插畬鎴�";
+                    HandleTask.AutoUpdateHCJState(task);
+                    task.agv_executingEndTime = DateTime.Now;
+                }
+                else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing1)
+                {
+                    remark = remark + "缁堢偣鎵ц涓�";
+                    task.agv_completeBeginTime = DateTime.Now;
+                }
                 var count = repository.Update(task, true);
                 if (count < 1)
                     throw new Exception("浠诲姟鐘舵�佹洿鏂板け璐ワ紒浠诲姟ID锛�" + tasteInfo.TASK_NO + "锛涗换鍔$姸鎬侊細" + tasteInfo.TASK_State);
                 if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete1)
                 {
-                    HandleTask.AddHtyTask(task);
+                    remark = remark + "缁堢偣宸插畬鎴�";
+                    task.agv_finishedtime = DateTime.Now;
+
+                    #region 鍚屾MES鍑哄叆搴撲俊鎭�
+                    var mes = HandleTask_Mes.UploadMESInfo(task);
+                    if (mes.code != "200" && mes.Type != "success")
+                        throw new Exception(mes.message);
+                    #endregion
+
                     HandleTask.Updateinventory(task);
                     HandleTask.AutoUpdateHCJState(task);
+                    HandleTask.AddHtyTask(task);
                 }
+                respone.success = 1;
+                return respone;
             }
             catch (Exception ex)
             {
@@ -74,7 +99,7 @@
             }
             finally
             {
-                WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGV鍙嶉浠诲姟鐘舵��", "UpdateTaskState", respone.Message);
+                WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), remark, "UpdateTaskState", respone.Message);
             }
             return respone;
         }

--
Gitblit v1.9.3