From e638b99adf48183d173dec500c9cf29020947354 Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期五, 06 六月 2025 17:23:26 +0800
Subject: [PATCH] 大洋原材料开发

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/api/ApiHelper.cs |  206 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 151 insertions(+), 55 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/api/ApiHelper.cs
index 5f8b1bc..3271a60 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/api/ApiHelper.cs
@@ -143,18 +143,19 @@
 
 
         private static object lockObj = new object();
+
         /// <summary>
         /// 鍒涘缓浠诲姟
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        internal static Result createtask(CreateTaskModel model)
+        internal static Result<Empty> createtask(CreateTaskModel model)
         {
-            Result result = new Result { resultCode = 0, resultMsg = "鍒涘缓鎴愬姛" };
+            Result<Empty> result = new Result<Empty> { Code = 0, Msg = "鍒涘缓鎴愬姛" };
             if (model == null)
             {
-                result.resultCode = -1;
-                result.resultMsg = "鍏ュ弬涓虹┖";
+                result.Code = -1;
+                result.Msg = "鍏ュ弬涓虹┖";
                 return result;
             }
             var db = new SqlHelper<object>().GetInstance();
@@ -167,7 +168,6 @@
             {
                 try
                 {
-
                     // 1 绌烘墭鍥炲簱
                     if (model.TaskType == "1")
                     {
@@ -177,9 +177,9 @@
                         startloc = LocationHelper.GetLoc(model.startBit);
                         if (startloc == null)
                         {
-                            result.resultCode = -1;
-                            result.resultMsg = $"鏍规嵁璧风偣:{model.startBit}鏈壘鍒拌揣浣嶄俊鎭�;
-                            LogHelper.Info($"creattask:鏍规嵁璧风偣:{model.startBit}鏈壘鍒拌揣浣嶄俊鎭�);
+                            result.Code = -1;
+                            result.Msg = $"鏍规嵁璧风偣:{model.startBit}鏈壘鍒拌揣浣嶄俊鎭�;
+                            LogHelper.Info($"creattask:{result.Msg}");
                             return result;
                         }
                         else
@@ -187,9 +187,9 @@
                             var cntr = LocationHelper.GetLocCntrRel(endloc.S_CODE).FirstOrDefault();
                             if (cntr == null)
                             {
-                                result.resultCode = -1;
-                                result.resultMsg = $"鏍规嵁璧风偣:{model.startBit}鏈壘鍒扮粦瀹氭墭鐩�;
-                                LogHelper.Info($"creattask:鏍规嵁璧风偣:{model.startBit}鏈壘鍒扮粦瀹氭墭鐩�);
+                                result.Code = -1;
+                                result.Msg = $"鏍规嵁璧风偣:{model.startBit}鏈壘鍒扮粦瀹氭墭鐩�;
+                                LogHelper.Info($"creattask:{result.Msg}");
                                 return result;
                             }
                             else
@@ -203,11 +203,70 @@
                         endloc = LocationHelper.InStorage(startloc);
                         if (endloc == null)
                         {
-                            result.resultCode = -1;
-                            result.resultMsg = $"鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌";
-                            LogHelper.Info($"creattask:鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌");
+                            result.Code = -1;
+                            result.Msg = $"鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌";
+                            LogHelper.Info($"creattask:{result.Msg}");
                             return result;
                         }
+                        #endregion
+
+                        #region 鍒涘缓浣滀笟
+                        if (startloc != null && endloc != null)
+                        {
+                            //鍒涘缓浣滀笟
+                            var wcsTask = new WMSTask
+                            {
+                                S_CODE = WMSHelper.GenerateTaskNo(),
+                                S_TYPE = Type,
+                                N_TYPE = int.Parse(model.TaskType),
+                                S_START_LOC = start,
+                                S_END_LOC = endloc.S_CODE,
+                                S_CNTR_CODE = cntrcode,
+                                S_END_WH = endloc.S_WH_CODE,
+                                S_START_WH = startloc.S_WH_CODE,
+                                S_START_AREA = startloc.S_AREA_CODE,
+                                S_END_AREA = endloc.S_AREA_CODE,
+
+                            };
+                            LogHelper.Info("鍒涘缓浣滀笟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask");
+                            if (WMSHelper.CreateTask(wcsTask))
+                            {
+                                LocationHelper.LockLoc(startloc.S_CODE, 2);
+                                LocationHelper.LockLoc(endloc.S_CODE, 1);
+                                LogHelper.Info("鍒涘缓浣滀笟鎴愬姛");
+                                //绌烘墭鍥炲簱鎴愬姛锛屽鏋滃瓨鍦ㄧ墿鏂欐暟鎹紝鍒犻櫎
+                                var itemcntr = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == cntrcode).First();
+                                if (itemcntr != null) { db.Deleteable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == cntrcode).ExecuteCommand(); }
+                                LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                            }
+                        }
+                        #endregion
+
+                    }
+                    // 2 鍑哄簱
+                    if (model.TaskType == "2")
+                    {
+                        Type = "鍑哄簱";
+
+                        #region 鑾峰彇缁堢偣淇℃伅
+                        startloc = LocationHelper.GetLoc(model.endBit);
+                        if (startloc == null)
+                        {
+                            result.Code = -1;
+                            result.Msg = $"鏍规嵁缁堢偣:{model.startBit}鏈壘鍒拌揣浣嶄俊鎭�;
+                            LogHelper.Info($"creattask:{result.Msg}");
+                            return result;
+                        }
+                        #endregion
+
+                        #region 鏍规嵁鐗╂枡璁$畻鍑哄簱鎵樼洏锛屽厛杩涘厛鍑猴紝浼樺厛鍑哄渚�+                        //鍏堣绠楀唴渚ц揣浣嶏紝鍒ゆ柇鏄惁鏈夊崟缁勬墭鐩�+                        var locations = LocationHelper.GetLocByItemCodeOrderyTime("", model.ItemCode);
+                        if (locations.Count > 0)
+                        {
+                            endloc = locations.OrderBy(a => a.N_COL).First();
+                        }
+
                         #endregion
 
                         #region 鍒涘缓浣滀笟
@@ -241,20 +300,18 @@
                     }
                     else
                     {
-                        result.resultCode = -1;
-                        result.resultMsg = $"浠诲姟绫诲瀷鏈夎锛寋model.TaskType}浠诲姟绫诲瀷涓嶆槸瑙勫畾浠诲姟绫诲瀷";
-                        LogHelper.Info($"creattask:浠诲姟绫诲瀷鏈夎锛寋model.TaskType}浠诲姟绫诲瀷涓嶆槸瑙勫畾浠诲姟绫诲瀷");
+                        result.Code = -1;
+                        result.Msg = $"浠诲姟绫诲瀷鏈夎锛寋model.TaskType}浠诲姟绫诲瀷涓嶆槸瑙勫畾浠诲姟绫诲瀷";
+                        LogHelper.Info($"creattask:{result.Msg}");
                         return result;
                     }
-
-
 
                     return result;
                 }
                 catch (Exception ex)
                 {
-                    result.resultCode = -1;
-                    result.resultMsg = $"{ex.ToString()}";
+                    result.Code = -1;
+                    result.Msg = $"{ex.ToString()}";
                     return result;
 
                 }
@@ -268,13 +325,13 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        internal static Result NotifyDeviceSignal(NotifyDeviceSignalModel model)
+        internal static Result<Empty> NotifyDeviceSignal(NotifyDeviceSignalModel model)
         {
-            Result result = new Result { resultCode = 0, resultMsg = "鍒涘缓鎴愬姛" };
+            Result<Empty> result = new Result<Empty> { Code = 0, Msg = "鍒涘缓鎴愬姛" };
             if (model == null)
             {
-                result.resultCode = -1;
-                result.resultMsg = "鍏ュ弬涓虹┖";
+                result.Code = -1;
+                result.Msg = "鍏ュ弬涓虹┖";
                 return result;
             }
             Location endloc = new Location();
@@ -289,9 +346,9 @@
                 var CntrLoc = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == model.Loc).ToList();
                 if (CntrLoc.Count < 4)
                 {
-                    result.resultCode = -1;
-                    result.resultMsg = $"鏍规嵁璐т綅:{model.Loc}鑾峰彇鎵樼洏鏁伴噺灏忎簬4";
-                    LogHelper.Info($"EquipmentInfo:鏍规嵁璐т綅:{model.Loc}鑾峰彇鎵樼洏鏁伴噺灏忎簬4");
+                    result.Code = -1;
+                    result.Msg = $"鏍规嵁璐т綅:{model.Loc}鑾峰彇鎵樼洏鏁伴噺灏忎簬4";
+                    LogHelper.Info($"EquipmentInfo:{result.Msg}");
                     return result;
                 }
                 else
@@ -302,9 +359,9 @@
                 startloc = LocationHelper.GetLoc(model.Loc);
                 if (startloc == null)
                 {
-                    result.resultCode = -1;
-                    result.resultMsg = $"鏍规嵁璧风偣:{model.Loc}鏈壘鍒拌揣浣嶄俊鎭�;
-                    LogHelper.Info($"EquipmentInfo:鏍规嵁璧风偣:{model.Loc}鏈壘鍒拌揣浣嶄俊鎭�);
+                    result.Code = -1;
+                    result.Msg = $"鏍规嵁璧风偣:{model.Loc}鏈壘鍒拌揣浣嶄俊鎭�;
+                    LogHelper.Info($"EquipmentInfo:{result.Msg}");
                     return result;
                 }
 
@@ -314,9 +371,9 @@
                 endloc = LocationHelper.InStorage(startloc);
                 if (endloc == null)
                 {
-                    result.resultCode = -1;
-                    result.resultMsg = $"鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌";
-                    LogHelper.Info($"EquipmentInfo:鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌");
+                    result.Code = -1;
+                    result.Msg = $"鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌";
+                    LogHelper.Info($"EquipmentInfo:{result.Msg}");
                     return result;
                 }
 
@@ -359,17 +416,17 @@
                     var CntrLoc = db.Queryable<LocCntrRel>().Where(a => a.S_CNTR_CODE == cntrcode).First();
                     if (CntrLoc == null)
                     {
-                        result.resultCode = -1;
-                        result.resultMsg = $"鏍规嵁鎵樼洏:{cntrcode}鏈壘鍒扮粦瀹氭墭鐩�;
-                        LogHelper.Info($"EquipmentInfo:鏍规嵁鎵樼洏:{cntrcode}鏈壘鍒扮粦瀹氭墭鐩�);
+                        result.Code = -1;
+                        result.Msg = $"鏍规嵁鎵樼洏:{cntrcode}鏈壘鍒扮粦瀹氭墭鐩�;
+                        LogHelper.Info($"EquipmentInfo:{result.Msg}");
                         return result;
                     }
                     startloc = LocationHelper.GetLoc(CntrLoc.S_LOC_CODE);
                     if (startloc == null)
                     {
-                        result.resultCode = -1;
-                        result.resultMsg = $"鏍规嵁璧风偣:{CntrLoc.S_LOC_CODE}鏈壘鍒拌揣浣嶄俊鎭�;
-                        LogHelper.Info($"EquipmentInfo:鏍规嵁璧风偣:{CntrLoc.S_LOC_CODE}鏈壘鍒拌揣浣嶄俊鎭�);
+                        result.Code = -1;
+                        result.Msg = $"鏍规嵁璧风偣:{CntrLoc.S_LOC_CODE}鏈壘鍒拌揣浣嶄俊鎭�;
+                        LogHelper.Info($"EquipmentInfo:{result.Msg}");
                         return result;
                     }
 
@@ -379,8 +436,8 @@
                     endloc = LocationHelper.InStorage(startloc);
                     if (endloc == null)
                     {
-                        result.resultCode = -1;
-                        result.resultMsg = $"鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌";
+                        result.Code = -1;
+                        result.Msg = $"鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌";
                         LogHelper.Info($"EquipmentInfo:鏈绠楀埌绔嬪簱缁堢偣璐т綅锛岃妫�煡璐т綅鎯呭喌");
                         return result;
                     }
@@ -425,17 +482,17 @@
                         var CntrLoc = db.Queryable<LocCntrRel>().Where(a => a.S_CNTR_CODE == cntrcode).First();
                         if (CntrLoc == null)
                         {
-                            result.resultCode = -1;
-                            result.resultMsg = $"鏍规嵁鎵樼洏:{cntrcode}鏈壘鍒扮粦瀹氭墭鐩�;
-                            LogHelper.Info($"EquipmentInfo:鏍规嵁鎵樼洏:{cntrcode}鏈壘鍒扮粦瀹氭墭鐩�);
+                            result.Code = -1;
+                            result.Msg = $"鏍规嵁鎵樼洏:{cntrcode}鏈壘鍒扮粦瀹氭墭鐩�;
+                            LogHelper.Info($"EquipmentInfo:{result.Msg}");
                             return result;
                         }
                         startloc = LocationHelper.GetLoc(CntrLoc.S_LOC_CODE);
                         if (startloc == null)
                         {
-                            result.resultCode = -1;
-                            result.resultMsg = $"鏍规嵁璧风偣:{CntrLoc.S_LOC_CODE}鏈壘鍒拌揣浣嶄俊鎭�;
-                            LogHelper.Info($"EquipmentInfo:鏍规嵁璧风偣:{CntrLoc.S_LOC_CODE}鏈壘鍒拌揣浣嶄俊鎭�);
+                            result.Code = -1;
+                            result.Msg = $"鏍规嵁璧风偣:{CntrLoc.S_LOC_CODE}鏈壘鍒拌揣浣嶄俊鎭�;
+                            LogHelper.Info($"EquipmentInfo:{result.Msg}");
                             return result;
                         }
 
@@ -447,9 +504,9 @@
                         endloc = db.Queryable<Location>().Where(a => a.S_CODE == DiePanLoc).First();
                         if (endloc == null)
                         {
-                            result.resultCode = -1;
-                            result.resultMsg = $"鏍规嵁璐т綅缂栫爜锛歿DiePanLoc}鏈壘鍒板彔鐩樿揣浣�;
-                            LogHelper.Info($"EquipmentInfo:鏍规嵁璐т綅缂栫爜锛歿DiePanLoc}鏈壘鍒板彔鐩樿揣浣�);
+                            result.Code = -1;
+                            result.Msg = $"鏍规嵁璐т綅缂栫爜锛歿DiePanLoc}鏈壘鍒板彔鐩樿揣浣�;
+                            LogHelper.Info($"EquipmentInfo:{result.Msg}");
                             return result;
                         }
                         #endregion
@@ -479,14 +536,14 @@
                                 LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
                             }
                         }
-                        
+
                         #endregion
                     }
                     else
                     {
-                        result.resultCode = -1;
-                        result.resultMsg = $"褰撳墠鍙犵洏鏈虹姸鎬佷笉灞炰簬鍙犵洏鐘舵�锛屼笉鍏佽绌烘墭鍙犳墭";
-                        LogHelper.Info($"EquipmentInfo:褰撳墠鍙犵洏鏈虹姸鎬佷笉灞炰簬鍙犵洏鐘舵�锛屼笉鍏佽绌烘墭鍙犳墭");
+                        result.Code = -1;
+                        result.Msg = $"褰撳墠鍙犵洏鏈虹姸鎬佷笉灞炰簬鍙犵洏鐘舵�锛屼笉鍏佽绌烘墭鍙犳墭";
+                        LogHelper.Info($"EquipmentInfo:{result.Msg}");
                         return result;
                     }
                 }
@@ -496,8 +553,47 @@
             return result;
         }
 
+        internal static Result<Empty> ApplyDest(ApplyDestModel model)
+        {
+            Result<Empty> result = new Result<Empty> { Code = 0, Msg = "鍒涘缓鎴愬姛" };
+            if (model == null)
+            {
+                result.Code = -1;
+                result.Msg = "鍏ュ弬涓虹┖";
+                return result;
+            }
+          
+            var db = new SqlHelper<object>().GetInstance();
+      
+            return result;
+        }
 
+        /// <summary>
+        /// 鑾峰彇鎵樼洏鐗╂枡淇℃伅
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        internal static Result<Empty> GetCntrInfo(GetCntrInfoModel model)
+        {
+            Result<Empty> result = new Result<Empty> { Code = 0, Msg = "鍒涘缓鎴愬姛" };
+            if (model == null)
+            {
+                result.Code = -1;
+                result.Msg = "鍏ュ弬涓虹┖";
+                return result;
+            }
 
+            var db = new SqlHelper<object>().GetInstance();
+            string cntrCode = model.CntrNo;
+
+            var CntrItem = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE == cntrCode).ToList();
+            if (CntrItem.Count > 0)
+            {
+
+            }
+
+            return result;
+        }
 
         /// <summary>
         /// 缁戝畾鎵樼洏鐗╂枡  

--
Gitblit v1.9.1