From 2cf0aaaca070d1423ab8412431690befef39fa89 Mon Sep 17 00:00:00 2001
From: yyk <2336760928@qq.com>
Date: 星期四, 29 八月 2024 11:49:30 +0800
Subject: [PATCH] 修改自动数据库链接,修改周期报表默认时间,修改年度报表显示不全问题。

---
 Wms/WMS.BLL/DataServer/StockServer.cs |  364 ++++++++++++++++++---------------------------------
 1 files changed, 127 insertions(+), 237 deletions(-)

diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index ebf208d..c891cd8 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/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 " +
+                    "left join BllExportNoticeDetail b on a.SkuNo = b.SkuNo";
 
                 //鍒ゆ柇寮�濮嬫椂闂存槸鍚︿负绌�
                 if (!string.IsNullOrWhiteSpace(StartTime))

--
Gitblit v1.8.0