From 74ce2ccbae367b804028fbac431f22865f84427a Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期三, 11 六月 2025 13:55:36 +0800
Subject: [PATCH] 添加空托入库申请接口

---
 Wms/WMS.BLL/HttpServer.cs                     |  292 ++++++++++++++++++++++++++++++++++++++++++++++++
 Wms/WMS.IBLL/IHttpServer.cs                   |   10 +
 Pda/View/AsnSetting/productEnterQuantity.html |    9 +
 Wms/WMS.BLL/Logic/AllotSku.cs                 |    2 
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs       |    3 
 Wms/Model/InterFaceModel/AsnModels.cs         |    3 
 Wms/Wms/Controllers/DownApiController.cs      |   34 +++++
 7 files changed, 350 insertions(+), 3 deletions(-)

diff --git a/Pda/View/AsnSetting/productEnterQuantity.html b/Pda/View/AsnSetting/productEnterQuantity.html
index 4eb6ee8..ed63d72 100644
--- a/Pda/View/AsnSetting/productEnterQuantity.html
+++ b/Pda/View/AsnSetting/productEnterQuantity.html
@@ -1086,14 +1086,21 @@
                             }
                         }
                         asnDetails.forEach(element => {
-                            console.log(element);
+                            console.log(element.SkuNo  );
+                            console.log(  res.data[0].SkuNo);
+                            console.log(element.SkuNo == res.data[0].SkuNo);
+                            console.log(element.LotNo == res.data[0].LotNo); 
 
                             if (element.SkuNo == res.data[0].SkuNo && element.LotNo == res.data[0].LotNo) {
+                                console.log("asdfasdfsadf");
+                                
                                 var sel = 'dd[lay-value=' + element.id + ']';
                                 $('#goodSelect').siblings("div.layui-form-select").find('dl').find(sel).addClass('layui-this');
                                 bl = true;
                             }
                         });
+                        console.log(bl);
+                        
                         if (!bl) {
                             layer.msg("姝ょ鐗╂枡涓嶇鍚堣鍏ュ簱鍗曪紝璇锋牳瀹�!", {
                                 icon: 2,
diff --git a/Wms/Model/InterFaceModel/AsnModels.cs b/Wms/Model/InterFaceModel/AsnModels.cs
index c46db3c..1673222 100644
--- a/Wms/Model/InterFaceModel/AsnModels.cs
+++ b/Wms/Model/InterFaceModel/AsnModels.cs
@@ -78,6 +78,9 @@
         public string HouseNo { get; set; }
         public string RoadwayNo { get; set; }
         public string Ceng { get; set; }
+        public int palletNum { get; set; }
+
+        public string locate { get; set; }
 
     }
 
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 4839936..bdd23ce 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -2642,6 +2642,7 @@
                         throw Oops.Bah("闇�瑕佸灈鏁板ぇ浜庡簱瀛樺灈鏁帮紝璇烽噸鏂拌緭鍏�!");
                     }
                 }
+                stockDetail = new AllotSku().GetDataListOrder(stockDetail);
                 //鑾峰彇搴撳瓨鎬昏〃淇℃伅
                 var stock = await Db.Queryable<DataStock>().FirstAsync(s => s.IsDel == "0" && s.SkuNo == "100099");
                 //楠岃瘉搴撳瓨鎬昏〃鏄惁涓虹┖
@@ -2745,7 +2746,7 @@
                         Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                         Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                         OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                        CreateTime = serverTime, //鍒涘缓鏃堕棿
+                        CreateTime = Db.GetDate(), //鍒涘缓鏃堕棿
                         CreateUser = userId, //鍒涘缓浜�
                         Msg = "Pda绌烘墭浠�" + s.LocatNo + "鍒�" + model.OutMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
                         //FinishDate = serverTime, //瀹屾垚鏃堕棿
diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index e426f1e..4d3a0f6 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -26,6 +26,298 @@
         private static readonly SqlSugarScope Db = DataContext.Db;
         public HttpServer() { }
 
+
+        public OutCommandDto RequestPalletIn(string palletNo, string houseNo, int palletNum, string Strlocate)
+        {
+            return null;
+            //try
+            //{
+            //    #region 鍒ゆ柇
+            //    if (string.IsNullOrEmpty(palletNo)) 
+            //    {
+            //        throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
+            //    }
+            //    if (string.IsNullOrEmpty(houseNo))
+            //    {
+            //        throw new Exception("浠撳簱鍙蜂笉鑳戒负绌�");
+            //    }
+            //    if (palletNum <= 0)
+            //    {
+            //        throw new Exception("鎵樼洏鏁伴噺涓嶈兘灏忕瓑0");
+            //    }
+            //    if (string.IsNullOrEmpty(Strlocate))
+            //    {
+            //        throw new Exception("璧峰浣嶇疆涓嶈兘涓虹┖");
+            //    }
+            //    //鑾峰彇鍌ㄤ綅淇℃伅
+            //    var locateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.WareHouseNo == houseNo && m.LocatNo == Strlocate);
+            //    if (locateInfo == null)
+            //    {
+            //        throw new Exception("鏈煡璇㈠埌绌哄偍浣�");
+            //    }
+            //    if (locateInfo.Flag != "0")
+            //    {
+            //        throw new Exception("褰撳墠浣嶇疆鏍囪瘑鐘舵�佹槸闈炴甯哥殑");
+            //    }
+
+            //    #endregion
+
+            //    #region MyRegion
+
+            //    var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
+            //    if (stockDetail.Count > 0)
+            //    {
+            //        throw new Exception("褰撳墠鎵樼洏鍦ㄥ簱鍐呭凡鏈夊簱瀛樹俊鎭紝璇锋牳瀹�");
+            //    }
+
+            //    //鑾峰彇鎵樼洏淇℃伅
+            //    var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+            //    if (pallet == null)
+            //    {
+            //        throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅");
+            //    }
+            //    if (pallet.Status != "0")
+            //    {
+            //        throw new Exception("鎵樼洏鐘舵�佷笉鑳芥湭浣跨敤鐘舵��");
+            //    }
+            //    //鑾峰彇鎵樼洏淇℃伅
+            //    var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
+            //    var pNum = 0;
+            //    var bNum = 0;
+
+            //    new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
+
+            //    var datetime = Db.GetDate();
+            //    Db.BeginTran();
+
+            //    // 鎻掑叆鎵樼洏缁戝畾琛�
+            //    var modelpb = new BllPalletBind
+            //    {
+            //        ASNNo = "",
+            //        ASNDetailNo = 0,
+            //        TaskNo = "", //浠诲姟鍙�
+            //        PalletNo = palletNo,
+            //        Qty = palletNum,
+            //        FullQty = pNum,
+            //        Status = "3", //涓婃灦瀹屾垚
+            //        Type = "1", //0 鐗╂枡鎵� 1 绌烘墭
+            //        LotNo = "",
+            //        LotText = "",
+            //        SupplierLot = "",
+            //        InspectMark = "0", //0 鍚� 1 鏄�
+            //        BitPalletMark = pNum == palletNum ? "0" : "1",
+            //        IsBale = "0",
+            //        IsBelt = "0",
+            //        CreateUser = 0,
+            //        CreateTime = Db.GetDate()
+            //    };
+            //    var id = Db.Insertable(modelpb).ExecuteReturnIdentity();
+                 
+            //    #region 搴撳瓨鏄庣粏
+            //    var sd1 = new DataStockDetail()
+            //    {
+            //        LotNo = modelpb.LotNo,
+            //        LotText = modelpb.LotText,
+            //        SupplierLot = modelpb.SupplierLot,
+            //        SkuNo = sku.SkuNo,
+            //        SkuName = sku.SkuName,
+            //        Standard = sku.Standard,
+            //        Qty = modelpb.Qty,
+            //        LockQty = 0,
+            //        FrozenQty = 0,
+            //        InspectQty = 0,
+            //        ASNNo = modelpb.ASNNo,
+            //        ASNDetailNo = modelpb.ASNDetailNo,
+            //        WareHouseNo = "",
+            //        RoadwayNo = "",
+            //        AreaNo = "",
+            //        LocatNo = "",
+            //        PalletNo = modelpb.PalletNo,
+            //        PalletNo2 = modelpb.PalletNo2,
+            //        PalletNo3 = modelpb.PalletNo3,
+            //        PalletTags = "0",
+            //        CompleteTime = datetime,
+            //        ProductionTime = modelpb.ProductionTime,
+            //        ExpirationTime = modelpb.ExpirationTime,
+            //        Status = "0",
+            //        InspectMark = modelpb.InspectMark,
+            //        InspectStatus = sku.IsInspect,
+            //        BitPalletMark = modelpb.BitPalletMark,
+            //        PackagNo = sku.PackagNo,
+            //        IsBale = modelpb.IsBale,
+            //        IsBelt = modelpb.IsBelt,
+
+
+            //        IsDel = "0",
+            //        CreateUser = 0,
+            //        CreateTime = datetime
+            //    };
+            //    var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
+            //    #endregion
+
+            //    #region 搴撳瓨 
+            //    var dataStock1 = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo);
+            //    if (dataStock1 != null)
+            //    {
+            //        dataStock1.Qty += modelpb.Qty;
+            //        if (modelpb.InspectMark == "1")
+            //        {
+            //            dataStock1.IsSampling = "0";
+            //        }
+            //        Db.Updateable(dataStock1).ExecuteCommand();
+            //    }
+            //    else
+            //    {
+            //        var stock = new DataStock()
+            //        {
+            //            SkuNo = sku.SkuNo,
+            //            SkuName = sku.SkuName,
+            //            Standard = sku.Standard,
+            //            LotNo = "",
+            //            LotText = "",
+            //            Qty = modelpb.Qty,
+            //            LockQty = 0,
+            //            FrozenQty = 0,
+            //            IsSampling = "0",
+            //            IsDel = "0",
+            //            CreateUser = 0,
+            //            CreateTime = datetime
+            //        };
+            //        Db.Insertable(stock).ExecuteCommand();
+            //    }
+            //    #endregion
+
+
+            //    #region 鐢宠鍌ㄤ綅
+
+            //    SysStorageLocat locate;
+            //    var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
+            //    if (sku == null)
+            //    {
+            //        throw new Exception("鐗╂枡淇℃伅涓湭鏌ヨ鍒板叆搴撳崟鏄庣粏鍖呭惈鐨勭墿鏂欎俊鎭紝涓嶅彲鍏ュ簱");
+            //    }
+            //    //鍒ゆ柇鐗╂枡鏄惁鍚湁绫诲埆淇℃伅
+            //    if (string.IsNullOrWhiteSpace(sku.CategoryNo))
+            //    {
+            //        throw new Exception($"鐗╂枡锛歿sku.SkuNo}鏈煡璇㈠埌绫诲埆淇℃伅");
+            //    }
+
+            //    var skuCategory = skuCategoryList.FirstOrDefault(m => m.CategoryNo == sku.CategoryNo);
+            //    if (skuCategory == null)
+            //    {
+            //        throw new Exception($"鏈湪绫诲埆淇℃伅涓煡璇㈠埌鐗╂枡锛歿sku.SkuNo}鍖呭惈鐨勭被鍒�");
+            //    }
+
+            //    var areaStr = skuCategory.AreaNo.Split(",");
+            //    var areaList = new List<string>();
+            //    foreach (var item in areaStr)
+            //    {
+            //        areaList.Add(item);
+            //    }
+
+            //    locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", ceng);
+
+
+            //    #endregion
+
+            //    #region 娣诲姞浠诲姟
+
+            //    //娣诲姞宸烽亾浣跨敤璁板綍
+            //    var log = new SysRoadwayUseLog
+            //    {
+            //        RoadwayNo = locateInfo.RoadwayNo,
+            //        WareHouseNo = houseNo,
+            //        Row = 0,
+            //        Column = 0,
+            //        Layer = 0,
+            //    };
+            //    Db.Insertable(log).ExecuteCommand();
+            //    var taskNo = new Common().GetMaxNo("TK");
+            //    var inTask = new LogTask    //鍏ュ簱浠诲姟
+            //    {
+            //        TaskNo = taskNo,
+            //        Sender = "WMS",
+            //        Receiver = "WCS",
+            //        IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+            //        SendDate = DateTime.Now,  //鍙戦�佹椂闂�
+            //        BackDate = DateTime.Now,  //杩斿洖鏃堕棿
+            //        StartRoadway = "",            // 璧峰宸烽亾
+            //        StartLocat = locate,//璧峰浣嶇疆
+            //        EndLocat = locateInfo.LocatNo,//鐩爣浣嶇疆
+            //        EndRoadway = locateInfo.RoadwayNo,  // 鐩爣宸烽亾
+            //        PalletNo = palletNo,//鎵樼洏鐮�
+            //        IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+            //        IsCancel = 1,//鏄惁鍙彇娑�
+            //        IsFinish = 1,//鏄惁鍙畬鎴�
+            //        Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
+            //        Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+            //        OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
+            //        Msg = $"{locateInfo.LocatNo}鍒�=>>" +  + "鐨勫叆搴撲换鍔�", //鍏抽敭淇℃伅
+
+            //    };
+            //    Db.Insertable(inTask).ExecuteCommand();
+            //    var asnNo = "";
+                
+            //    //娣诲姞鎵樼洏涓婃灦璁板綍
+            //    var upShelf = new BllPalletUpShelf()
+            //    {
+            //        TaskNo = inTask.TaskNo,
+            //        TraceNo = asnNo,
+            //        PalletNo = palletNo,
+            //        SkuNo = stockModel.SkuNo,
+            //        SkuName = stockModel.SkuName,
+            //        LotNo = stockModel.LotNo,
+            //        Status = "1",
+
+            //        WareHouseNo = houseNo,
+            //        RoadwayNo = locate.RoadwayNo,
+            //        AreaNo = locate.AreaNo,
+            //        LocatNo = locate.LocatNo,
+
+            //        CreateUser = 0,
+            //    };
+            //    Db.Insertable(upShelf).ExecuteCommand();
+              
+
+
+            //    locate.Status = "2";
+            //    Db.Updateable(locate).ExecuteCommand();
+
+            //    Db.CommitTran();
+            //    comDto = new OutCommandDto()
+            //    {
+            //        TaskNo = taskNo, // 浠诲姟鍙�
+            //        TaskType = "0",// 浠诲姟绫诲瀷
+            //        PalletNo = palletNo,//鎵樼洏鍙�
+
+            //        StartRoadway = inTask.StartRoadway,
+            //        StartLocate = inTask.StartLocat, // 璧峰浣嶇疆
+            //        EndLocate = inTask.EndLocat, // 鐩爣浣嶇疆 
+            //        EndRoadway = inTask.EndRoadway,   // 鐩爣宸烽亾
+
+            //        Order = 999,
+            //        Type = PLCTypeEnum.AGV
+            //    };
+
+            //    #endregion
+
+            //    // 鏇存敼鎵樼洏浣跨敤鐘舵��
+            //    string sqlStr = string.Empty;
+            //    sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
+            //    Db.Ado.ExecuteCommand(sqlStr);
+            //    Db.CommitTran();
+                  
+            //    #endregion
+
+            //    return null;
+            //}
+            //catch (Exception e )
+            //{
+            //    throw new Exception(e.Message);
+            //}
+        }
+
+
         /// <summary>
         /// 鐢宠鍌ㄤ綅  锛堢珛浣撳簱锛�
         /// </summary>
diff --git a/Wms/WMS.BLL/Logic/AllotSku.cs b/Wms/WMS.BLL/Logic/AllotSku.cs
index a780b7a..b4be3d2 100644
--- a/Wms/WMS.BLL/Logic/AllotSku.cs
+++ b/Wms/WMS.BLL/Logic/AllotSku.cs
@@ -237,7 +237,7 @@
         /// </summary>
         /// <param name="palletList"></param>
         /// <returns></returns>
-        private List<DataStockDetail> GetDataListOrder(List<DataStockDetail> palletList)
+        public List<DataStockDetail> GetDataListOrder(List<DataStockDetail> palletList)
         {
             try
             {
diff --git a/Wms/WMS.IBLL/IHttpServer.cs b/Wms/WMS.IBLL/IHttpServer.cs
index 748ec82..d99d8df 100644
--- a/Wms/WMS.IBLL/IHttpServer.cs
+++ b/Wms/WMS.IBLL/IHttpServer.cs
@@ -11,6 +11,16 @@
         #region WCS
 
         /// <summary>
+        /// 绌烘墭璺虹粍鎵樺叆搴�
+        /// </summary>
+        /// <param name="palletNo">鎵樼洏鍙�</param>
+        /// <param name="houseNo">浠撳簱</param>
+        /// <param name="palletNum">鎵樼洏鏁伴噺</param>
+        /// <param name="locate">璧峰浣嶇疆</param>
+        /// <returns></returns>
+        OutCommandDto RequestPalletIn(string palletNo, string houseNo, int palletNum, string Strlocate);
+
+        /// <summary>
         /// 鐢宠鍌ㄤ綅  锛堢珛浣撳簱锛�
         /// </summary>
         /// <param name="palletNo"></param>
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index e9f10fe..1a8c847 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -329,6 +329,40 @@
         #region WMS鎺ュ彛 琚笅娓哥郴缁熸帴鍙h皟鐢�
 
         /// <summary>
+        /// WCS鐢宠绌烘墭璺虹粍鎵樺叆搴� 锛堝彔鎵樼洏鏈猴級
+        /// </summary>
+        /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult RequestPalletIn(RequestLocate model)
+        {
+            var logStr = "";
+
+            logStr = $@".\log\WCS\WCS鐢宠绌烘墭璺虹粍鎵樺叆搴�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+
+            try
+            {
+
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴擄細( {jsonData} ),", logStr);
+
+                var list = _http.RequestPalletIn(model.PalletNo, model.HouseNo, model.palletNum,model.locate);
+
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+                return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+
+        /// <summary>
         /// PDA 浜哄伐鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛�
         /// </summary>
         /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>

--
Gitblit v1.8.0