From 716b29fea5945ca7dc4419d9f1f980c379312b32 Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期四, 24 十月 2024 18:46:48 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |  205 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 174 insertions(+), 31 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index b3d758e..47e501b 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -23,6 +23,7 @@
 using System.Reflection;
 using System.IO;
 using System.Security.Cryptography.X509Certificates;
+using System.Net.WebSockets;
 
 namespace WMS.BLL.BllPdaServer
 {
@@ -208,6 +209,8 @@
 
                 if (modelList.Count > 0)
                 {
+                    var notice = Db.Queryable<BllArrivalNotice>().First(m=>m.IsDel == "0" && m.ASNNo == modelList[0].ASNNo);
+                    modelList[0].UDF5 = notice.Demo;
                     return modelList[0];
                 }
 
@@ -1903,15 +1906,21 @@
                 }
                 if (!string.IsNullOrWhiteSpace(model.ASNNo))
                 {
-                    var asnData = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo);
-                    if (asnData != null && (asnData.Type == "0" || asnData.Type == "3"))
+                    var detailId = model.ASNNo.Split("-")[0];
+                    var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m=>m.IsDel =="0" && m.Id == int.Parse(detailId));
+                    if (detail != null)
                     {
-                        var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo);
-                        if (count == 0)
+                        var asnData = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == detail.ASNNo);
+                        if (asnData != null && (asnData.Type == "0" || asnData.Type == "3"))
                         {
-                            GetBoxInfoByFuMa(model.BoxNo, ""); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
+                            var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo);
+                            if (count == 0)
+                            {
+                                GetBoxInfoByFuMa(model.BoxNo, ""); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
+                            }
                         }
                     }
+                    
 
                 }
                 string sqlString = $@"SELECT 
@@ -1938,6 +1947,111 @@
                 throw ex;
             }
         }
+
+        /// <summary>
+        /// 鏍规嵁绠辩爜鑾峰彇鏍囩鏈�灏忚拷婧爜淇℃伅
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model)
+        {
+            try
+            {
+                if (string.IsNullOrEmpty(model.BoxNo3))
+                {
+                    throw new Exception("璇锋壂鎻忔渶灏忚拷婧潯鐮�!");
+                }
+                if (!string.IsNullOrWhiteSpace(model.ASNNo))
+                {
+                    var detailId = model.ASNNo.Split("-")[0];
+                    var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == int.Parse(detailId));
+                    if (detail != null)
+                    {
+                        var asnData = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == detail.ASNNo);
+                        if (asnData != null)
+                        {
+                            if (asnData.Type != "3")
+                            {
+                                throw new Exception("鍗曟嵁璇烽�夋嫨閫�璐у叆搴撳崟!");
+                            }
+                            var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo3 == model.BoxNo3);
+                            if (count == 0)
+                            {
+                                //浼樺厛WMS鏌ユ壘
+                                
+                                var comDetail = Db.Queryable<BllBoxInfo>().First(m=>m.BoxNo3 == model.BoxNo3 && m.IsDel =="0" && m.Status =="2");
+                                if (comDetail!= null)
+                                {
+                                    var boxInfo = new BllBoxInfo()
+                                    {
+                                        ASNNo = "",
+                                        //ASNDetailNo = 0,
+                                        OrderCode = "",
+                                        //BindNo = 0,
+                                        BoxNo = comDetail.BoxNo,
+                                        BoxNo2 = comDetail.BoxNo2,
+                                        BoxNo3 = comDetail.BoxNo3,
+                                        PalletNo = "",
+                                        Qty = comDetail.Qty,
+                                        FullQty = comDetail.FullQty,
+                                        Status = "0",
+                                        SkuNo = comDetail.SkuNo,
+                                        SkuName = comDetail.SkuName,
+                                        LotNo = comDetail.LotNo,
+                                        LotText = comDetail.LotText,
+                                        SupplierLot = comDetail.SupplierLot,
+                                        ProductionTime = comDetail.ProductionTime,
+                                        ExpirationTime = comDetail.ExpirationTime,
+                                        //CompleteTime = comTime,
+                                        InspectMark = comDetail.InspectMark,
+                                        BitBoxMark = "1",
+                                        InspectStatus = comDetail.InspectStatus,
+                                        Origin = "璧嬬爜",
+                                        Standard = comDetail.Standard,
+                                        PackageStandard = comDetail.PackageStandard,
+                                        StoreTime = comDetail.StoreTime,
+                                        QtyOrd = comDetail.QtyOrd,
+                                        QtyCount = comDetail.QtyCount,
+                                        CreateUser = 0,
+                                        CreateTime = DateTime.Now,
+                                    };
+                                    Db.Insertable(boxInfo).ExecuteCommand();
+                                }
+                                else
+                                {
+                                   // GetBoxInfoByFuMa(model.BoxNo3, ""); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
+                                }                          
+                            }
+                        }
+                    }
+
+
+                }
+                string sqlString = $@"SELECT 
+                                        ASNNo,
+                                        BoxNo, 
+                                        SkuNo,
+                                        SkuName, 
+                                        LotNo, 
+                                        SUM(Qty) as Qty 
+                                      FROM BllBoxInfo 
+                                      WHERE IsDel = '0' 
+                                        AND Status='0'  
+                                        AND BoxNo3 = '{model.BoxNo3}'
+                                      GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo; ";
+                var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
+                if (models.Count == 0)
+                {
+                    throw new Exception("鏈�灏忚拷婧爜淇℃伅涓嶅瓨鍦�!");
+                }
+                return models;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
         // 鏍规嵁鍗曟嵁鍙疯幏鍙栧崟鎹槑缁嗗垪琛�
         public List<ArrivalNoticeDetailDto> GetBindArrivalNoticeDetails(ArrivalNoticeVm model)
         {
@@ -2090,19 +2204,35 @@
                 //鍒ゆ柇鐗╂枡鏁伴噺鏄惁涓�0 涓�0鍒ゆ柇绠辩爜淇℃伅 涓嶄负0缁х画
                 if (model.TableType == 0)
                 {
-                    if (string.IsNullOrEmpty(model.BoxNo))
+                    if (notice.Type != "3")
                     {
-                        throw new Exception("-1:绠辩爜淇℃伅涓嶅彲涓虹┖!");
-                    }
-
-                    if (model.IsContinue == "1")
-                    {
-                        if (string.IsNullOrWhiteSpace(model.TailBoxNo))
+                        if (string.IsNullOrEmpty(model.BoxNo))
                         {
-                            throw new Exception("-1:寮�鍚繛缁粍鎵樻椂锛屽熬绠辩爜淇℃伅涓嶅彲涓虹┖!");
+                            throw new Exception("-1:绠辩爜淇℃伅涓嶅彲涓虹┖!");
                         }
+                        if (model.IsContinue == "1")
+                        {
+                            if (string.IsNullOrWhiteSpace(model.TailBoxNo))
+                            {
+                                throw new Exception("-1:寮�鍚繛缁粍鎵樻椂锛屽熬绠辩爜淇℃伅涓嶅彲涓虹┖!");
+                            }
 
+                        }
                     }
+                    else
+                    {
+                        if (string.IsNullOrEmpty(model.BoxNo01))
+                        {
+                            throw new Exception("-1:杩芥函鐮佷俊鎭笉鍙负绌�!");
+                        }
+                        if (model.IsContinue == "1")
+                        {
+                            throw new Exception("-1:杩芥函鐮佷笉鍙繛缁粍鎵橈紒");
+                        }
+                    }
+
+                    
+                    
                 }
                 int isTextTable = model.TableType;
                 int isDeposit = 0;
@@ -2302,27 +2432,40 @@
                 var boxInfoList = new List<BllBoxInfo>();
                 if (model.SkuQty == 0)
                 {
-                    //棣栫
-                    var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.Status == "0").ToList();
-                    if (boxInfo.Count == 0)
+                    if (notice.Type == "3")
                     {
-                        throw new Exception("-1:绠辩爜淇℃伅涓嶅瓨鍦�!");
-                    }
-                    boxInfoList.AddRange(boxInfo);
-                    //鏄惁杩炵画缁勬墭
-                    if (model.IsContinue == "1")
-                    {
-                        //灏剧
-                        var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.Status == "0").ToList();
-                        if (boxInfo2.Count == 0)
+                        //棣栫
+                        var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo3 == model.BoxNo01 && m.Status == "0").ToList();
+                        if (boxInfo.Count == 0)
                         {
-                            throw new Exception("-1:灏剧鐮佷俊鎭笉瀛樺湪!");
+                            throw new Exception("-1:绠辩爜淇℃伅涓嶅瓨鍦�!");
                         }
-                        boxInfoList.AddRange(boxInfo2);
-                        var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; ";
-                        var list = Db.Ado.SqlQuery<BllBoxInfo>(sql);
-                        boxInfoList.AddRange(list);
-                        msgStr += $"灏剧鍙蜂负{model.TailBoxNo}";
+                        boxInfoList.AddRange(boxInfo);
+                    }
+                    else
+                    {
+                        //棣栫
+                        var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.Status == "0").ToList();
+                        if (boxInfo.Count == 0)
+                        {
+                            throw new Exception("-1:绠辩爜淇℃伅涓嶅瓨鍦�!");
+                        }
+                        boxInfoList.AddRange(boxInfo);
+                        //鏄惁杩炵画缁勬墭
+                        if (model.IsContinue == "1")
+                        {
+                            //灏剧
+                            var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.Status == "0").ToList();
+                            if (boxInfo2.Count == 0)
+                            {
+                                throw new Exception("-1:灏剧鐮佷俊鎭笉瀛樺湪!");
+                            }
+                            boxInfoList.AddRange(boxInfo2);
+                            var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; ";
+                            var list = Db.Ado.SqlQuery<BllBoxInfo>(sql);
+                            boxInfoList.AddRange(list);
+                            msgStr += $"灏剧鍙蜂负{model.TailBoxNo}";
+                        }
                     }
                 }
                 #endregion

--
Gitblit v1.8.0