From 2f0120d0c10ac24603936911ee5812d4e71d2740 Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期二, 03 十二月 2024 15:07:39 +0800
Subject: [PATCH] 叠托机组空托盘跺

---
 Pda/View/AsnSetting/palletEnter.html           |    1 
 Wms/Model/InterFaceModel/SoModel.cs            |    4 +
 Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs       |    3 
 Wms/Model/ModelVm/BllAsnVm/PalletBindVm.cs     |   20 ++++
 Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs        |   33 +++++---
 Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs |   31 ++++---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs       |  117 +++++++++++++++++++++++++++++
 Wms/Wms/Controllers/DownApiController.cs       |   26 ++++++
 8 files changed, 208 insertions(+), 27 deletions(-)

diff --git a/Pda/View/AsnSetting/palletEnter.html b/Pda/View/AsnSetting/palletEnter.html
index b2f65fb..5f4f167 100644
--- a/Pda/View/AsnSetting/palletEnter.html
+++ b/Pda/View/AsnSetting/palletEnter.html
@@ -222,6 +222,7 @@
 				function bind(){
 					var param = {
 						'PalletNo':$("#PalletNo").val(),
+						'BindType':'0',
 						Qty:Number($("#palletNum").val()),
 						actionType:'add'
 					}
diff --git a/Wms/Model/InterFaceModel/SoModel.cs b/Wms/Model/InterFaceModel/SoModel.cs
index de56ed6..557f11a 100644
--- a/Wms/Model/InterFaceModel/SoModel.cs
+++ b/Wms/Model/InterFaceModel/SoModel.cs
@@ -54,6 +54,10 @@
         /// 鏈夋晥鏈熻嚦銆恲yyy-MM-dd
         /// </summary>
         public DateTime? expiry { get; set; }
+        /// <summary>
+        /// 澶栫鍚椼�恠tring(100)/闈炵┖銆�
+        /// </summary>
+        public string no { get; set; }
 
 
     }
diff --git a/Wms/Model/ModelVm/BllAsnVm/PalletBindVm.cs b/Wms/Model/ModelVm/BllAsnVm/PalletBindVm.cs
index a7811f4..a7bcbff 100644
--- a/Wms/Model/ModelVm/BllAsnVm/PalletBindVm.cs
+++ b/Wms/Model/ModelVm/BllAsnVm/PalletBindVm.cs
@@ -165,6 +165,7 @@
         public string Standard { get; set; }
 
         public string PackagNo { get; set; }
+        public string BindType { get; set; }
     }
 
     public class GetOkLocateVm:IndexPage
@@ -193,5 +194,22 @@
         public int LocateId { get; set; }
         
     }
-    
+
+    /// <summary>
+    /// 鍙犳墭鏈烘墭鐩樼粦瀹�
+    /// </summary>
+    public class PalletsBind
+    {
+        /// <summary>
+        /// 鎵樼洏鍙�
+        /// </summary>
+        public string PalletNo { get; set; }
+        /// <summary>
+        /// 鎵樼洏鏁伴噺
+        /// </summary>
+        public int Qty { get; set; }
+        public string BindType { get; set; }
+
+    }
+
 }
diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 53cd28b..1a504ba 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -1383,19 +1383,26 @@
                             throw new Exception("褰撳墠鎵樼洏涓嶆槸鎷兼墭鍑哄簱鎵樼洏");
                         }
                         //璁板綍鎵樼洏涓婁俊鎭粰MES
-
-                        data.Add(new RequertBeiliaoInfoModel()
-                        {
-                            materiel_no = item.SkuNo,
-                            materiel_name = item.SkuName,
-                            qty = item.Qty,
-                            batch = item.LotNo,
-                            producttime = item.ProductionTime,
-                            expiry = item.ExpirationTime
-
-                        });
-                        //搴撳瓨绠辩爜鏄庣粏鍒犻櫎
                         var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList();
+                        if (boxInfo.Count == 0)
+                        {
+                            throw new Exception("鎵樼洏涓婄墿鏂欑鐮佷俊鎭笉瀛樺湪,璇锋鏌�!");
+                        }
+                        foreach (var item2 in boxInfo)
+                        {
+                            data.Add(new RequertBeiliaoInfoModel()
+                            {
+                                no = item2.BoxNo,
+                                materiel_no = item.SkuNo,
+                                materiel_name = item.SkuName,
+                                qty = item.Qty,
+                                batch = item.LotNo,
+                                producttime = item.ProductionTime,
+                                expiry = item.ExpirationTime
+
+                            });
+                        }
+                        //搴撳瓨绠辩爜鏄庣粏鍒犻櫎
                         Db.Deleteable(boxInfo).ExecuteCommand();
                         //鍒犻櫎搴撳瓨鎵樼洏淇℃伅
                         Db.Deleteable(item).ExecuteCommand();
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 93d6ac8..716f754 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -334,6 +334,7 @@
         public string BindNullPallet(PalletBindVm model)
         {
             string strMsg = "";
+            string type = model.BindType == "0" ? "PDA" : "鍙犳墭鏈�";
             try
             {
                 var datetime = Db.GetDate();
@@ -441,7 +442,7 @@
                     LotText = "",
                     SupplierLot = "",
                     InspectStatus = "1",
-                    Origin = "PDA",
+                    Origin = type,
                     BoxNo = "",
                     BoxNo2 = "",
                     BoxNo3 = "",
@@ -472,6 +473,120 @@
             }
         }
 
+        // 鍙犳墭鏈虹粦瀹氱┖鎵樼洏
+        public string BindNullPallets(PalletsBind model)
+        {
+            string strMsg = "";
+            string type = model.BindType == "0" ? "PDA" : "鍙犳墭鏈�";
+            try
+            {
+                var datetime = Db.GetDate();
+
+                //鑾峰彇鎵樼洏缁戝畾淇℃伅
+                string str = "select * from BllPalletBind where IsDel = '0' and PalletNo = @palletno and Status = '0' ";
+                List<PalletBindVm> list = Db.Ado.SqlQuery<PalletBindVm>(str, new
+                {
+                    palletno = model.PalletNo //鎵樼洏鍙�
+                });
+                //鍒ゆ柇鏄惁宸茬粦瀹氳鎵樼洏
+                if (list.Count > 0)
+                {
+                    strMsg = "-1:璇ユ墭鐩樺凡琚粦瀹�!";
+                    return strMsg;
+                }
+                if (string.IsNullOrEmpty(model.PalletNo))
+                {
+                    strMsg = "-1:鎵樼洏鍙蜂笉鍙负绌�!";
+                    return strMsg;
+                }
+                if (model.Qty == null || model.Qty == 0)
+                {
+                    strMsg = "-1:绌烘墭鐩樻暟閲忎笉鍙负绌�!";
+                    return strMsg;
+                }
+                //鑾峰彇鎵樼洏淇℃伅
+                var pallet = Db.Queryable<SysPallets>().First(a => a.IsDel == "0" && a.PalletNo == model.PalletNo);
+
+                if (pallet == null)
+                {
+                    strMsg = "-1:鎵樼洏淇℃伅涓虹┖!";
+                    return strMsg;
+                }
+                if (pallet.Status != "0")
+                {
+                    strMsg = "-1:璇ユ墭鐩樻鍦ㄤ娇鐢�!";
+                    return strMsg;
+                }
+
+                Db.BeginTran();
+
+                // 鎻掑叆鎵樼洏缁戝畾琛�
+                var modelpb = new BllPalletBind
+                {
+                    ASNNo = "",
+                    ASNDetailNo = 0,
+                    TaskNo = "", //浠诲姟鍙�
+                    PalletNo = model.PalletNo,
+                    Qty = (int)model.Qty,
+                    Status = "0", //绛夊緟鎵ц
+                    Type = "1", //0 鐗╂枡鎵� 1 绌烘墭
+                    LotNo = "",
+                    LotText = "",
+                    SupplierLot = "",
+                    InspectMark = "0", //0 鍚� 1 鏄�
+                    BitPalletMark = "0",
+                    IsBale = "0",
+                    IsBelt = "0",
+                    CreateTime = Db.GetDate()
+                };
+                var id = Db.Insertable(modelpb).ExecuteReturnIdentity();
+
+                var modelbb = new BllBoxInfo
+                {
+                    ASNNo = "",
+                    ASNDetailNo = null,
+                    BindNo = id,
+                    PalletNo = model.PalletNo,
+                    Status = "1",
+                    CompleteTime = DateTime.Now,
+                    Qty = (int)model.Qty,
+                    FullQty = null,
+                    SkuNo = "100099",
+                    SkuName = "鎵樼洏",
+                    LotNo = "",
+                    LotText = "",
+                    SupplierLot = "",
+                    InspectStatus = "1",
+                    Origin = type,
+                    BoxNo = "",
+                    BoxNo2 = "",
+                    BoxNo3 = "",
+                    InspectMark = "",
+                    BitBoxMark = "0",
+
+                    CreateTime = datetime
+                };
+                Db.Insertable(modelbb).ExecuteCommand();
+
+
+                // 鏇存敼鎵樼洏浣跨敤鐘舵��
+                string sqlStr = string.Empty;
+                sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{model.PalletNo}';";
+                Db.Ado.ExecuteCommand(sqlStr);
+                Db.CommitTran();
+
+                // 鎻掑叆鎿嶄綔鏃ュ織
+                new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "绌烘墭鍏ュ簱", model.PalletNo, "娣诲姞", $"鍦≒DA涓婃坊鍔犱簡绌烘墭鐩樿泛", 1);
+
+                return strMsg;
+            }
+            catch (Exception ex)
+            {
+                Db.Ado.RollbackTran();
+                throw ex;
+            }
+        }
+
         /// <summary>
         /// 瑙g粦绌烘墭鐩�
         /// </summary>
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index 1583573..62822c6 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -1373,6 +1373,7 @@
                 {
                     throw new Exception("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴,璇锋鏌�!");
                 }
+
                 //璧峰鍌ㄤ綅淇℃伅
                 var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo);
                 if (storageLocat == null)
@@ -1416,20 +1417,26 @@
                         {
                             throw new Exception("褰撳墠鎵樼洏涓嶆槸鎷兼墭鍑哄簱鎵樼洏");
                         }
-                        //璁板綍鎵樼洏涓婁俊鎭粰MES
-
-                        data.Add(new RequertBeiliaoInfoModel()
-                        {
-                            materiel_no = item.SkuNo,
-                            materiel_name = item.SkuName,
-                            qty = item.Qty,
-                            batch = item.LotNo,
-                            producttime = item.ProductionTime,
-                            expiry = item.ExpirationTime
-
-                        });
-                        //搴撳瓨绠辩爜鏄庣粏鍒犻櫎
                         var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList();
+                        if (boxInfo.Count == 0)
+                        {
+                            throw new Exception("鎵樼洏涓婄墿鏂欑鐮佷俊鎭笉瀛樺湪,璇锋鏌�!");
+                        }
+                        //璁板綍鎵樼洏涓婁俊鎭粰MES
+                        foreach (var item2 in boxInfo) { 
+                            data.Add(new RequertBeiliaoInfoModel()
+                            {
+                                no = item2.BoxNo,
+                                materiel_no = item.SkuNo,
+                                materiel_name = item.SkuName,
+                                qty = item.Qty,
+                                batch = item.LotNo,
+                                producttime = item.ProductionTime,
+                                expiry = item.ExpirationTime
+
+                            });
+                        }
+                        //搴撳瓨绠辩爜鏄庣粏鍒犻櫎
                         Db.Deleteable(boxInfo).ExecuteCommand();
                         //鍒犻櫎搴撳瓨鎵樼洏淇℃伅
                         Db.Deleteable(item).ExecuteCommand();
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
index 0fd4033..e10b9cd 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
@@ -41,6 +41,9 @@
         // 缁戝畾绌烘墭鐩�
         string BindNullPallet(PalletBindVm model);
 
+        // 鍙犳墭鏈虹粦瀹氱┖鎵樼洏璺�
+        string BindNullPallets(PalletsBind model);
+
         /// <summary>
         /// 瑙g粦绌烘墭鐩�
         /// </summary>
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index b0fafc1..436b342 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -16,6 +16,7 @@
 using System.Collections.Generic;
 using Model.ModelVm.PdaVm;
 using WMS.IBLL.IPdaServer;
+using Model.ModelVm;
 
 namespace Wms.Controllers
 {
@@ -32,6 +33,7 @@
         private readonly IStockCheckServer _crCheckSvc;//鎵樼洏缁戝畾Svc 
         private readonly ITaskServer _taskSvc;//浠诲姟Svc 
         private readonly IPdaSoServer _pdaSoSvc;//绌烘墭鍑哄簱Svc
+        private readonly IPdaAsnServer _paAsnSvc;//绌烘墭璺虹粦瀹�
 
         public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc)
         {
@@ -538,6 +540,30 @@
         }
 
         /// <summary>
+        /// WCS鐢宠绌烘墭璺虹粦瀹�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult BindPlnInHouseWcs(PalletsBind model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠绌烘墭璺虹粦瀹�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                var strMsg = _paAsnSvc.BindNullPallets(model);
+
+                return Ok(new { Success = 0, Message = "绌烘墭璺虹粦瀹氭垚鍔�", TaskList = strMsg });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粦瀹氬紓甯歌繑鍥烇細( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+        /// <summary>
         /// WCS鐢宠绌烘墭鍑哄簱
         /// </summary>
         /// <param name="model"></param>

--
Gitblit v1.8.0