From b2fc93e15a14847141b0a0a8bd591b945c9fa0a3 Mon Sep 17 00:00:00 2001
From: test <15284381150@163.com>
Date: 星期四, 21 八月 2025 18:44:34 +0800
Subject: [PATCH] 添加赋码实体类和修改箱码方法,改正拣货拼托

---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |  129 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 1 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 72de3a2..657aebb 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -30,6 +30,7 @@
 using System.Security.Cryptography.X509Certificates;
 using AutoMapper.Configuration.Annotations;
 using Utility;
+using System.Diagnostics.Metrics;
 
 namespace WMS.BLL.BllPdaServer
 {
@@ -2081,7 +2082,7 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url)
+        /*public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url)
         {
             try
             {
@@ -2184,6 +2185,132 @@
             {
                 throw ex;
             }
+        }*/
+
+        public List<BoxInfoDto> GetFMBindBoxInfos(string boxno, string url)
+        {
+            try
+            {
+                #region 绠辩爜璇锋眰鎺ュ彛锛屾寮忕郴缁熸斁寮�
+                var data = new
+                {
+                    BoxNo = boxno
+                };
+                var jsonData = JsonConvert.SerializeObject(data);
+
+                var response = HttpHelper.DoPost(url, jsonData, "绠辩爜淇℃伅璇锋眰", "FM");
+
+                var obj = JsonConvert.DeserializeObject<FuMaPostModel>(response);//瑙f瀽杩斿洖鏁版嵁
+                if (obj.Success != true)
+                {
+                    throw new Exception("璇锋眰澶辫触" + obj.Message);
+                }
+                #endregion
+                
+                if (string.IsNullOrEmpty(obj.Data.SkuNo))
+                {
+                    //娴嬭瘯鐢紝鍙戝竷姝e紡鍓嶅垹闄ゆ娈典唬鐮�
+                    //obj.Data.SkuNo = "50004632";
+                    throw new Exception($"鐗╂枡缂栫爜涓嶈兘涓虹┖");
+                }
+
+                //鏌ユ壘鐗╂枡淇℃伅
+                var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == obj.Data.SkuNo);
+                if (sku == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌鐗╂枡{obj.Data.SkuNo}淇℃伅");
+                }
+
+                var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺 
+                var bNum = 0;//绠辩爜鐗╁搧鏁伴噺 
+                //鑾峰彇鍖呰淇℃伅
+                new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
+                if (pNum == 0 || bNum == 0)
+                {
+                    throw new Exception($"{sku.SkuNo}鐗╁搧鍖呰鏈壘鍒帮紒");
+                }
+
+                var boxList = new List<BllBoxInfo>();
+                var comTime = DateTime.Now;
+                //娣诲姞绠辩爜淇℃伅
+                foreach (var box in obj.Data.DetailList)
+                {
+                    foreach (var box2 in box.DetailList2)
+                    {
+                        var boxInfo = new BllBoxInfo()
+                        {
+                            BoxNo = obj.Data.BoxNo,
+                            BoxNo2 = box.BoxNo2,
+                            BoxNo3 = box2.BoxNo3,
+                            Qty = obj.Data.Qty,
+                            BitBoxMark = obj.Data.BitBoxMark,
+
+                            ASNNo = "",
+                            //ASNDetailNo = noticeDetail.Id,
+                            OrderCode = "",//notice.OrderCode
+                                           //BindNo = bindId,
+                                           //PalletNo = model.PallNo,
+                            FullQty = bNum,
+                            Status = "0",
+                            SkuNo = sku.SkuNo,
+                            SkuName = sku.SkuName,
+                            LotNo = box2.LotNo,
+                            LotText = obj.Data.LotNoBoxNum,
+                            ProductionTime = DateTime.Parse(box2.ProductionTime),
+                            ExpirationTime = DateTime.Parse(box2.ExpirationTime),
+                            //CompleteTime = "",
+                            InspectMark = "0",
+                            InspectStatus = "0",
+                            Origin = "璧嬬爜",
+                            CreateTime = comTime,
+                            CreateUser = 0
+                        };
+                        boxList.Add(boxInfo);
+                    };
+                }
+                try
+                {
+                    //寮�鍚簨鍔�
+                    Db.BeginTran();
+
+                    Db.Fastest<BllBoxInfo>().BulkCopy(boxList);
+
+                    //鎻愪氦浜嬪姟
+                    Db.CommitTran();
+                }
+                catch (Exception ex)
+                {
+                    //鍥炴粴浜嬪姟
+                    Db.RollbackTran();
+                    throw new Exception("鎻掑叆绠辩爜澶辫触锛�" + ex.Message);
+                }
+                
+                string sqlString = $@"SELECT 
+                                        ASNNo,
+                                        BoxNo, 
+                                        SkuNo,
+                                        SkuName, 
+                                        LotNo,
+                                        BitBoxMark,
+                                        SUM(Qty) as Qty 
+                                      FROM BllBoxInfo 
+                                      WHERE IsDel = '0' 
+                                        AND Status='0'  
+                                        AND BoxNo = '{boxno}'
+                                      GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+
+                var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); 
+
+                if (models.Count == 0)
+                {
+                    throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
+                }
+                return models;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
         }
 
         /// <summary>

--
Gitblit v1.8.0