diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarrySignInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarrySignInput.cs index 8c6ae151..f6b0af2f 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarrySignInput.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarrySignInput.cs @@ -12,7 +12,7 @@ /// /// 载具Id /// - public string? carry_id { get; set;} + public string? carry_code { get; set;} /// /// 创建热Id /// diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs index c4069841..6ab920ac 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs @@ -19,6 +19,7 @@ namespace Tnb.WarehouseMgr.Entities.Dto.Inputs /// 载具ID /// public string carryId { get; set; } + public string carry_code { get; set; } public string new_carry_code { get; set; } diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs index 8cffe67e..80715f36 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs @@ -14,7 +14,7 @@ namespace Tnb.WarehouseMgr.Entities.Mapper .Map(dest => dest.pretask_code, src => src.bill_code); config.ForType() - .Map(dest => dest.carryId, src => src.carry_id) + .Map(dest => dest.carryId, src => src.carry_code) ; } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsSignForDeliveryService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsSignForDeliveryService.cs index 84fdc879..dd623785 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsSignForDeliveryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsSignForDeliveryService.cs @@ -16,6 +16,6 @@ namespace Tnb.WarehouseMgr.Interfaces /// /// /// - public Task MESCarrySign(MESCarrySignInput input); + public Task MESCarrySign(MESCarrySignInput input); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs index 7a401299..c02d3280 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs @@ -120,15 +120,16 @@ namespace Tnb.WarehouseMgr } else if (os.pr_qty <= carryCodesPart[i].codeqty) { - carryCodesPart[i].codeqty = os.pr_qty; - curCarryCodes.Add(carryCodesPart[i]); + WmsCarryCode curCarryCode = DeepCopyHelper.DeepCopy(carryCodesPart[i]); + curCarryCode.codeqty = os.pr_qty; + curCarryCodes.Add(curCarryCode); break; } } var partCarryMats = curCarryCodes.Adapt>(); for (int i = 0; i < partCarryMats.Count; i++) { - partCarryMats[i].need_qty = carryCodesPart[i].codeqty; + partCarryMats[i].need_qty = curCarryCodes[i].codeqty; } carryMats.AddRange(partCarryMats); } @@ -361,15 +362,16 @@ namespace Tnb.WarehouseMgr } else if (os.pr_qty <= carryCodesPart[i].codeqty) { - carryCodesPart[i].codeqty = os.pr_qty; - curCarryCodes.Add(carryCodesPart[i]); + var tmp = DeepCopyHelper.DeepCopy(carryCodesPart[i]); + tmp.codeqty = os.pr_qty; + curCarryCodes.Add(tmp); break; } } var partCarryMats = curCarryCodes.Adapt>(); for (int i = 0; i < partCarryMats.Count; i++) { - partCarryMats[i].need_qty = carryCodesPart[i].codeqty; + partCarryMats[i].need_qty = curCarryCodes[i].codeqty; } carryMats.AddRange(partCarryMats); } @@ -407,6 +409,7 @@ namespace Tnb.WarehouseMgr carryIds = allOutIds.Concat(sortingOutIds).ToList(); await _db.Updateable().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.全部出).ToString() }).Where(it => allOutIds.Contains(it.id)).ExecuteCommandAsync(); await _db.Updateable().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.分拣出).ToString() }).Where(it => sortingOutIds.Contains(it.id)).ExecuteCommandAsync(); + } var carrys = await _db.Queryable().Where(it => carryIds.Contains(it.id)).ToListAsync(); if (carrys?.Count > 0) @@ -609,8 +612,8 @@ namespace Tnb.WarehouseMgr 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(); //如果是自动单据,需要回更上层系统 + await _db.Updateable().SetColumns(it => new WmsOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync(); } else { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs index f9cacdac..366b22d5 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs @@ -65,8 +65,15 @@ namespace Tnb.WarehouseMgr try { await _db.Ado.BeginTranAsync(); - - var carry = await _db.Queryable().SingleAsync(it => it.id == input.carryId); + WmsCarryH? carry = null; + if (!input.carryId.IsNullOrWhiteSpace()) + { + carry = await _db.Queryable().SingleAsync(it => it.id == input.carryId); + } + else + { + carry = await _db.Queryable().SingleAsync(it => it.carry_code == input.carry_code); + } if (carry != null) { if (carry!.location_id!.IsNotEmptyOrNull()) @@ -87,6 +94,10 @@ namespace Tnb.WarehouseMgr { disTask = await _db.Queryable().FirstAsync(it => it.carry_id == input.carryId && it.is_sign == 0); } + else if (!input.carry_code.IsNullOrEmpty()) + { + disTask = await _db.Queryable().FirstAsync(it => it.carry_code == input.carry_code && it.is_sign == 0); + } if (disTask != null) { if (_dicBizType.ContainsKey(disTask.biz_type)) @@ -118,14 +129,20 @@ namespace Tnb.WarehouseMgr /// /// /// - [HttpPost] - public async Task MESCarrySign(MESCarrySignInput input) + [HttpPost, NonUnify] + public async Task MESCarrySign(MESCarrySignInput input) { if (input.IsNull()) throw new ArgumentNullException("input"); var signInput = input.Adapt(); - await SignForDelivery(signInput); + try + { + await SignForDelivery(signInput); + } + catch (Exception) + { + return ToApiResult(HttpStatusCode.InternalServerError, "签收失败"); + } + return ToApiResult(); } - - } }