From 1e26a7575d9969e728b0aa01466f490409cb173c Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期五, 18 十月 2024 18:41:30 +0800
Subject: [PATCH] Merge branch 'master' into csc

---
 Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 106 insertions(+), 0 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index 5fe710b..4b30086 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -5,6 +5,7 @@
 using Model.InterFaceModel;
 using Model.ModelDto.BllCheckDto;
 using Model.ModelDto.PdaDto;
+using Model.ModelVm;
 using Newtonsoft.Json;
 using SqlSugar;
 using Utility.Tools;
@@ -1332,5 +1333,110 @@
         }
         #endregion
 
+        #region 绠辩爜鏌ヨ
+        /// <summary>
+        /// 绠辩爜鏌ヨ 
+        /// </summary>
+        /// <param name="boxNo">绠辩爜</param>
+        /// <returns></returns>
+        public DataBoxDto GetBoxQueryList(string boxNo)
+        {
+            // 瀹炰緥鍖栬繑鍥炵被
+            DataBoxDto boxModel = new DataBoxDto();
+            List<DataBoxInfoDto> list = new List<DataBoxInfoDto>();
+
+            // 鏍规嵁绠辩爜鑾峰彇绠变俊鎭�
+            var boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
+            
+            if (boxData.Count() == 0) 
+            {
+                // 鏍规嵁鐩掔爜鑾峰彇绠变俊鎭�
+                boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo2 == boxNo);
+                if (boxData.Count() == 0) 
+                {
+                    boxModel = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo3 == boxNo).Select(it => new DataBoxDto() { Qty = it.Qty }, true).First();
+                    return boxModel;
+                }
+
+                list = boxData.Select(it => new DataBoxInfoDto()
+                {
+                    BoxNo2 = it.BoxNo3,
+                    Qty2 = it.Qty
+                }).ToList();
+
+                boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo2 == boxNo);
+                boxModel = boxData.GroupBy(m => new
+                {
+                    m.BoxNo,
+                    m.SkuName,
+                    m.SkuNo,
+                    m.LotNo,
+                    m.SupplierLot,
+                    m.InspectStatus
+                }).Select(it => new DataBoxDto()
+                {
+                    BoxNo = it.BoxNo,
+                    SkuName = it.SkuName,
+                    SkuNo = it.SkuNo,
+                    LotNo = it.LotNo,
+                    SupplierLot = it.SupplierLot,
+                    InspectStatus = it.InspectStatus == "0" ? "寰呮" : it.InspectStatus == "1" ? "鍚堟牸":"涓嶅悎鏍�",
+                    Qty = SqlFunc.AggregateSum(it.Qty)
+                }).First();
+
+                boxModel.InfoList = list;
+                return boxModel;
+            }
+            else  //绠辩爜鍐呮暟鎹�
+            {
+                // 澶勭悊澶氱骇鐮�
+                var num = boxData.Count(m => !string.IsNullOrWhiteSpace(m.BoxNo2));
+                if (num > 0)
+                {
+                    list = boxData.GroupBy(m => new
+                    {
+                        m.BoxNo2
+                    }).Select(it => new DataBoxInfoDto()
+                    {
+                        BoxNo2 = it.BoxNo2,
+                        Qty2 = SqlFunc.AggregateSum(it.Qty)
+                    }).ToList();
+                }
+                else
+                {
+                    list = boxData.Select(it => new DataBoxInfoDto()
+                    {
+                        BoxNo2 = SqlFunc.IsNull(it.BoxNo3,""),
+                        Qty2 = it.Qty
+                    }).ToList();
+                }
+
+                // 绠辩爜淇℃伅璧嬪��
+                boxData = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
+                boxModel = boxData.GroupBy(m => new
+                {
+                    m.BoxNo,
+                    m.SkuName,
+                    m.SkuNo,
+                    m.LotNo,
+                    m.SupplierLot,
+                    m.InspectStatus
+                }).Select(it => new DataBoxDto()
+                {
+                    BoxNo = it.BoxNo,
+                    SkuName = it.SkuName,
+                    SkuNo = it.SkuNo,
+                    LotNo = it.LotNo,
+                    SupplierLot = it.SupplierLot,
+                    InspectStatus = it.InspectStatus == "0" ? "寰呮" : it.InspectStatus == "1" ? "鍚堟牸" : "涓嶅悎鏍�",
+                    Qty = SqlFunc.AggregateSum(it.Qty)
+                }).First();
+                boxModel.InfoList = list;
+
+                return boxModel;
+            }
+        }
+        #endregion
+
     }
 }

--
Gitblit v1.8.0