From cf94ef1a8860f5dc6cc52ed2c024477a2bc1c93f Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 17 七月 2025 17:19:20 +0800 Subject: [PATCH] 1111 --- 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