From 0b3cbbee78cf76cc2f5cbd5d5f88b869fb29e537 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 19 三月 2025 01:19:43 +0800 Subject: [PATCH] Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/Server/TigerApi6_2024 --- Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 46 insertions(+), 12 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 981f686..cc3e82b 100644 --- a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs +++ b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs @@ -11,7 +11,7 @@ using Tiger.IBusiness; using Tiger.Model.Sharetronic.Shelf; using Tiger.Business.WMS.Sharetronic.Shelf; -using static IronPython.Modules._ast; +using Tiger.Model.Entitys.MES.U9C; namespace Tiger.Business.WMS.Transaction { @@ -22,7 +22,7 @@ { public IIn_BIZ_U9_RECEIPT Init(string id, string userCode, string apiHost, string orgCode) { - base.Init(id, apiHost, userCode, orgCode); + base.Init(id, userCode, apiHost, orgCode); Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]"); return this; } @@ -124,12 +124,12 @@ action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.ReceiptDtlStatusException", receiptDtl.LINE_NO, receiptDtl.STATUS.GetEnumDesc<BIZ_U9_RECEIPT.STATUSs>()); return action; } - var receiptSn = receipt.SnList.First(q => q.SN == CurInvItem.SN); - if (receiptSn.STATUS != WMS_ITEM.STATUSs.WaitIn.GetValue()) + var receiptSn = receipt.SnList.Where(q => CurInvItem.Items.Any(i => i.SN == q.SN)).ToList(); + if (receiptSn.Any(q => q.STATUS != WMS_ITEM.STATUSs.WaitIn.GetValue())) { action.IsSuccessed = false; //action.LocaleMsg = Biz.L("鏀惰揣鍗曚腑鏉$爜[{0}]鐘舵�乕{1}]寮傚父锛岃鎵弿姝g‘鐨勬潯鐮�"); - action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.ReceiptSnStatusException", receiptSn.SN, receiptSn.STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()); + action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.ReceiptSnStatusException", CurInvItem.SN, receiptSn.First(q => q.STATUS != WMS_ITEM.STATUSs.WaitIn.GetValue()).STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()); return action; } @@ -190,12 +190,15 @@ //鎵ц涓婃灦鏁版嵁澶勭悊 foreach (var item in CurInvItem.Items) { + item.IS_LOCKED = "Y"; item.SOURCE_CODE = item.TRANS_CODE; item.SOURCE_ORDER = item.TRANS_NO; item.SOURCE_LINE = item.TRANS_LINE; item.TRANS_CODE = nameof(BIZ_U9_RECEIPT); item.TRANS_NO = receipt.ORDER_NO; item.TRANS_LINE = receiptDtl.LINE_NO; + item.PROD_DATE = item.PROD_DATE < new DateTime(2000, 1, 1) ? DateTime.Now : item.PROD_DATE; + item.FIRST_IN_DATE = item.FIRST_IN_DATE < new DateTime(2000, 1, 1) ? DateTime.Now : item.FIRST_IN_DATE; } Result putonResult = PutOn(input.AuthOption, nLocation.LOCATION_CODE); if (!putonResult.IsSuccessed) @@ -207,13 +210,36 @@ } //鏇存柊鍗曟嵁淇℃伅 - receiptSn.STATUS = WMS_ITEM.STATUSs.InStore.GetValue(); - receiptSn.IS_IN = "Y"; + foreach(var sn in receiptSn) + { + sn.STATUS = WMS_ITEM.STATUSs.InStore.GetValue(); + sn.IS_IN = "Y"; + } //濡傛灉褰撳墠琛屼笂鏋跺畬鎴愭爣璁颁负寰呭鏍� receiptDtl.QTY_IN = receipt.SnList.Where(q => q.LINE_NO == receiptDtl.LINE_NO).Sum(q => q.QTY); if (receiptDtl.QTY_IN == receiptDtl.QTY) { receiptDtl.STATUS = BIZ_U9_RECEIPT.STATUSs.Review.GetValue(); + //褰撳墠鍗曟嵁鏄庣粏宸茬粡鍏ㄩ儴涓婃灦瀹屾垚锛屽彲浠ヨ皟鐢║9琛屽鎺ュ彛 + var iInput = new SubmitLineInput + { + userId = UserCode, + IsLogin = true, + param = new() + { + RcvLineID = receiptDtl.ID, + RcvDocNo = receiptDtl.ORDER_NO, + DocLineNo = receiptDtl.LINE_NO, + OrgCode = receiptDtl.AUTH_ORG, + } + }; + var result = await DI.Resolve<IWMS_U9C>().ReceivementApproveLine(iInput); + if (!result.IsSuccessed) + { + action.IsSuccessed = false; + action.LocaleMsg = result.LocaleMsg; + return action; + } } else { @@ -236,9 +262,9 @@ //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄 var db = GetCommitDB(); //鏁版嵁淇濆瓨閫昏緫 - db.Storageable(receipt, UserCode).ExecuteCommand(); - db.Storageable(receiptDtl, UserCode).ExecuteCommand(); - db.Storageable(receiptSn, UserCode).ExecuteCommand(); + db.Updateable(receipt, UserCode).UpdateColumns(q => new { q.STATUS, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); + db.Updateable(receiptDtl, UserCode).UpdateColumns(q => new { q.STATUS, q.QTY_IN, 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(); }); //瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁 @@ -374,7 +400,7 @@ action.LocaleMsg = Biz.L("WMS.Default.ScanItem.PutOnSucceeded", CurInvItem.SN, CurInvItem.Location.LOCATION_CODE); //閲嶇疆宸ュ簭 - ResetScan(); + ResetScanInfo(); return action; } @@ -386,9 +412,17 @@ public override void ResetScan() { base.ResetScan(); + ResetScanInfo(); + CurScanShelf = null; + } + + /// <summary> + /// 閲嶇疆鎵爜淇℃伅 + /// </summary> + public void ResetScanInfo() + { Command = null; CurInvItem = null; - CurScanShelf = null; } public override bool Close(bool needSaveHistoryLog = false) -- Gitblit v1.9.3