chenyong
6 天以前 8b3377273709a6abd89af0e5b2ff9618c167146e
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs
@@ -36,7 +36,7 @@
        public Task StartAsync(CancellationToken cancellationToken)
        {
            _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(20));
            _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(5));
            return Task.CompletedTask;
        }
@@ -48,14 +48,21 @@
                if (area == null) { return; }
                IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo);
                List<DtStockInfo> stockInfoList = stockInfos.Values.ToList();
                //IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo);
                //List<DtStockInfo> stockInfoList = stockInfos.Values.ToList();
                //var stockInfo = stockInfoList.Where(x => x.AreaCode == area.AreaCode && x.OutboundTime < DateTime.Now && x.IsFull == true) // 过滤条件
                //     .Where(x => x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID) // 过滤条件
                //     .OrderBy(x => x.OutboundTime) // 排序
                //     .ToList(); // 获取第一个元素
                var stockInfo = _stockInfoRepository.Db.Queryable<DtStockInfo>()
                    .Where(x => x.AreaCode == area.AreaCode && x.OutboundTime < DateTime.Now && x.IsFull == true)
                    .Includes(x => x.LocationInfo)
                    .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID) // 过滤条件
                    .Includes(x => x.StockInfoDetails)
                    .OrderBy(x => x.OutboundTime) // 排序
                    .ToList(); // 获取第一个元素
                var stockInfo = stockInfoList.Where(x => x.AreaCode == area.AreaCode && x.OutboundTime < DateTime.Now && x.IsFull == true) // 过滤条件
                     .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID) // 过滤条件
                     .OrderBy(x => x.OutboundTime) // 排序
                     .ToList(); // 获取第一个元素
                if (stockInfo.Count <= 0) return;
                foreach (var item in stockInfo)
@@ -70,8 +77,10 @@
                    string position = string.Empty;
                    if (item.LocationInfo.RoadwayNo == "GWSC1")
                        position = "1059";
                    else
                    else if (item.LocationInfo.RoadwayNo == "GWSC2")
                        position = "1065";
                    else if (item.LocationInfo.RoadwayNo == "GWSC3")
                        position = "1153";
                    var task = CreateTask(item, position, (int)TaskOutboundTypeEnum.Outbound);
                    task.NextAddress = "002-000-002";
@@ -94,6 +103,7 @@
                        _taskRepository.AddData(task);
                        // 更新库存位置状态为不可用
                        item.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;
                        //_simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { taskDTO.PalletCode });
                        _locationRepository.UpdateData(item.LocationInfo);
                    }
                }
@@ -140,7 +150,7 @@
                Creater = "System", // 修正拼写错误
                CreateDate = DateTime.Now,
                TaskId = 0,
                ProductionLine= stockInfo.ProductionLine,
                ProductionLine = stockInfo.ProductionLine,
                ProcessCode = stockInfo.ProcessCode,
            };
        }