修复bug

This commit is contained in:
18942506660
2023-11-13 16:45:13 +08:00
parent 23db249792
commit 0c209aebdc
3 changed files with 14 additions and 8 deletions

View File

@@ -87,6 +87,11 @@ namespace WMS.Web.Domain.Entitys
/// <returns></returns>
public Result OutStock(int materialId, decimal qty)
{
if (this.Status == OutStockStatus.Already)
return Result.ReFailure(ResultCodes.OutStockTaskAlready);
if (this.Status == OutStockStatus.Repeal)
return Result.ReFailure(ResultCodes.OutStockTaskRepeal);
var detail = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
if (detail == null) return Result.ReFailure(ResultCodes.OrderNoData);
if ((detail.AccruedQty - detail.RealityQty) < qty)
@@ -94,8 +99,9 @@ namespace WMS.Web.Domain.Entitys
if (detail.RealityQty <= 0)
detail.OutStockBeginTime = DateTime.Now;
detail.OutStockEndTime = DateTime.Now;
//全部出库完成
if (detail.AccruedQty == (detail.RealityQty + qty))
detail.OutStockEndTime = DateTime.Now;
detail.RealityQty = detail.RealityQty + qty;

View File

@@ -54,12 +54,10 @@ namespace WMS.Web.Domain.Services
public async Task<Result> Save(SaveOutStockRequest dto, LoginInDto loginInfo)
{
var outStockTask = await _outStockTaskRepositories.Get(dto.TaskId);
//OutStock entity = await _outStockRepositories.GetByTaskId(dto.TaskId);
////同步该订单最新数据到wms系统
//List<string> nos = new List<string>();
//nos.Add(outStockTask.SourceBillNo);
//var res = await _outStockTaskService.Ssyn(nos);
//if (!res.IsSuccess) return Result.ReSuccess();
if(outStockTask.Status== OutStockStatus.Already)
return Result.ReFailure(ResultCodes.OutStockTaskAlready);
if (outStockTask.Status == OutStockStatus.Repeal)
return Result.ReFailure(ResultCodes.OutStockTaskRepeal);
//上传的物料在任务单里没有找到不能出库
var ex = dto.Details.Select(s=>s.MaterialId).Except(outStockTask.Details.Select(s=>s.MaterialId)).ToList();
if (ex.Count() > 0)

View File

@@ -27,6 +27,8 @@ namespace WMS.Web.Domain.Values
public static ValueTuple<int, string> OutStockQtyError = (70001, "可出库数量不足");
public static ValueTuple<int, string> OutStockTaskNoData = (70002, "出库任务数据不存在");
public static ValueTuple<int, string> OutStockMaterialError = (70003, "出库物料在任务单中不存在");
public static ValueTuple<int, string> OutStockTaskAlready = (70004, "任务单已全部出库");
public static ValueTuple<int, string> OutStockTaskRepeal = (70005, "任务单已作废");
public static ValueTuple<int, string> BoxNoData = (80000, "箱信息不存在");
public static ValueTuple<int, string> BoxMateriaNoData = (800010, "箱对应物料信息不存在");