bklLiudl
2024-08-27 13b91828a0301ba53585662f5207ed45ff485638
Wms/WMS.BLL/DataServer/StockServer.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Runtime.Intrinsics.X86;
using System.Security.Claims;
using System.Text;
@@ -13,6 +14,7 @@
using Model.ModelVm.SysVm;
using SqlSugar;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
using WMS.Entity.SysEntity;
@@ -32,7 +34,7 @@
        #region 库存明细
        /// <summary>
        /// 查询库存总量
        /// 查询库存统计
        /// </summary>
        /// <param name="selectType">查询类型 0:物料信息 1:批次信息 2:质检信息 3:货主信息</param>
        /// <param name="skuNo">物料编码</param>
@@ -43,246 +45,133 @@
        /// <param name="status">库存状态</param>
        /// <param name="inspectStatus">质检状态</param>
        /// <returns></returns>
        public async Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus)
        public async Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo,
            string ownerName, string lotNo, string status, string inspectStatus)
        {
            List<MateDataStockDto> modUser = new List<MateDataStockDto>();
            if (string.IsNullOrEmpty(selectType))
            Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
            .AndIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
            .AndIF(!string.IsNullOrEmpty(skuName), a => a.SkuName.Contains(skuName))
            .AndIF(!string.IsNullOrEmpty(ownerNo), a => a.OwnerNo.Contains(ownerNo))
            .AndIF(!string.IsNullOrEmpty(ownerName), a => a.OwnerName.Contains(ownerName))
            .AndIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo.Contains(lotNo))
            .AndIF(!string.IsNullOrEmpty(status), a => a.Status == status)
            .AndIF(!string.IsNullOrEmpty(inspectStatus), a => a.InspectStatus == inspectStatus)
            .And(a => a.IsDel == "0")
            .ToExpression();//注意 这一句 不能少
            var data = Db.Queryable<DataStockDetail>().Where(item);
            List<MateDataStockDto> data2;
            switch (selectType)
            {
                modUser = await Db.Queryable<DataStock>()
                            .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo == skuNo)
                            .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName == skuName)
                            .WhereIF(!string.IsNullOrEmpty(ownerNo), a => a.OwnerNo == ownerNo)
                            .WhereIF(!string.IsNullOrEmpty(ownerName), a => a.OwnerName == ownerName)
                            .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo == lotNo)
                            .Where(a => a.IsDel == "0")
                            .Select(a => new MateDataStockDto()
                            {
                                SkuNo = a.SkuNo, //物料编码
                                SkuName = a.SkuName, //物料名称
                                Standard = a.Standard, //规格
                                LotNo = a.LotNo, //批次
                                LotText = a.LotText, //批次描述
                                OwnerNo = a.OwnerNo, //货主编码
                                OwnerName = a.OwnerName, //货主名称
                                Status = status, //库存状态
                                InspectStatus = inspectStatus, //质检状态
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.Qty), //库存数量
                                //Qty = SqlFunc.AggregateSum(b.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            }).ToListAsync();
                // 按物料统计
                case "0":
                     data2 = await data.GroupBy(a => new { a.SkuNo, a.SkuName, a.Standard })
                        .Select(a => new MateDataStockDto()
                        {
                            SkuNo = a.SkuNo, //物料编码
                            SkuName = a.SkuName, //物料名称
                            Standard = a.Standard, //规格
                            //LotNo = a.LotNo, //批次
                            //LotText = a.LotText, //批次描述
                            //OwnerNo = a.OwnerNo, //货主编码
                            //OwnerName = a.OwnerName, //货主名称
                            Status = status, //库存状态
                            InspectStatus = inspectStatus, //质检状态
                            Qty =  SqlFunc.AggregateSumNoNull(a.Qty), //库存数量
                            LockQty = SqlFunc.AggregateSumNoNull(a.LockQty), //锁定数量
                            FrozenQty = SqlFunc.AggregateSumNoNull(a.LockQty),
                            InspectQty = SqlFunc.AggregateSumNoNull(a.InspectQty)
                        }).ToListAsync();
                    break;
                return modUser;
                // 按批次统计
                case "1":
                     data2 = await data.GroupBy(a => new { a.LotNo, a.LotText, a.SkuNo, a.SkuName, a.Standard })
                        .Select(a => new MateDataStockDto()
                        {
                            SkuNo = a.SkuNo, //物料编码
                            SkuName = a.SkuName, //物料名称
                            Standard = a.Standard, //规格
                            LotNo = a.LotNo, //批次
                            LotText = a.LotText, //批次描述
                            //OwnerNo = a.OwnerNo, //货主编码
                            //OwnerName = a.OwnerName, //货主名称
                            Status = status, //库存状态
                            InspectStatus = inspectStatus, //质检状态
                            Qty = SqlFunc.AggregateSumNoNull(a.Qty), //库存数量
                            LockQty = SqlFunc.AggregateSumNoNull(a.LockQty), //锁定数量
                            FrozenQty = SqlFunc.AggregateSumNoNull(a.LockQty),
                            InspectQty = SqlFunc.AggregateSumNoNull(a.InspectQty)
                        }).ToListAsync();
                    break;
                // 按质检状态统计
                case "2":
                    data2 = await data.GroupBy(a => new { a.SkuNo, a.SkuName, a.Standard,a.InspectStatus})
                        .Select(a => new MateDataStockDto()
                        {
                            SkuNo = a.SkuNo, //物料编码
                            SkuName = a.SkuName, //物料名称
                            Standard = a.Standard, //规格
                            //LotNo = a.LotNo, //批次
                            //LotText = a.LotText, //批次描述
                            //OwnerNo = a.OwnerNo, //货主编码
                            //OwnerName = a.OwnerName, //货主名称
                            Status = status, //库存状态
                            InspectStatus = a.InspectStatus, //质检状态
                            Qty = SqlFunc.AggregateSumNoNull(a.Qty), //库存数量
                            LockQty = SqlFunc.AggregateSumNoNull(a.LockQty), //锁定数量
                            FrozenQty = SqlFunc.AggregateSumNoNull(a.LockQty),
                            InspectQty = SqlFunc.AggregateSumNoNull(a.InspectQty),
                        }).ToListAsync();
                    break;
                // 按货主统计
                case "3":
                    data2 = await data.GroupBy(a => new { a.SkuNo, a.SkuName, a.Standard, a.OwnerNo, a.OwnerName })
                        .Select(a => new MateDataStockDto()
                        {
                            SkuNo = a.SkuNo, //物料编码
                            SkuName = a.SkuName, //物料名称
                            Standard = a.Standard, //规格
                            //LotNo = a.LotNo, //批次
                            //LotText = a.LotText, //批次描述
                            OwnerNo = a.OwnerNo, //货主编码
                            OwnerName = a.OwnerName, //货主名称
                            Status = status, //库存状态
                            InspectStatus = inspectStatus, //质检状态
                            Qty = SqlFunc.AggregateSumNoNull(a.Qty), //库存数量
                            LockQty = SqlFunc.AggregateSumNoNull(a.LockQty), //锁定数量
                            FrozenQty = SqlFunc.AggregateSumNoNull(a.LockQty),
                            InspectQty = SqlFunc.AggregateSumNoNull(a.InspectQty),
                        }).ToListAsync();
                     break;
                // 默认统计(物料 批次 质检 库存状态 货主)
                default:
                    data2 = await data.GroupBy(a => new {  a.SkuNo, a.SkuName, a.Standard ,a.LotNo, a.LotText, a.OwnerNo, a.OwnerName , a.InspectStatus })
                        .Select(a => new MateDataStockDto()
                        {
                            SkuNo = a.SkuNo, //物料编码
                            SkuName = a.SkuName, //物料名称
                            Standard = a.Standard, //规格
                            LotNo = a.LotNo, //批次
                            LotText = a.LotText, //批次描述
                            OwnerNo = a.OwnerNo, //货主编码
                            OwnerName = a.OwnerName, //货主名称
                            Status = status, //库存状态
                            InspectStatus = a.InspectStatus, //质检状态
                            Qty = SqlFunc.AggregateSumNoNull(a.Qty), //库存数量
                            LockQty = SqlFunc.AggregateSumNoNull(a.LockQty), //锁定数量
                            FrozenQty = SqlFunc.AggregateSumNoNull(a.LockQty),
                            InspectQty = SqlFunc.AggregateSumNoNull(a.InspectQty),
                        }).ToListAsync();
                    break;
            }
            else
            {
                var selectList = new List<DataStockDetail>();
                switch (selectType)
                {
                    case "0": // 物料信息
                        modUser = await Db.Queryable<DataStock>()
                            .Where(a => a.IsDel == "0")
                            .GroupBy(a => new { a.SkuNo, a.SkuName, a.Standard })
                            .Select(a => new MateDataStockDto()
                            {
                                SkuNo = a.SkuNo, //物料编码
                                SkuName = a.SkuName, //物料名称
                                Standard = a.Standard, //规格
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            })
                            .ToListAsync();
                        return modUser;
                    case "1": // 批次信息
                        modUser = await Db.Queryable<DataStock>()
                            .Where(a => a.IsDel == "0")
                            .GroupBy(a => new { a.LotNo, a.LotText })
                            .Select(a => new MateDataStockDto()
                            {
                                LotNo = a.LotNo, //批次
                                LotText = a.LotText, //批次描述
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            })
                            .ToListAsync();
                        return modUser;
                    case "2": // 质检信息
                        modUser = await Db.Queryable<DataStock>()
                            .LeftJoin<DataStockDetail>((a, b) => a.LotNo == b.LotNo)
                           .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo == skuNo)
                           .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName == skuName)
                           .WhereIF(!string.IsNullOrEmpty(ownerNo), a => a.OwnerNo == ownerNo)
                           .WhereIF(!string.IsNullOrEmpty(ownerName), a => a.OwnerName == ownerName)
                           .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo == lotNo)
                           .WhereIF(!string.IsNullOrEmpty(status), (a, b) => b.Status == status)
                           .WhereIF(!string.IsNullOrEmpty(inspectStatus), (a, b) => b.InspectStatus == inspectStatus)
                           .Where(a => a.IsDel == "0")
                           .GroupBy((a, b) => b.InspectStatus)
                           .Select((a, b) => new MateDataStockDto()
                           {
                               InspectStatus = b.InspectStatus, //质检状态
                               Qty = SqlFunc.AggregateSum(b.Qty), //库存数量
                               LockQty = SqlFunc.AggregateSum(b.LockQty), //锁定数量
                               FrozenQty = SqlFunc.AggregateSum(b.FrozenQty), //冻结数量
                               InspectQty = SqlFunc.AggregateSum(b.InspectQty), //可抽检数量
                           })
                           .ToListAsync();
                        return modUser;
                    case "3": // 货主信息
                        modUser = await Db.Queryable<DataStock>()
                            .Where(a => a.IsDel == "0")
                            .GroupBy(a => new { a.OwnerNo, a.OwnerName })
                            .Select(a => new MateDataStockDto()
                            {
                                OwnerNo = a.OwnerNo, //货主编码
                                OwnerName = a.OwnerName, //货主名称
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            })
                            .ToListAsync();
                        return modUser;
                    default:
                        break;
                }
                return modUser;
            }
            return data2;
        }
        /// <summary>
@@ -678,7 +567,8 @@
        {
            try
            {
                string str = "select* from SysMaterials where SkuNo in (select a.SkuNo from BllArrivalNoticeDetail a inner join BllExportNoticeDetail b on a.SkuNo = b.SkuNo";
                string str = "select* from SysMaterials where SkuNo in (select a.SkuNo from BllArrivalNoticeDetail a " +
                    "inner join BllExportNoticeDetail b on a.SkuNo = b.SkuNo";
                //判断开始时间是否为空
                if (!string.IsNullOrWhiteSpace(StartTime))