From 1077114c34b6f1a927ba1610a1b430f1d2fc4e65 Mon Sep 17 00:00:00 2001 From: FanLian Date: Wed, 6 Sep 2023 11:30:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4Modify?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WmsPDAScanInStockService.cs | 65 ------------------- 1 file changed, 65 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs index ee06ed67..11e7004a 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs @@ -238,70 +238,5 @@ namespace Tnb.WarehouseMgr } return Task.FromResult(true); } - - public override async Task ModifyAsync(WareHouseUpInput input) - { - if (input == null) throw new ArgumentNullException(nameof(input)); - //更具distaskCode的barcode 更新 instockcode 的 is_end 为 1 - try - { - await _db.Ado.BeginTranAsync(); - - if (input.distaskCodes?.Count > 0) - { - var barCodes = input.distaskCodes.Select(x => x.barcode); - await _db.Updateable().SetColumns(it => new WmsInstockCode { is_end = 1 }).Where(it => barCodes.Contains(it.barcode)).ExecuteCommandAsync(); - var instockCodes = await _db.Queryable().Where(it => barCodes.Contains(it.barcode)).Select(it => new - { - id = it.bill_d_id, - barcode_qty = it.codeqty, - }).ToListAsync(); - var dic = instockCodes.GroupBy(g => g.id).ToDictionary(x => x.Key, x => x.Select(d => d.barcode_qty).ToList()); - var ids = instockCodes.Select(it => it.id).ToList(); - var instockDetails = await _db.Queryable().Where(it => ids.Contains(it.id)).ToListAsync(); - - foreach (var item in instockDetails) - { - if (dic.ContainsKey(item.id)) - { - item.qty += dic[item.id].Sum(x => x); - if (item.qty >= item.pr_qty) - { - item.line_status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID; - } - } - } - await _db.Updateable(instockDetails).ExecuteCommandAsync(); - var instock = await _db.Queryable().SingleAsync(it => it.id == input.requireId); - if (instock.IsNull()) ArgumentNullException.ThrowIfNull(nameof(instock)); - if (instock.sync_status != WmsWareHouseConst.SYNC_STATUS_NONEEDSYNC) - { - //如果是自动单据,需要回更上层系统 - Dictionary pars = new() { { nameof(WmsInstockH.source_id), instock?.source_id ?? string.Empty } }; - var callBackRes = await _prdInstockService.SyncInstock(pars); - instock!.sync_status = callBackRes == true ? WmsWareHouseConst.SYNC_STATUS__SYNCCOMPLETE : WmsWareHouseConst.SYNC_STATUS__SYNCFAILED; - await _db.Updateable(instock).UpdateColumns(it => it.sync_status).ExecuteCommandAsync(); - } - var allInstockDetails = await _db.Queryable().Where(it => it.bill_id == input.requireId).ToListAsync(); - if (allInstockDetails.All(x => x.line_status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) - { - instock.status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID; - } - else - { - //任务没有结束,更新状态为工作中 - instock.status = WmsWareHouseConst.BILLSTATUS_ON_ID; - } - await _db.Updateable(instock).UpdateColumns(it => it.status).ExecuteCommandAsync(); - } - - await _db.Ado.CommitTranAsync(); - } - catch (Exception) - { - await _db.Ado.RollbackTranAsync(); - throw; - } - } } }