From 802fc04c2d744d08c3e577dd4d91d60a3071e3d7 Mon Sep 17 00:00:00 2001
From: user <user@DESKTOP-SM1UI64>
Date: 星期二, 15 七月 2025 23:08:35 +0800
Subject: [PATCH] 111

---
 HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 120 insertions(+), 0 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs b/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs
index 83a590a..962184d 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs
@@ -673,6 +673,126 @@
             return result;
         }
 
+        internal static ReturnResult bindCntr(bindModel model)
+        {
+            ReturnResult result = new ReturnResult() {ResultCode = -1 };
+            var db = new SqlHelper<object>().GetInstance();
+
+            if (TaskProcess.BindLocCntr(model.S_LOC_CODE, model.S_CNTR_CODE, model.S_ITEM_CODE, model.S_BATCH_CODE))
+            {
+                int num = model.S_CNTR_CODE.Split(',').Count();
+                var locInfo = db.Queryable<Location>().Where(a => a.S_CODE == model.S_LOC_CODE).First();
+                if(locInfo != null)
+                {
+                    locInfo.N_CURRENT_NUM = locInfo.N_CURRENT_NUM + num > locInfo.N_CAPACITY ? locInfo.N_CAPACITY : locInfo.N_CURRENT_NUM + num;
+                    db.Updateable(locInfo).UpdateColumns(a => new { a.N_CURRENT_NUM }).ExecuteCommand();
+                    result.ResultCode = 0;
+                }
+            }
+            return result;
+        }
+
+        internal static ReturnResult unBindCntr(unBindModel model)
+        {
+            ReturnResult result = new ReturnResult() { ResultCode = -1 };
+            var db = new SqlHelper<object>().GetInstance();
+            var locInfo = db.Queryable<Location>().Where(a => a.S_CODE == model.S_LOC_CODE).First();
+            if(locInfo != null)
+            {
+                var cntrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == model.S_LOC_CODE).ToList();
+                if(cntrList.Count > 0)
+                {
+                    for (int i = cntrList.Count - 1; i >= 0; i --)
+                    {
+                        string cntrCode = cntrList[i].S_CNTR_CODE;
+                        db.Deleteable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntrCode).ExecuteCommand();
+                        db.Deleteable<LocCntrRel>().Where(a => a.S_CNTR_CODE == cntrCode).ExecuteCommand();
+                        db.Deleteable<Container>().Where(a => a.S_CODE == cntrCode).ExecuteCommand();
+                    }
+                }
+                locInfo.N_CURRENT_NUM = locInfo.N_CURRENT_NUM - 1;
+                if (locInfo.N_CURRENT_NUM < 0) locInfo.N_CURRENT_NUM = 0;
+                db.Updateable(locInfo).UpdateColumns(a => new { a.N_CURRENT_NUM }).ExecuteCommand();
+                result.ResultCode = 0;
+            }
+            return result;
+        }
+
+        internal static ReturnResult JBIn(JBInModel model)
+        {
+            ReturnResult result = new ReturnResult() { ResultCode = -1 };
+            var db = new SqlHelper<object>().GetInstance();
+            string cntrCode = Guid.NewGuid().ToString("N");
+            string batch = "";
+            if (model.S_ITEM_TYPE == "灏忓寘瑁呯洊")
+            {
+                //灏忓寘瑁呯洊榛樿涓�眰
+                batch = "灏忓寘瑁呯洊";
+            }
+            if (model.S_ITEM_TYPE == "鐡跺澂")
+            {
+                //鐡跺澂榛樿涓ゅ眰
+                cntrCode = cntrCode + ","+ Guid.NewGuid().ToString("N");
+            }
+            if (model.S_ITEM_TYPE == "澶у寘瑁呯洊")
+            {
+                //澶у寘瑁呯洊榛樿涓夊眰
+                cntrCode = cntrCode + "," + Guid.NewGuid().ToString("N") + "," + Guid.NewGuid().ToString("N");
+                batch = "澶у寘瑁呯洊";
+            }
+            //鍒涘缓浣滀笟
+            var locInfo = db.Queryable<Location>().Where(a => a.S_CODE == model.S_LOC_CODE && a.S_LOCK_STATE == "鏃�).First();
+            if(locInfo != null)
+            {
+                LogHelper.Info($"JBIn:{model.S_LOC_CODE},{cntrCode},{"鎸囧畾搴撳尯-" + model.S_END_AREA}");
+                if (WMSHelper.CreateOpTask(model.S_LOC_CODE, "", "鍏ュ簱", "鎺ラ┏浣嶅叆搴�, cntrCode, "鎸囧畾搴撳尯-" + model.S_END_AREA))
+                {
+                    TaskProcess.BindLocCntr(model.S_LOC_CODE, cntrCode, model.S_ITEM_CODE, batch);
+                    result.ResultCode = 0;
+                }
+            }
+            else
+            {
+                result.ResultMsg = $"璇ョ偣浣嶄笉瀛樺湪鎴栬�鏈夐攣锛岃揣浣嶇紪鐮侊細{model.S_LOC_CODE}";
+            }
+            
+
+            return result;
+        }
+
+        internal static ReturnResult PtpTask(PtpTaskModel model, ReturnResult result)
+        {
+            var db = new SqlHelper<object>().GetInstance();
+            var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.S_START_LOC).First();
+            if(startLoc != null && startLoc.S_LOCK_STATE == "鏃�)
+            {
+                string cntrCode = "";
+                var cntrInfo = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
+                if(cntrInfo != null)
+                {
+                    cntrCode = cntrInfo.S_CNTR_CODE;
+                }
+                else
+                {
+                    cntrCode = Guid.NewGuid().ToString("N");
+                }
+                var endLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.S_END_LOC).First();
+                if (endLoc != null && endLoc.S_LOCK_STATE == "鏃�)
+                {
+                    WMSHelper.CreateOpTask(model.S_START_LOC, model.S_END_LOC, "鍏ュ簱", "鐐瑰埌鐐硅浆杩�, cntrCode, "");
+                }
+                else
+                {
+                    result.ResultMsg = $"缁堢偣璐т綅涓嶅瓨鍦ㄦ垨鑰呮湁閿侊紝璐т綅缂栫爜锛歿model.S_END_LOC}";
+                }
+            }
+            else
+            {
+                result.ResultMsg = $"璧风偣璐т綅涓嶅瓨鍦ㄦ垨鑰呮湁閿侊紝璐т綅缂栫爜锛歿model.S_START_LOC}";
+            }
+            return result;
+        }
+
 
         //public class AddTaskModel
         //{

--
Gitblit v1.9.1