From 406ac5eb58f06bde155443a34c76fbf187759808 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期二, 18 三月 2025 16:00:05 +0800 Subject: [PATCH] 清点增加分页 --- Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs | 73 ++++++++++++++++++++++-------------- 1 files changed, 45 insertions(+), 28 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 2eaa822..f41ef28 100644 --- a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs +++ b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs @@ -11,6 +11,8 @@ using Tiger.IBusiness; using Tiger.Model.MES.Yada; using Tiger.Model.Entitys.MES.U9C; +using System.Security.Policy; +using Tiger.Model.Entitys.MES.Position; namespace Tiger.Business.WMS.Transaction { @@ -41,8 +43,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 +140,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; } @@ -156,7 +157,6 @@ STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(), QTY = inv.Barcode.Qty.ToDouble(), PROD_DATE = (inv.Barcode.DateCode?? DateTime.Now.ToString("yyyy-MM-dd")).ToDateTime(), - ERP_WH = "", //CurScanShelf.WarehouseCode, UNIT = inv.Barcode.Unit, }; @@ -166,7 +166,6 @@ AUTH_ORG = input.AuthOption.CurOrg, ITEM_CODE = inv.Barcode.ItemCode, QTY = inv.Barcode.Qty.ToDouble(), - ERP_WH = "", //CurScanShelf.WarehouseCode, UNIT = inv.Barcode.Unit, }; @@ -261,7 +260,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(); @@ -350,6 +351,8 @@ foreach (var sn in ScanList) { sn.STATUS = WMS_ITEM.STATUSs.Incoming.GetValue(); + sn.RECEIVER = null; + sn.RECEIVE_DATE = DateTime.MinValue; } var historys = new List<WMS_ITEM_HIS>(); @@ -418,7 +421,9 @@ var dbTran = db.UseTran(() => { db.Updateable<BIZ_U9_ASN_SN>(UserCode).SetColumns(q => q.STATUS == WMS_ITEM.STATUSs.Incoming.GetValue()) - .Where(q => q.SN == input.SN).ExecuteCommand(); + .SetColumns(q => q.RECEIVER == null) + .SetColumns(q => q.RECEIVE_DATE == DateTime.MinValue) + .Where(q => q.SN == input.SN).ExecuteCommand(); db.Updateable(item, UserCode).ExecuteCommand(); db.Insertable(new WMS_ITEM_HIS(item, $"鏉$爜[{item.SN}]鍙栨秷娓呯偣锛屾搷浣滃崟鎹甗{order}]"), UserCode).ExecuteCommand(); }); @@ -445,25 +450,29 @@ /// 鑾峰彇鏈宸叉竻鐐圭殑鐗╂枡鍒楄〃锛堝甫鍒嗛〉锛� /// </summary> /// <returns></returns> - public async Task<PageAble<BIZ_U9_ASN_SN>> GetScannedList() + public async Task<ApiAction<PageAble<BIZ_U9_ASN_SN>>> GetScannedList(BaseInputWithPage input) { - return await Task.FromResult(new PageAble<BIZ_U9_ASN_SN>() - { - data = ScanList, - totals = ScanList.Count(), - }); - } + var action = new ApiAction<PageAble<BIZ_U9_ASN_SN>>(); + action.Data = new PageAble<BIZ_U9_ASN_SN>(); + action.Data.pageSize = input.pageSize; + action.Data.pageIndex = input.pageIndex; + action.Data.totals = ScanList.Count; + action.Data.data = ScanList.Skip((input.pageIndex - 1) * input.pageSize).Take(input.pageSize).ToList(); + //action.Data = query; + return action; + } - /// <summary> - /// 鑾峰彇褰撳墠鎵�鏈夊崟鎹俊鎭� - /// </summary> - /// <returns></returns> - public async Task<List<BIZ_U9_ASN>> GetOrderList() + /// <summary> + /// 鑾峰彇褰撳墠鎵�鏈夊崟鎹俊鎭� + /// </summary> + /// <returns></returns> + public async Task<ApiAction<List<BIZ_U9_ASN>>> GetOrderList() { - var Orders = await Biz.Db.Queryable<BIZ_U9_ASN>().Where(q => OrderList.Contains(q.ORDER_NO)).IncludesAllFirstLayer().ToListAsync(); - if (!Orders.IsNullOrEmpty()) + var action = new ApiAction<List<BIZ_U9_ASN>>(); + action.Data = await Biz.Db.Queryable<BIZ_U9_ASN>().Where(q => OrderList.Contains(q.ORDER_NO)).IncludesAllFirstLayer().ToListAsync(); + if (!action.Data.IsNullOrEmpty()) { - foreach (var order in Orders) + foreach (var order in action.Data) { foreach (var dtl in order.Details) { @@ -472,7 +481,7 @@ } } } - return Orders; + return action; } /// <summary> @@ -569,7 +578,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 +597,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 +652,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