From c6342a8eb6d2c40e9a21deab63b5babb3def3025 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期日, 13 四月 2025 17:14:50 +0800 Subject: [PATCH] 物料扩展表增加字段 上架需要按物料的默认储位进行限制,不允许上架到其他储位 没有默认储位则不限制,需要记录并调用接口反写到U9 --- Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs index 609996a..a034d84 100644 --- a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs +++ b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs @@ -13,6 +13,7 @@ using Tiger.Business.WMS.Sharetronic.Shelf; using Tiger.Model.Entitys.MES.U9C; using Tiger.Model.MES.Yada; +using static IronPython.Modules._ast; namespace Tiger.Business.WMS.Transaction { @@ -106,6 +107,14 @@ action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemCodeNotExistsOrNotActive", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode)); return SetOutPutMqttMsg(action, input.Locale); } + //榛樿鍌ㄤ綅楠岃瘉 + if (!inv.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty() && inv.ItemInfo.DEFAULT_LOCATION != CurScanShelf.LocationCode) + { + action.IsSuccessed = false; + //action.LocaleMsg = Biz.L("鐗╂枡[{0}]鍙厑璁镐笂鏋跺埌鍌ㄤ綅[{0}]锛岃閲嶆柊鎵弿鍌ㄤ綅"); + action.LocaleMsg = Biz.L("WMS.Default.ScanItem.DefaultLocationError", inv.ItemInfo.ITEM_CODE, inv.ItemInfo.DEFAULT_LOCATION); + return SetOutPutMqttMsg(action, input.Locale); + } CurInvItem = inv; } @@ -135,11 +144,21 @@ } //浠嶶9鑾峰彇鏀惰揣鍗曡淇℃伅 var u9Dtl = Biz.DataSource["YadaU9C"].Client.Queryable<mes_ReturnedDocInfo>().Where(x => x.RcvId == receipt.ID.ToDouble() && x.DocLineNo == receiptDtl.LINE_NO.ToDouble() && x.SplitFlag != 1).First(); + //鏀惰揣鍗曠殑鐘舵�佸垽鏂槸鍚﹀凡鎻愪氦IQC瀹℃牳锛屾湭閫氳繃IQC涓嶈兘涓婃灦 + if (!u9Dtl.IsNullOrEmpty() && u9Dtl.Status != 3) + { + action.IsSuccessed = false; + //action.LocaleMsg = Biz.L("鏀惰揣鍗曡鐘舵�乕{0}]寮傚父锛岃鍏堟彁浜QC妫�楠岀粨鏋�"); + action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.U9StatusException", u9Dtl.StatusName); + return SetOutPutMqttMsg(action, input.Locale); + } if (!u9Dtl.IsNullOrEmpty() && u9Dtl.RcvQtyTU != receiptDtl.QTY_OK) { receiptDtl.ID = u9Dtl.RcvLineId.ToString(); receiptDtl.QTY_OK = u9Dtl.RcvQtyTU; receiptDtl.QTY_NG = receiptDtl.QTY - receiptDtl.QTY_OK; + receiptDtl.ERP_STATUS_CODE = u9Dtl.Status.ToString(); + receiptDtl.ERP_STATUS_NAME = u9Dtl.StatusName; } var nLocation = new WMS_LOCATION(); @@ -171,6 +190,7 @@ action.LocaleMsg = Biz.L($"WMS.Default.ScanShelf.ItemAlreadyExistsInLocation", nLocation.LOCATION_CODE, locationData.SN); return SetOutPutMqttMsg(action, input.Locale); } + CurScanShelf.Location = nLocation; CurScanShelf.LocationCode = nLocation.LOCATION_CODE; } else @@ -289,12 +309,18 @@ var db = GetCommitDB(); //鏁版嵁淇濆瓨閫昏緫 db.Updateable(receipt, UserCode).UpdateColumns(q => new { q.STATUS, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); - db.Updateable(receiptDtl, UserCode).UpdateColumns(q => new { q.ID, q.STATUS, q.QTY_IN, q.QTY_OK, q.QTY_NG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); + db.Updateable(receiptDtl, UserCode).UpdateColumns(q => new { q.ID, q.STATUS, q.QTY_IN, q.QTY_OK, q.QTY_NG, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); db.Updateable(receiptSn, UserCode).UpdateColumns(q => new { q.STATUS, q.IS_IN, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); }); //瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁 - action = DoIfFinish(action, input.Locale); + action = DoIfFinish(action, input.Locale, () => { + //璁剧疆褰撳墠鐗╂枡鐨勯粯璁ゅ偍浣� + if (CurInvItem.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty()) + { + SetDefaultLocation(MainDB, CurInvItem.ItemInfo, nLocation); + } + }); } catch (Exception ex) { -- Gitblit v1.9.3