|
@ -313,6 +313,58 @@ public class CountPlanManager : SfsStoreRequestManagerBase<CountPlan, CountPlanD |
|
|
p.DetailStatus = EnumCountStatus.New; |
|
|
p.DetailStatus = EnumCountStatus.New; |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 根据plannumber更新主表状态和子表状态
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="number"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public virtual async Task ResetStatusByNumberAsync1(string number,List<string> locationCodes) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = await Repository.GetAsync(r => r.Number == number).ConfigureAwait(false); |
|
|
|
|
|
entity.RequestStatus = EnumRequestStatus.Handling; |
|
|
|
|
|
entity.InventoryStage++; |
|
|
|
|
|
|
|
|
|
|
|
switch (entity.CountMethod) |
|
|
|
|
|
{ |
|
|
|
|
|
case EnumCountMethod.ByLocation: |
|
|
|
|
|
{ |
|
|
|
|
|
//按库位拆分成多个盘点任务
|
|
|
|
|
|
entity.Details.Where(r=> locationCodes.Contains(r.LocationCode)).ToList().ForEach(p => |
|
|
|
|
|
{ |
|
|
|
|
|
p.FirstCountQty = 0; |
|
|
|
|
|
p.FinalCountQty = 0; |
|
|
|
|
|
p.DetailStatus = EnumCountStatus.New; |
|
|
|
|
|
}); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
case EnumCountMethod.ByItem: |
|
|
|
|
|
{ |
|
|
|
|
|
//按物品生成多个盘点任务
|
|
|
|
|
|
entity.Details.ForEach(p => |
|
|
|
|
|
{ |
|
|
|
|
|
p.FirstCountQty = 0; |
|
|
|
|
|
p.FinalCountQty = 0; |
|
|
|
|
|
p.DetailStatus = EnumCountStatus.New; |
|
|
|
|
|
}); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
case EnumCountMethod.ByLocationAndItem: |
|
|
|
|
|
{ |
|
|
|
|
|
//按物品和库位生成多个盘点任务
|
|
|
|
|
|
entity.Details.ForEach(p => |
|
|
|
|
|
{ |
|
|
|
|
|
p.FirstCountQty = 0; |
|
|
|
|
|
p.FinalCountQty = 0; |
|
|
|
|
|
p.DetailStatus = EnumCountStatus.New; |
|
|
|
|
|
}); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
case EnumCountMethod.None: |
|
|
|
|
|
default: |
|
|
|
|
|
throw new UserFriendlyException($"盘点任务生成失败;原因:盘点方式错误,将执行回滚操作!"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// job执行后更新计划
|
|
|
/// job执行后更新计划
|
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|