From 2cc749ec598c39f9172f9b989979f6218ec256b1 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期四, 27 三月 2025 11:06:24 +0800 Subject: [PATCH] 1 --- CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 83 +++++++++++++++++++++++++---------------- 1 files changed, 50 insertions(+), 33 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 5112a19..aea1b2a 100644 --- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs +++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs @@ -3,11 +3,13 @@ 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; @@ -612,30 +614,6 @@ try { - Dt_Task taskNews = new Dt_Task - { - CurrentAddress = input.Position, - Grade = 1, - Roadway = "CWSC1", - TargetAddress = "CWSC1", - Dispatchertime = DateTime.Now, - MaterialNo = "", - NextAddress = "CWSC1", - OrderNo = null, - PalletCode = input.PalletCode, - SourceAddress = input.Position, - TaskState = (int)TaskInStatusEnum.InNew, - TaskType = (int)TaskInboundTypeEnum.InTray, - TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", - ProductionLine = input.ProductionLine, - //ProcessCode = processCode - }; - - var taskDTOs = CreateTaskDTO(taskNews); - BaseDal.AddData(taskNews); - return content.OK(data: taskDTOs); - // 鏌ヨ浠诲姟 var task = await QueryTaskByPalletCode(input.PalletCode); if (task != null) @@ -893,6 +871,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) @@ -967,12 +947,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(); @@ -1022,12 +1003,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(); // 鑾峰彇绗竴涓厓绱� @@ -1064,12 +1046,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(); // 杞崲涓哄垪琛� @@ -1592,6 +1575,40 @@ #endregion 澶栭儴鎺ュ彛鏂规硶 + #region 闈欑疆鏌ヨ瀹炴墭 + public async Task<WebResponseContent> QueryStockInfoForRealTrayJZAsync(string ProductLine) + { + 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(); + } + catch (Exception ex) + { + return content.Error(ex.Message); + } + return content; + } + + #endregion + #endregion 澶栭儴鎺ュ彛鏂规硶 #region 鍐呴儴璋冪敤鏂规硶 -- Gitblit v1.9.3