From ed903443d28d390401904427bd1c1befaade33bb Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期二, 18 三月 2025 10:16:46 +0800 Subject: [PATCH] 优化清点逻辑again --- Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs | 39 +++++++++++++++++++++++---------------- 1 files changed, 23 insertions(+), 16 deletions(-) diff --git a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs index 255dfb3..513b9e3 100644 --- a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs +++ b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs @@ -21,7 +21,7 @@ { public ICount_BIZ_U9_ASN Init(string id, string userCode, string apiHost, string orgCode) { - base.Init(id, apiHost, userCode, orgCode); + base.Init(id, userCode, apiHost, orgCode); //鍔犺浇宸茬粡娓呯偣鏁版嵁 LoadData(); Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]"); @@ -41,8 +41,7 @@ /// </summary> private void LoadData() { - var orders = MainDB.Queryable<BIZ_U9_ASN>().Where(q => ("," + q.RECEIVER + ",").Contains("," + UserCode + ",")).ToList(); - OrderList = orders.Select(q => q.ORDER_NO).ToList(); + OrderList = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.RECEIVER == UserCode && SqlFunc.Subqueryable<BIZ_U9_ASN>().Where(s => s.ORDER_NO == q.ORDER_NO && s.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue()).Any()).Select(q => q.ORDER_NO).ToList(); } /// <summary> /// 鎵弿鍏ュ彛 @@ -139,7 +138,7 @@ { action.IsSuccessed = false; //action.LocaleMsg = Biz.L("鐗╂枡缂栫爜[{0}]涓嶅瓨鍦ㄦ垨鑰呰鐗╂枡鏈惎鐢�"); - action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemCodeNotExistsOrNotActive", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode)); + action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemCodeNotExistsOrNotActive", (inv.ItemInfo?.ITEM_CODE).IsNullOrEmpty(inv.Barcode.ItemCode)); return action; } @@ -155,8 +154,7 @@ AUTH_ORG = input.AuthOption.CurOrg, STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(), QTY = inv.Barcode.Qty.ToDouble(), - PROD_DATE = inv.Barcode.DateCode.ToDateTime(), - ERP_WH = CurScanShelf.WarehouseCode, + PROD_DATE = (inv.Barcode.DateCode?? DateTime.Now.ToString("yyyy-MM-dd")).ToDateTime(), UNIT = inv.Barcode.Unit, }; @@ -166,7 +164,6 @@ AUTH_ORG = input.AuthOption.CurOrg, ITEM_CODE = inv.Barcode.ItemCode, QTY = inv.Barcode.Qty.ToDouble(), - ERP_WH = CurScanShelf.WarehouseCode, UNIT = inv.Barcode.Unit, }; @@ -201,12 +198,12 @@ { foreach (var item in inv.Items) { - item.ERP_WH = CurScanShelf.WarehouseCode; + item.ERP_WH = ""; item.AUTH_ORG = input.AuthOption.CurOrg; } foreach (var item in inv.Packages) { - item.ERP_WH = CurScanShelf.WarehouseCode; + item.ERP_WH = ""; item.AUTH_ORG = input.AuthOption.CurOrg; } } @@ -261,7 +258,9 @@ //鎵ц娓呯偣鏁版嵁澶勭悊 CurSn.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); CurSn.QTY = CurInvItem.Items.Sum(q => q.QTY); - foreach (var item in CurInvItem.Items) + CurSn.RECEIVER = UserCode; + CurSn.RECEIVE_DATE = DateTime.Now; + foreach (var item in CurInvItem.Items) { item.AUTH_ORG = CurSn.AUTH_ORG; item.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); @@ -442,7 +441,7 @@ } /// <summary> - /// 鑾峰彇鏈宸叉竻鐐圭殑鐗╂枡鍒楄〃锛堝甫鍒嗛〉锛� + /// 鑾峰彇鏈宸叉竻鐐圭殑鐗╂枡鍒楄〃 /// </summary> /// <returns></returns> public async Task<PageAble<BIZ_U9_ASN_SN>> GetScannedList() @@ -569,7 +568,8 @@ if (list != null && list.Count > 0) { - receipt.AUTH_ORG = order.AUTH_ORG; + receipt.ID = list.First().RcvId.ToString(); + receipt.AUTH_ORG = order.AUTH_ORG; receipt.STATUS = BIZ_U9_RECEIPT.STATUSs.InQC.GetValue(); receipt.ORDER_NO = list.First().DocNo; receipt.SUPP_CODE = list.First().SupplierCode; @@ -587,6 +587,7 @@ var asnDtl = order.Details.First(q => q.ID == item.SrcASNDocLineId.ToString()); BIZ_U9_RECEIPT_DTL receiptDt = new() { + ID = item.RcvLineId.ToString(), AUTH_ORG = receipt.AUTH_ORG, STATUS = BIZ_U9_RECEIPT.STATUSs.InQC.GetValue(), ORDER_NO = item.DocNo, @@ -641,14 +642,20 @@ item.TRANS_LINE = receipt.SnList.First(q => q.SN == item.SN).LINE_NO; historys.Add(new WMS_ITEM_HIS(item, $"閫佽揣鍗昜{order.ORDER_NO}]鐨勬潯鐮乕{item.SN}]鐢熸垚鏀惰揣鍗昜{receipt.ORDER_NO}]锛屽緟妫�楠屽畬鎴愬悗鍙叆搴�")); } + order.STATUS = BIZ_U9_ASN.STATUSs.Finished.GetValue(); + order.RECEIVER_ID = receipt.ID; + order.RECEIVER_NO = receipt.ORDER_NO; + order.RECEIVER = UserCode; + order.RECEIVE_DATE = DateTime.Now; - //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄 - var db = GetCommitDB(); + //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄 + var db = GetCommitDB(); var dbTran = db.UseTran(() => { - db.Updateable(items, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.TRANS_CODE, q.TRANS_NO, q.TRANS_LINE, q.SOURCE_CODE, q.SOURCE_ORDER, q.SOURCE_LINE }).ExecuteCommandAsync(); + db.Updateable(items, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.TRANS_CODE, q.TRANS_NO, q.TRANS_LINE, q.SOURCE_CODE, q.SOURCE_ORDER, q.SOURCE_LINE }).ExecuteCommand(); db.Insertable(historys, UserCode).ExecuteCommand(); - db.Insertable(receipt, UserCode).ExecuteCommand(); + db.Updateable(order, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.RECEIVER, q.RECEIVE_DATE, q.RECEIVER_ID, q.RECEIVER_NO }).ExecuteCommand(); + db.Insertable(receipt, UserCode).ExecuteCommand(); db.Insertable(receipt.Details, UserCode).ExecuteCommand(); db.Insertable(receipt.SnList, UserCode).ExecuteCommand(); }); -- Gitblit v1.9.3