From 29f20b28392d212c04c0c40a512894f8622cfa53 Mon Sep 17 00:00:00 2001 From: wanshenmean <cathay_xy@163.com> Date: 星期三, 16 四月 2025 09:32:01 +0800 Subject: [PATCH] 合并 --- CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 69 ++++++++++++++++++++++++++++------ 1 files changed, 56 insertions(+), 13 deletions(-) diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs index 414858c..fd00670 100644 --- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs +++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs @@ -1,13 +1,16 @@ 锘縰sing Mapster; using Masuit.Tools; +using SixLabors.Fonts.Tables.AdvancedTypographic; using SqlSugar; using System.Text.RegularExpressions; using WIDESEA_Cache; +using WIDESEA_Core; using WIDESEA_Core.Const; using WIDESEA_DTO.MOM; using WIDESEA_DTO.WMS; using WIDESEA_IServices; using WIDESEA_IStoragIntegrationServices; +using WIDESEA_Model.Models; using WIDESEAWCS_BasicInfoRepository; using WIDESEAWCS_QuartzJob.Models; @@ -869,6 +872,8 @@ WebResponseContent content = new WebResponseContent(); try { + // 璁板綍寮傚父淇℃伅骞舵姏鍑� + LogFactory.GetLog($"{position}璇锋眰{productionLine}浠诲姟").Info(true, $"{position}-{tag}-{areaCode}-{JsonConvert.SerializeObject(areaCodes)}-{productionLine}"); // 鏍规嵁鎵樼洏绫诲瀷鏌ヨ搴撳瓨淇℃伅 DtStockInfo stockInfo = tag == (int)TaskOutboundTypeEnum.Outbound ? areaCode != "CWSC1" ? await QueryStockInfoForRealTrayAsync(areaCode, areaCodes, productionLine) : await QueryStockInfoForRealTrayCWAsync(areaCodes, productionLine) @@ -943,12 +948,13 @@ var result = new DtStockInfo(); result = await _stockInfoRepository.Db.Queryable<DtStockInfo>() - .IncludesAllFirstLayer() + .Includes(x => x.LocationInfo) + .Includes(x => x.StockInfoDetails) .Where(x => x.AreaCode == areaCode && x.OutboundTime < DateTime.Now && x.IsFull) .WhereIF(!productionLine.IsNullOrEmpty(), x => x.ProductionLine == productionLine) - .Where(x => x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) .WhereIF(!devices.IsNullOrEmpty(), x => devices.Contains(x.LocationInfo.RoadwayNo)) - .WhereIF(!materielCodes.IsNullOrEmpty(), x => x.StockInfoDetails != null && x.StockInfoDetails.Any(y => materielCodes.Contains(y.MaterielCode))) + .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) + .WhereIF(!materielCodes.IsNullOrEmpty(), x => x.StockInfoDetails.Any(y => materielCodes.Contains(y.MaterielCode))) .OrderBy(x => x.OutboundTime) .FirstAsync(); @@ -998,12 +1004,13 @@ .ToList().Select(x => x.DeviceCode).ToList(); var result = await _stockInfoRepository.Db.Queryable<DtStockInfo>() - .IncludesAllFirstLayer() .Where(x => areaCodes.Contains(x.AreaCode) && x.OutboundTime < DateTime.Now && x.IsFull == true) // 杩囨护鏉′欢 .WhereIF(!productionLine.IsNullOrEmpty(), x => x.ProductionLine == productionLine) - .Where(x => x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && areaId.Contains(x.LocationInfo.AreaId) && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // 杩囨护鏉′欢 + .Includes(x=>x.LocationInfo) .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo)) - .WhereIF(!materielCodes.IsNullOrEmpty(), x => x.StockInfoDetails != null && x.StockInfoDetails.Any(y => materielCodes.Contains(y.MaterielCode))) + .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && areaId.Contains(x.LocationInfo.AreaId) && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // 杩囨护鏉′欢 + .Includes(x=>x.StockInfoDetails) + .WhereIF(!materielCodes.IsNullOrEmpty(), x => x.StockInfoDetails.Any(y => materielCodes.Contains(y.MaterielCode))) .OrderBy(x => x.OutboundTime) // 鎺掑簭 .FirstAsync(); // 鑾峰彇绗竴涓厓绱� @@ -1040,12 +1047,13 @@ .ToList().Select(x => x.DeviceCode).ToList(); var result = await _stockInfoRepository.Db.Queryable<DtStockInfo>() - .IncludesAllFirstLayer() .Where(x => x.ProductionLine == station.productLine) .Where(x => x.AreaCode == areaCode && x.IsFull == false) - .Where(x => x.StockInfoDetails != null && x.StockInfoDetails.Any(y => y.MaterielCode == "绌烘墭鐩�")) - .Where(x => x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // 杩囨护鏉′欢 + .Includes(x=>x.StockInfoDetails) + .Where(x => x.StockInfoDetails.Any(y => y.MaterielCode == "绌烘墭鐩�")) + .Includes(x=>x.LocationInfo) .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo)) + .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // 杩囨护鏉′欢 .OrderBy(x => x.CreateDate) // 鎺掑簭 .FirstAsync(); // 杞崲涓哄垪琛� @@ -1194,15 +1202,15 @@ if (stockInfo.AreaCode.Contains("CH")) { // 鍒涘缓骞舵坊鍔犱换鍔″埌鏁版嵁搴� - task = CreateTask(stockInfo, "1020-1", taskType); + task = CreateTask(stockInfo, "002-071-001", taskType); } else { if (stockInfo.LocationInfo.RoadwayNo.Contains("JZSC")) { - var targetAddress = "002-021-001"; - if (stockInfo.LocationInfo.RoadwayNo == "JZSC4") - targetAddress = "001-021-001"; + var targetAddress = "001-061-001"; + //if (stockInfo.LocationInfo.RoadwayNo == "JZSC4") + // targetAddress = "001-021-001"; task = CreateTask(stockInfo, targetAddress, taskType); } } @@ -1568,6 +1576,41 @@ #endregion 澶栭儴鎺ュ彛鏂规硶 + #region 闈欑疆鏌ヨ瀹炴墭 + public async Task<WebResponseContent> QueryStockInfoForRealTrayJZAsync(string ProductLine, string PalletCode) + { + WebResponseContent content = new WebResponseContent(); + try + { + var deviceCode = SqlSugarHelper.DbWCS.Queryable<Dt_DeviceInfo>() + .Where(x => x.DeviceStatus == "1") + .Where(x => x.DeviceCode.Contains("JZSC")) + .ToList().Select(x => x.DeviceCode).ToList(); + + var result = await _stockInfoRepository.Db.Queryable<DtStockInfo>() + .Where(x=> x.IsFull == true) // 杩囨护鏉′欢 + .WhereIF(!ProductLine.IsNullOrEmpty(), x => x.ProductionLine == ProductLine) + .Includes(x => x.LocationInfo) + .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo)) + .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId==2 && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // 杩囨护鏉′欢 + .Includes(x => x.StockInfoDetails) + .OrderBy(x => x.OutboundTime) // 鎺掑簭 + .FirstAsync(); + if (result.IsNullOrEmpty()) + content.Error(); + else + content.OK(); + LogFactory.GetLog($"闈欑疆鏌ヨ瀹炵洏搴撳瓨{ProductLine}").Info(true, $"鎵樼洏鍙凤細{JsonConvert.SerializeObject(result.PalletCode)}-----浜х嚎{JsonConvert.SerializeObject(result.ProductionLine)}"); + } + catch (Exception ex) + { + return content.Error(ex.Message); + } + return content; + } + + #endregion + #endregion 澶栭儴鎺ュ彛鏂规硶 #region 鍐呴儴璋冪敤鏂规硶 -- Gitblit v1.9.3