刘磊
2024-11-20 f6a30a6e9d6f200f1a39d0dee3194b7ea5961e7b
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -1,6 +1,7 @@
using log4net.Core;
using Mapster;
using Masuit.Tools;
using Masuit.Tools.Models;
using WIDESEA_DTO.MOM;
using WIDESEA_DTO.WMS;
using WIDESEA_IStorageBasicRepository;
@@ -806,12 +807,15 @@
        //return _stockInfoRepository.QueryFirstNavAsync(x => x.AreaCode == areaCode && Convert.ToDateTime(x.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(x.SpecialParameterDuration)) < DateTime.Now
        //                        && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo) && x.StockInfoDetails.Any(x => x.Status == (int)StockStateEmun.已入库) && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock).Result;
        var result = await _stockInfoRepository.QueryFirstNavAsync(x =>
        var result = await _stockInfoRepository.Db.Queryable<DtStockInfo>().Where(x =>
            x.AreaCode == areaCode &&
            Convert.ToDateTime(x.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(x.SpecialParameterDuration)) < DateTime.Now &&
            x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock &&
            roadways.Contains(x.LocationInfo.RoadwayNo) &&
            x.StockInfoDetails != null && x.StockInfoDetails.Any(detail => detail.Status == (int)StockStateEmun.已入库));
            Convert.ToDateTime(x.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(x.SpecialParameterDuration)) < DateTime.Now)
            .Includes(x => x.LocationInfo)
            .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo))
            .Includes(x => x.StockInfoDetails)
            .Where(x => x.StockInfoDetails.Any(detail => detail.Status == (int)StockStateEmun.已入库))
            .OrderBy(x => x.CreateDate)
            .FirstAsync();
        return result;
    }
@@ -821,11 +825,13 @@
    private async Task<DtStockInfo> QueryStockInfoForEmptyTrayAsync(string areaCode, List<string> roadways)
    {
        //return _stockInfoRepository.QueryFirstNavAsync(x => x.StockInfoDetails.Any(x => x.MaterielCode == "空托盘") && roadways.Contains(x.LocationInfo.RoadwayNo) && x.StockInfoDetails.Any(x => x.Status == (int)StockStateEmun.已入库) && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock).Result;
        var result = await _stockInfoRepository.QueryFirstNavAsync(x =>
            x.StockInfoDetails != null && x.StockInfoDetails.Any(detail => detail.MaterielCode == "空托盘") &&
            roadways.Contains(x.LocationInfo.RoadwayNo) &&
            x.StockInfoDetails.Any(detail => detail.Status == (int)StockStateEmun.已入库) &&
            x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock);
        var result = await _stockInfoRepository.Db.Queryable<DtStockInfo>()
            .Includes(x => x.LocationInfo)
            .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo))
            .Includes(x => x.StockInfoDetails)
            .Where(x => x.StockInfoDetails.Any(detail => detail.Status == (int)StockStateEmun.已入库 && detail.MaterielCode == "空托盘"))
            .OrderBy(x => x.CreateDate)
            .FirstAsync();
        return result;
    }
@@ -1393,7 +1399,7 @@
            }
            else
            {
                locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == roadWay);
                locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == roadWay /*&& x.LocationType ==*/);
            }
            if (locations == null)