From c321182cdcbc7d6489d969810f0610e48ac2b5ed Mon Sep 17 00:00:00 2001
From: 杨张扬 <634643841@qq.com>
Date: 星期三, 23 七月 2025 17:40:22 +0800
Subject: [PATCH] 双钱-需求变更:增加了两个搬送流程,增加了两个库区,主要是修改对空托上线脱皮机的逻辑

---
 api/ApiHelper.cs |  133 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 1 deletions(-)

diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index b28f30d..9424570 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -326,6 +326,132 @@
         }
 
         /// <summary>
+        /// 绾胯竟绌烘墭鍒扮┖鎵樺爢鍙犲尯
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        internal static SimpleResult EmptyLineToEmptyMax(EmptyLineToEmptyMaxInfo model)
+        {
+            LogHelper.Info("瑙﹀彂API锛氱嚎杈圭┖鎵樺埌绌烘墭鍫嗗彔鍖� + JsonConvert.SerializeObject(model), "API");
+            var result = new SimpleResult();//杩斿洖缁撴灉
+            try
+            {
+                var db = new SqlHelper<object>().GetInstance();
+
+                if (model.cntCount<=0)
+                {
+                    result.resultCode = 1;
+                    result.resultMsg = $"鍙傛暟cntCount蹇呴』澶т簬0锛屽嵆鏈�皯瑕佹湁涓�釜绌烘墭";
+                    LogHelper.Info(result.resultMsg);
+                    return result;
+                }
+
+                var startLoc = db.Queryable<TN_Location>().First(it => it.S_CODE == model.startLoc);
+
+                if (startLoc == null)
+                {
+                    result.resultCode = 2;
+                    result.resultMsg = $"鏈壘鍒拌璧风偣{model.startLoc}";
+                    LogHelper.Info(result.resultMsg);
+                    return result;
+                }
+
+                var settingArea = Settings.Areas[13];
+                if (startLoc.S_AREA_CODE != settingArea)
+                {
+                    result.resultCode = 3;
+                    result.resultMsg = $"璇ヨ捣鐐箋model.startLoc}蹇呴』鍦ㄦ搴撳尯鍐厈settingArea}";
+                    LogHelper.Info(result.resultMsg);
+                    return result;
+                }
+
+                if (startLoc.N_LOCK_STATE != 0 || startLoc.S_LOCK_STATE != "鏃�)
+                {
+                    result.resultCode = 4;
+                    result.resultMsg = $"璇ヨ捣鐐箋model.startLoc}宸查攣瀹氾紝浠诲姟姝e湪鎼�";
+                    LogHelper.Info(result.resultMsg);
+                    return result;
+                }
+
+                //鏌ヨ绗﹀悎鐨勬湭閿佸畾宸插惎鐢ㄦ寚瀹氳揣鍖虹殑褰撳墠鏁伴噺鍚堣鍚庢渶鎺ヨ繎瀹归噺鐨勮揣浣嶏紝缁堢偣
+                var endLoc = db.Queryable<TN_Location>().
+                    Where(a => a.N_CURRENT_NUM + model.cntCount <= a.N_CAPACITY && a.S_AREA_CODE == Settings.Areas[3] && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y").
+                    ToList().OrderByDescending(a => a.N_CURRENT_NUM + model.cntCount - a.N_CAPACITY).ThenBy(a => a.N_ROW).ThenBy(a => a.N_COL).ToList().First();
+
+                using (var trans = db.Ado.UseTran())
+                {
+                    startLoc.N_CURRENT_NUM = model.cntCount;
+                    startLoc.N_LOCK_STATE = 2;
+                    startLoc.S_LOCK_STATE = "鍑哄簱閿�;
+
+                    endLoc.N_LOCK_STATE = 1;
+                    endLoc.S_LOCK_STATE = "鍏ュ簱閿�;
+
+                    string cntStr = "";
+                    for (int i = 0; i < model.cntCount; i++)
+                    {
+                         cntStr += Guid.NewGuid().ToString("D")+",";
+                    }
+                    cntStr.Trim(','); 
+                    var locCnt = new TN_Loc_Container()
+                    {
+                        S_LOC_CODE = startLoc.S_CODE,
+                        S_CNTR_CODE = cntStr,
+                    };
+
+                    var task = new TN_Task()
+                    {
+                        S_CODE = WCSHelper.GenerateTaskNo(),
+                        S_START_AREA = startLoc.S_AREA_CODE,
+                        S_END_AREA = endLoc.S_AREA_CODE,
+                        S_START_LOC = startLoc.S_CODE,
+                        S_END_LOC = endLoc.S_CODE,
+                        S_TYPE = "绌烘墭涓嬬嚎鍫嗗彔",
+                        N_PRIORITY = 3,
+                        N_SCHEDULE_TYPE = 1,
+                        N_B_STATE = 0,
+                        S_B_STATE = "绛夊緟",
+                        S_CNTR_CODE = locCnt.S_CNTR_CODE,
+                    };
+
+                    if (
+                        db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { it.N_CURRENT_NUM, it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() == 1 &&
+                        db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() == 1 &&
+                        db.Insertable<TN_Loc_Container>(locCnt).ExecuteCommand() == 1 &&
+                        db.Insertable<TN_Task>(task).ExecuteCommand() == 1
+                        )
+                    {
+                        Task task1 = Task.Run(() =>
+                        {
+                            WMSHelper.InsertOpInfo(model.staff, "鐐瑰鐐�, locCnt.S_CNTR_CODE);
+                        });
+
+                        trans.CommitTran();
+                        result.resultCode = 0;
+                        result.resultMsg = $"鍒涘缓 绌烘墭涓嬬嚎鍫嗗彔 浠诲姟鎴愬姛锛岃捣鐐癸細{startLoc.S_CODE}锛岀粓鐐癸細{endLoc.S_CODE}";
+                        LogHelper.Info(result.resultMsg);
+                        return result;
+                    }
+                    else
+                    {
+                        trans.RollbackTran();
+                        result.resultCode = 12;
+                        result.resultMsg = $"鍒涘缓 绌烘墭涓嬬嚎鍫嗗彔 浠诲姟澶辫触锛岃捣鐐癸細{startLoc.S_CODE}锛岀粓鐐癸細{endLoc.S_CODE}";
+                        LogHelper.Info(result.resultMsg);
+                        return result;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                result.resultCode = -1;
+                result.resultMsg = $"PDA婊℃墭澶嶆鍒ゆ柇锛屽彂鐢熶簡寮傚父锛歿ex.Message}";
+                LogHelper.Info(result.resultMsg);
+                return result;
+            }
+        }
+
+        /// <summary>
         /// 绾胯竟绌烘墭鍒板師鏉愭枡杈撻�绾�         /// </summary>
         /// <param name="model"></param>
@@ -398,7 +524,7 @@
                 if (endLoc.S_AREA_CODE != endLocArea)
                 {
                     result.resultCode = 8;
-                    result.resultMsg = $"姝よ揣浣嶏細{endLoc.S_CODE}锛屼笉灞炰簬鍘熸潗鏂欎骇绾跨┖鎵樺尯{endLocArea}";
+                    result.resultMsg = $"姝よ揣浣嶏細{endLoc.S_CODE}锛屼笉灞炰簬鍘熸潗鏂欎骇绾跨┖鎵樹笂绾垮彛搴撳尯{endLocArea}";
                     LogHelper.Info(result.resultMsg);
                     return result;
                 }
@@ -472,6 +598,11 @@
                             Settings.LineSorting = 0;
                         }
 
+                        Task task1 = Task.Run(() =>
+                        {
+                            WMSHelper.InsertOpInfo(model.staff, "鐐瑰鐐�, Cnt);
+                        });
+
 
                         trans.CommitTran();
                         result.resultCode = 0;

--
Gitblit v1.9.1