From 1344f72375802566725e3719eeda1e2ddf8a4fe5 Mon Sep 17 00:00:00 2001
From: admin <qiutairan163@163.com>
Date: 星期六, 29 十一月 2025 11:39:50 +0800
Subject: [PATCH] 获取临期预警信息GetEmergencyWarning增加储位地址筛选

---
 Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs |  157 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 148 insertions(+), 9 deletions(-)

diff --git a/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs b/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
index b94d8ee..8cba262 100644
--- a/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
+++ b/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
@@ -1,20 +1,26 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Linq;
 using System.Linq.Expressions;
 using System.Text;
+using Model.ModelDto;
 using Model.ModelDto.DataDto;
+using Model.ModelDto.SysDto;
 using SqlSugar;
+using Utility.Tools;
 using WMS.DAL;
+using WMS.Entity.BllAsnEntity;
 using WMS.Entity.Context;
 using WMS.Entity.DataEntity;
+using WMS.Entity.SysEntity;
 using WMS.IBLL.IDataServer;
 
 namespace WMS.BLL.DataServer
 {
-    public class DataBoxInfoServer: DbHelper<DataBoxInfo>,IDataBoxInfoServer
+    public class DataBoxInfoServer : DbHelper<DataBoxInfo>, IDataBoxInfoServer
     {
         private static readonly SqlSugarScope Db = DataContext.Db;
-        public DataBoxInfoServer():base(Db)
+        public DataBoxInfoServer() : base(Db)
         {
         }
 
@@ -34,8 +40,8 @@
         /// <param name="bitBoxMark">闆剁鏍囪</param>
         /// <param name="inspectStatus">璐ㄩ噺鐘舵��</param>
         /// <returns></returns>
-        public List<DataBoxInfo> GetDataBoxInfo(string id, string skuNo, string skuName, string palletNo, string lotNo, 
-            string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus)
+        public List<DataBoxInfo> GetDataBoxInfo(string id, string skuNo, string skuName, string palletNo, string lotNo,
+            string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus, string WareHouseNo, string AreaNo)
         {
             string str = "select PalletNo,PalletNo2,PalletNo3,BoxNo,BoxNo2,BoxNo3,Status,LotNo,Qty,FullQty,SkuNo,SkuName," +
                 "LotText,ProductionTime,ExpirationTime,InspectMark,BitBoxMark,InspectStatus,InspectTime from DataBoxInfo Where IsDel = @isdel";
@@ -180,13 +186,12 @@
         /// <param name="status">鐘舵��</param>
         /// <param name="inspectMark">妫�楠屾爣璁�</param>
         /// <param name="inspectStatus">璐ㄩ噺鐘舵��</param>
-        /// <param name="isBale">鏄惁瑁瑰寘</param>
-        /// <param name="isBelt">鏄惁鎵撳甫</param>
+        /// <param name="locatNo">鍌ㄤ綅鍦板潃</param>
         /// <returns></returns>
-        public List<AdventBoxInfoDto> GetEmergencyWarning(string skuNo, string skuName, string lotNo, string palletNo, string status, string inspectMark, string inspectStatus)
+        public List<AdventBoxInfoDto> GetEmergencyWarning(string skuNo, string skuName, string lotNo, string palletNo, string status, string inspectMark, string inspectStatus, string locatNo)
         {
             string str = @" select d.WareHouseName,d.WareHouseNo,e.RoadwayName,e.RoadwayNo,f.AreaName,f.AreaNo,c.LocatNo,a.PalletNo,
-                             a.SkuNo,a.SkuName,SUM(a.Qty) as Qty,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status
+                             a.SkuNo,a.SkuName,SUM(a.Qty) as Qty,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status,c.ExpirationTime
                              from DataBoxInfo a
                              left join SysMaterials b on a.SkuNo = b.SkuNo 
                              left join DataStockDetail c on a.StockDetailId = c.Id
@@ -229,8 +234,13 @@
             {
                 str += " and a.InspectStatus = @inspectstatus";
             }
+            //鍒ゆ柇璐ㄩ噺鐘舵�佹槸鍚︿负绌�
+            if (!string.IsNullOrEmpty(locatNo))
+            {
+                str += " and c.LocatNo=@locatNo";
+            }
             //鎺掑簭
-            str += @" group by d.WareHouseName,d.WareHouseNo,e.RoadwayName,e.RoadwayNo,f.AreaName,f.AreaNo,c.LocatNo,a.PalletNo,a.SkuNo,a.SkuName,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status order by a.SkuNo,a.LotNo ";
+            str += @" group by d.WareHouseName,d.WareHouseNo,e.RoadwayName,e.RoadwayNo,f.AreaName,f.AreaNo,c.LocatNo,a.PalletNo,a.SkuNo,a.SkuName,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status,c.ExpirationTime order by a.SkuNo,a.LotNo ";
             List<AdventBoxInfoDto> stockList = Db.Ado.SqlQuery<AdventBoxInfoDto>(str, new
             {
                 skuno = skuNo, //鐗╂枡鍙�
@@ -240,6 +250,8 @@
                 status, //鐘舵��
                 inspectmark = inspectMark, //妫�楠屾爣璁�
                 inspectstatus = inspectStatus, //璐ㄩ噺鐘舵��
+                //鍌ㄤ綅鍦板潃
+                locatNo = locatNo,
             });
             return stockList;
         }
@@ -417,6 +429,132 @@
         }
         #endregion
 
+        #region#琛ユ墦鏍囩
+        /// <summary>
+        /// 琛ユ墦搴撳瓨鏄庣粏绠辩爜
+        /// </summary>
+        /// <param name="boxNo"></param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public List<BoxInfoDto> GetBuDaLabelList(string boxNo)
+        {
+            try
+            {
+                if (string.IsNullOrWhiteSpace(boxNo))
+                {
+                    throw new Exception($"绠辩爜涓嶈兘涓虹┖");
+                }
+
+                //鎵撳嵃鏁版嵁闆嗗悎
+                var printList = new List<BoxInfoDto>();
+
+                List<BoxInfoDto> printModelList = new List<BoxInfoDto>();
+
+
+                var funSet = Db.Queryable<SysFunSetting>().First(m => m.IsDel == "0" && m.FunSetName == "鐗╂枡鐮佺被鍨�" && m.IsEnable == "NO");
+                var allotSet = 1;//鍒嗛厤瑙勫垯璁惧畾
+
+                if (funSet != null)
+                {
+                    switch (funSet.SetValue)
+                    {
+                        case "One":
+                            allotSet = 1;//涓�缁存潯褰㈢爜
+                            break;
+                        case "Two":
+                            allotSet = 2;//浜岀淮鐮�
+                            break;
+                        default:
+                            allotSet = 1;// 榛樿锛氫竴缁存潯褰㈢爜銆�
+                            break;
+                    }
+                }
+                #region 鍗曚釜绠辩爜鏍囩
+
+
+                var dataList = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo).ToList();
+                var data = dataList.FirstOrDefault();
+                if (data == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌{boxNo}淇℃伅");
+                }
+                //鐗╂枡淇℃伅
+                var skuInfo = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == data.SkuNo);
+                if (skuInfo == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌缂栫爜涓簕data.SkuNo}鐨勭墿鏂欎俊鎭�");
+                }
+                //鍖呰淇℃伅
+                var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
+                if (pack == null)
+                {
+                    throw new Exception("鏈煡璇㈠埌褰撳墠鍗曟嵁涓墿鏂欑殑鍖呰淇℃伅");
+                }
+
+                var packStr = "";
+
+                if (!string.IsNullOrWhiteSpace(pack.L1Name))
+                {
+                    packStr += pack.L1Num + "/" + pack.L1Name;
+                }
+                if (!string.IsNullOrWhiteSpace(pack.L2Name))
+                {
+                    packStr += "-" + pack.L2Num + "/" + pack.L2Name;
+                }
+                if (!string.IsNullOrWhiteSpace(pack.L3Name))
+                {
+                    packStr += "-" + pack.L3Num + "/" + pack.L3Name;
+                }
+                if (!string.IsNullOrWhiteSpace(pack.L4Name))
+                {
+                    packStr += "-" + pack.L4Num + "/" + pack.L4Name;
+                }
+                if (!string.IsNullOrWhiteSpace(pack.L5Name))
+                {
+                    packStr += "-" + pack.L5Num + "/" + pack.L5Name;
+                }
+                // 鐗╂枡鏉$爜淇℃伅璧嬪��
+                BoxInfoDto model = new BoxInfoDto();
+                model.SkuNo = data.SkuNo;
+                model.SkuName = data.SkuName;
+                model.LotNo = data.LotNo;                      //鎵规
+                model.SupplierLot = data.SupplierLot;                        // 鍘熷巶鎵瑰彿
+                model.Standard = data.Standard;                              // 瑙勬牸/鍨嬪彿
+                model.PackageStandard = packStr;                // 鍖呰瑙勬牸
+
+                model.ExpirationTime = data.ExpirationTime;                  // 鏈夋晥鏈熻嚦
+                model.StoreTime = null;                     // 鍌ㄥ瓨鏈熻嚦 
+                model.ProductionTime = data.ProductionTime;//鐢熶骇鏃ユ湡
+
+                model.Qty = dataList.Sum(m => m.Qty);// 鏁伴噺
+
+                model.BoxNo = data.BoxNo;                 // 绠卞彿     
+
+                model.ImgStr = allotSet == 1 ? BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false) : BarcodeHelper.GetQrCodeBase64(model.BoxNo, 85, 85);
+
+                // 娣诲姞鍒發ist闆嗗悎
+                printModelList.Add(model);
+
+                //娣诲姞鎵撳嵃璁板綍
+                //WmsLabelPrintLog log = new WmsLabelPrintLog();
+                //log.BoxCode = data.LabelStream;
+                //log.CreateTime = DateTime.Now;
+                //log.Demo = Demo;
+                //log.Isdel = 0;
+                //log.CreateUser = userId;
+                //printlog.Add(log);
+                #endregion
+
+                return printModelList;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
+        #endregion
+
         #region 搴熶唬鐮� 浠呬緵鍙傝��
 
         ////鑾峰彇鍒嗙粍鍚庣殑绠辩爜鏄庣粏
@@ -480,5 +618,6 @@
         //}
 
         #endregion
+
     }
 }

--
Gitblit v1.8.0