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