diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs index ff57cc39..126a72ec 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs @@ -151,7 +151,7 @@ namespace Tnb.WarehouseMgr barCode.codeqty = detail.pr_qty!.Value; barCode.unit_id = detail.unit_id; barCode.is_lock = 0; - barCode.is_end = "0"; + barCode.is_end = 0; barCode.require_id = detail.bill_id; barCode.require_code = _dicBillCodes.ContainsKey(detail.bill_id) ? _dicBillCodes[detail.bill_id]?.ToString() : ""; barCode.create_id = _userManager.UserId; @@ -199,6 +199,10 @@ namespace Tnb.WarehouseMgr await _db.Updateable().SetColumns(it => new WmsInstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync(); //如果是自动单据,需要回更上层系统 } + else { + //任务没有结束,更新状态为工作中 + await _db.Updateable().SetColumns(it => new WmsInstockH { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync(); + } } await _db.Ado.CommitTranAsync(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs index 1641dc39..bb11970a 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Aop.Api.Domain; using JNPF.Common.Core.Manager; using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Extension; @@ -337,6 +338,10 @@ namespace Tnb.WarehouseMgr await _db.Updateable().SetColumns(it => new WmsOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync(); //如果是自动单据,需要回更上层系统 } + else { + //如果没有完成,修改为工作中 + await _db.Updateable().SetColumns(it => new WmsOutstockH { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync(); + } await _wareCarryService.UpdateNullCarry(carry); } else if (outStatus == EnumOutStatus.分拣出) @@ -359,6 +364,32 @@ namespace Tnb.WarehouseMgr x.create_time = DateTime.Now; }); await _db.Insertable(osCodes).ExecuteCommandAsync(); + // 更新主表 + var detailIds = osCodes.Select(x => x.bill_d_id).ToList(); + var curOutstockDetails = otds.FindAll(x => detailIds.Contains(x.id)); + var dic = osCodes.GroupBy(g => g.bill_d_id).ToDictionary(x => x.Key, x => x.Select(x => x.codeqty).ToList()); + foreach (var osd in curOutstockDetails) + { + if (dic.ContainsKey(osd.id)) + { + osd.qty += dic[osd.id].Sum(d => d); + if (osd.qty >= osd.pr_qty) + { + osd.line_status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID; + } + } + } + await _db.Updateable(curOutstockDetails).ExecuteCommandAsync(); + if (otds.All(x => x.line_status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) + { + await _db.Updateable().SetColumns(it => new WmsOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync(); + //如果是自动单据,需要回更上层系统 + } + else + { + //如果没有完成,修改为工作中 + await _db.Updateable().SetColumns(it => new WmsOutstockH { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync(); + } var carryCodes = await _db.Queryable().Where(it => input.carryIds.Contains(it.carry_id)).ToListAsync(); var dicCodeQty = carryCodes.GroupBy(g => g.barcode).ToDictionary(x => x.Key, x => x.First().codeqty);