From 5ce969ed34e91c931cce38e2feb5d2c208633a96 Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期日, 03 十一月 2024 18:34:53 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |  102 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 83 insertions(+), 19 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 47e501b..93d6ac8 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -24,6 +24,7 @@
 using System.IO;
 using System.Security.Cryptography.X509Certificates;
 using System.Net.WebSockets;
+using WMS.BLL.SysServer;
 
 namespace WMS.BLL.BllPdaServer
 {
@@ -1794,7 +1795,7 @@
 
         #region 浜у搧缁勬墭
 
-        public void GetBoxInfoByFuMa(string boxNo,string url)
+        public void GetBoxInfoByFuMa(string boxNo,string url,string fuMaTokenUrl,string levelType)
         {
             try
             {
@@ -1865,23 +1866,86 @@
                 #endregion
 
                 #region 姝e紡鐗堟湰
+                var token = new Token().GetFuMaToken(fuMaTokenUrl);
+                var getParentVal = levelType == "1" ? "true" : "false";
+                var getChildrenVal = levelType == "3" ? "true" : "false";
+                Dictionary<string, string> paramDic = new Dictionary<string, string>
+                {
+                    { "Token", token }, //鍒嗛厤鐨勪护鐗岋紙鍙橀噺锛�
+                    { "Barcode", boxNo },//瑕佹煡璇㈢殑鏉$爜
+                    { "getParent", getParentVal },//鏄惁鏌ヨ鐖剁爜
+                    { "getChildren", getChildrenVal } //鏄惁鏌ヨ瀛愮爜
+                };
 
+                //绋嬪簭姝e紡鍙戝竷鍚庢斁寮�
+                var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                var response = HttpHelper.DoGet(url, "璧嬬爜", "鑾峰彇绠辩爜淇℃伅", paramDic);
+                var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
-                ////绋嬪簭姝e紡鍙戝竷鍚庢斁寮�
-                //var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                //var response = HttpHelper.DoPost(url, jsonData, "鑾峰彇绠辩爜淇℃伅", "璧嬬爜");
-                //var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+                //瑙f瀽杩斿洖鏁版嵁 
+                var fuMaModel = JsonConvert.DeserializeObject<FuMaGetBoxModel>(response);
+                if (fuMaModel.IsSuccess)
+                {
+                    //璧嬬爜杩斿洖淇℃伅鎴愬姛鐘舵��
+                    if (fuMaModel.Product == null || fuMaModel.Barcodes.Count == 0)
+                    {
+                        throw new Exception("浜у搧淇℃伅鎴栫鏀俊鎭负绌�");
+                    }
 
-                ////瑙f瀽杩斿洖鏁版嵁 
-                //var fuMaModel = JsonConvert.DeserializeObject<FuMaModel>(response);
-                //if (fuMaModel.Success == 0)
-                //{
+                    foreach (var item in fuMaModel.Barcodes)
+                    {
+                        if (item.Barcode != boxNo)
+                        {
+                            throw new Exception("鑾峰彇淇℃伅涓嶄竴鑷�");
+                        }
 
-                //}
-                //if (fuMaModel.Success == -1)
-                //{
-                //    throw new Exception($"璧嬬爜绯荤粺杩斿洖鐘舵�佸紓甯革細{fuMaModel.Message}");
-                //}
+                        var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == fuMaModel.Product.ProductCode);
+                        if (sku == null)
+                        {
+                            throw new Exception("鏈煡璇㈠埌绠辩爜涓殑鐗╂枡淇℃伅");
+                        }
+                        var boxInfo = new BllBoxInfo()
+                        {
+                            ASNNo = "",
+                            //ASNDetailNo = 0,
+                            OrderCode = "",
+                            //BindNo = 0,
+                            BoxNo = item.Barcode,
+                            BoxNo2 = item.Barcode,
+                            BoxNo3 = item.Barcode,
+                            PalletNo = "",
+                            Qty = item.BoxItemQty,
+                            FullQty = fuMaModel.BoxItemQty,
+                            Status = "0",
+                            SkuNo = sku.SkuNo,
+                            SkuName = sku.SkuName,
+                            LotNo = item.BatchNo,
+                            //LotText = "",
+                            //SupplierLot = item.SupplierLot,
+                            ProductionTime = DateTime.Parse(item.ProductionDate),
+                            ExpirationTime = DateTime.Parse(item.ExpirationDate),
+                            //CompleteTime = comTime,
+                            InspectMark = "0",
+                            BitBoxMark = item.Status == "闆剁"? "1":"0",
+                            InspectStatus = "0",
+                            Origin = "璧嬬爜",
+                            Standard = fuMaModel.Product.Spec,
+                            PackageStandard = fuMaModel.Product.PackageSpec,
+                            //StoreTime = item.StoreTime,
+                            //QtyOrd = item.QtyOrd,
+                            //QtyCount = item.QtyCount,
+                            CreateUser = 0,
+                            CreateTime = comTime,
+                        };
+                        list.Add(boxInfo);
+                    }
+                    Db.Insertable(list).ExecuteCommand();
+                }
+                else
+                {
+                    //璧嬬爜杩斿洖淇℃伅澶辫触鐘舵��
+                    throw new Exception($"璧嬬爜绯荤粺杩斿洖鐘舵�佸紓甯革細{fuMaModel.Message}");
+                }
                 #endregion
 
             }
@@ -1896,7 +1960,7 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model)
+        public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model, string url, string fuMaTokenUrl)
         {
             try
             {
@@ -1916,7 +1980,7 @@
                             var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo);
                             if (count == 0)
                             {
-                                GetBoxInfoByFuMa(model.BoxNo, ""); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
+                                GetBoxInfoByFuMa(model.BoxNo, url, fuMaTokenUrl,"1"); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
                             }
                         }
                     }
@@ -1953,7 +2017,7 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model)
+        public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model, string url, string fuMaTokenUrl)
         {
             try
             {
@@ -2019,8 +2083,8 @@
                                 }
                                 else
                                 {
-                                   // GetBoxInfoByFuMa(model.BoxNo3, ""); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
-                                }                          
+                                    GetBoxInfoByFuMa(model.BoxNo3, url, fuMaTokenUrl,"3"); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
+                                }
                             }
                         }
                     }

--
Gitblit v1.8.0