From f7a2b37e42aac9578f96d9a954f065d1de74b2b2 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期五, 31 十月 2025 11:23:58 +0800
Subject: [PATCH] 托盘明细增加箱码标签补打功能;

---
 Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs |  137 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 135 insertions(+), 2 deletions(-)

diff --git a/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs b/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
index 5456865..d9ac7cd 100644
--- a/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
+++ b/Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
@@ -1,12 +1,18 @@
 锘縰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
@@ -186,7 +192,7 @@
         public List<AdventBoxInfoDto> GetEmergencyWarning(string skuNo, string skuName, string lotNo, string palletNo, string status, string inspectMark, string inspectStatus)
         {
             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
@@ -230,7 +236,7 @@
                 str += " and a.InspectStatus = @inspectstatus";
             }
             //鎺掑簭
-            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, //鐗╂枡鍙�
@@ -417,6 +423,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 +612,6 @@
         //}
 
         #endregion
+
     }
 }

--
Gitblit v1.8.0