From 8ae1a147aefadbb255edde088e7c12535c5f02d4 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期三, 08 十月 2025 20:35:51 +0800 Subject: [PATCH] 完善输送线和堆垛机任务处理逻辑在CommonConveyorLine_NewCW.cs`中添加版本注释和设备属性定义,增强设备连接状态检查与命令发送逻辑。 修改 CommonConveyorLine_GWJob.cs`的任务查询逻辑,确保在特定条件下不下发新任务。在CommonConveyorLine_NewCWJob.cs中实现请求入库和出库的处理逻辑,确保任务状态更新。在 RequestInbound.cs中添加出库任务和新任务的处理逻辑,增强异常处理。 在CommonStackerCrane_NewCWJob.cs中实现堆垛机任务完成事件的处理,确保状态更新和前端通知。新增设备型号修改相关常量和 DTO 类,更新服务接口和实现逻辑,确保设备型号修改请求的正确处理。修改 Dt_TaskService.cs中的任务处理逻辑,确保出库任务的库存判断和状态更新。 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs | 74 ++++++++++++++++-------------------- 1 files changed, 33 insertions(+), 41 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 2e8dd63..240cfe1 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 @@ -45,26 +45,16 @@ try { // 鍒ゆ柇闇�涓嶉渶瑕佸幓鍖呰锛屼笉闇�瑕佸氨鍘诲父娓╀笁 - var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine); + //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 = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position); - //var station = stationManagers.Select(x => x.stationChildCode).ToList(); - - //// 鑾峰彇WCSip鍦板潃鐩稿叧閰嶇疆 + // 鑾峰彇WCSip鍦板潃鐩稿叧閰嶇疆 var wcsIpAddrss = GetWCSIpAddress(); - //if (wcsIpAddrss == null) - //{ - // throw new InvalidOperationException("WCS IP 鏈厤缃�"); - //} - - //var abc = HttpHelper.PostAsync(wcsIpAddrss, station.ToJsonString()).Result; - //content = JsonConvert.DeserializeObject<WebResponseContent>(abc); - //var num = content.Data.ObjToInt(); //濡傛灉褰撳墠搴撳唴瀛樺湪姣斿綋鍓嶆椂闂寸殑瀵瑰簲浜х嚎鐨勬枡 鍒欏叆搴撹嚦甯告俯3 - DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now); - if (stockInfo != null) + //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(); @@ -79,32 +69,34 @@ // TODO 鍒ゆ柇鍦ㄩ�旀暟閲� - var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine && x.fromArea == "CW"); - var needCount = BaseDal.QueryData(x => x.TargetAddress == needBarcode.toArea).Count(); - //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count; - if (needCount < needBarcode.cacheNum) - { - // 閫佽嚦鍖呰 - List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList(); - var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>() - .SetColumns(x => x.inLineNum == x.inLineNum + 1) - .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync(); - ConsoleHelper.WriteSuccessLine($"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}"); - LogFactory.GetLog("OCVB").InfoFormat(true, $"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}", "鏃犲弬鏁�"); - 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, input.ProductionLine, boxing.ProcessCode, strings); - if (resultContent.Status) - { - await _boxingInfoRepository.AddDataNavAsync(boxing); - } - return resultContent; - } + #region OCV甯告俯3鐩存帴鍘诲寘瑁呰矾寰勪笉閫氭閫昏緫涓嶉渶瑕� + //var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine && x.fromArea == "CW"); + //var needCount = BaseDal.QueryData(x => x.TargetAddress == needBarcode.toArea).Count(); + //if (needCount < needBarcode.cacheNum) + //{ + // // 閫佽嚦鍖呰 + // List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList(); + // var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>() + // .SetColumns(x => x.inLineNum == x.inLineNum + 1) + // .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync(); + // ConsoleHelper.WriteSuccessLine($"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}"); + // LogFactory.GetLog("OCVB").InfoFormat(true, $"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}", "鏃犲弬鏁�"); + // 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, input.ProductionLine, boxing.ProcessCode, strings); + // if (resultContent.Status) + // { + // await _boxingInfoRepository.AddDataNavAsync(boxing); + // } + // return resultContent; + //} + + #endregion } catch (Exception ex) { -- Gitblit v1.9.3