From abff6261e5e74ff16a844f4739f84d49b6133000 Mon Sep 17 00:00:00 2001 From: xxyy <cathay_xy@163.com> Date: 星期六, 15 二月 2025 13:01:02 +0800 Subject: [PATCH] 新增分容空框出库功能及代码结构优化 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs index 2ea4892..c3879dd 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs @@ -1,7 +1,9 @@ 锘縰sing Masuit.Tools; +using SqlSugar; using WIDESEA_Core.Const; using WIDESEA_DTO.MOM; using WIDESEA_DTO.WMS; +//using WIDESEAWCS_Model.Models; namespace WIDESEA_StorageTaskServices; @@ -41,6 +43,8 @@ // 鍒ゆ柇闇�涓嶉渶瑕佸幓鍖呰锛屼笉闇�瑕佸氨鍘诲父娓╀笁 var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine); + var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position); + //var station = stationManagers.Select(x => x.stationChildCode).ToList(); //// 鑾峰彇WCSip鍦板潃鐩稿叧閰嶇疆 @@ -55,13 +59,13 @@ //var num = content.Data.ObjToInt(); //濡傛灉褰撳墠搴撳唴瀛樺湪姣斿綋鍓嶆椂闂寸殑瀵瑰簲浜х嚎鐨勬枡 鍒欏叆搴撹嚦甯告俯3 - DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == input.ProductionLine && x.OutboundTime < DateTime.Now); + DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now); if (stockInfo != null) { var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker"); var strings = config.ConfigValue.Split(',').ToList(); // 鍏ュ簱閫佽嚦甯告俯3 - var resultContent = await CreateNewTask(input, strings); + var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); if (resultContent.Status) { await _boxingInfoRepository.AddDataNavAsync(boxing); @@ -70,19 +74,24 @@ } // TODO 鍒ゆ柇鍦ㄩ�旀暟閲� - var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count; - if (count <= 10) + + var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine); + var needCount = needBarcode.inLineNum; + //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count; + if (needCount < 2) { // 閫佽嚦鍖呰 List<string> strings = stationManagers.Where(x => x.stationType == 0).Select(x => x.Roadway).ToList(); - return await CreateNewTask(input, strings, 3); + var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>().SetColumns(x => x.inLineNum == x.inLineNum + 1).ExecuteCommandHasChangeAsync(); + ConsoleHelper.WriteSuccessLine($"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1"); + return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3); } else { var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker"); var strings = config.ConfigValue.Split(',').ToList(); // 鍏ュ簱閫佽嚦甯告俯3 - var resultContent = await CreateNewTask(input, strings); + var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); if (resultContent.Status) { await _boxingInfoRepository.AddDataNavAsync(boxing); @@ -138,7 +147,7 @@ } List<string> strings = stationManagers.Roadway.Split(',').ToList(); - var resultContent = await CreateNewTask(input, strings); + var resultContent = await CreateNewTask(input, result.ProductionLine, boxing.ProcessCode, strings); if (resultContent.Status) { var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); @@ -200,7 +209,7 @@ // NGStation = stationManagers.stationNGChildCode.Split(',').ToList(); //} List<string> NGStation = stationManagers.stationNGChildCode.Split(',').ToList(); - content = await CreateNewTask(input, NGStation, 2); + content = await CreateNewTask(input, input.ProductionLine, "", NGStation, 2); return content.Error("瀛樺湪寮傚父鐢佃姱"); } @@ -230,7 +239,8 @@ TargetAddress = task.Roadway, TaskState = task.TaskState.Value, Id = 0, - TaskType = task.TaskType + TaskType = task.TaskType, + ProductionLine = task.ProductionLine, }; return new WebResponseContent().OK(data: taskDTO); } -- Gitblit v1.9.3