Browse Source

Merge branch 'dev_DY_CC' of http://dev.ccwin-in.com:3000/BoXu.Zheng/WZC2 into dev_DY_CC

dev_DY_CC
郑勃旭 11 months ago
parent
commit
932d2e00c7
  1. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs
  2. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs
  3. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs
  4. 52
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs
  5. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/ICountPlanManager.cs
  6. 5
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs
  7. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/AssembleIssueRequestEventHandler.cs
  8. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/CoatingIssueRequestEventHandler.cs
  9. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/InjectionIssueRequestEventHandler.cs
  10. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/KittingIssueRequestEventHandler.cs
  11. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/SparePartIssueRequestEventHandler.cs

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs

@ -33,4 +33,5 @@ public interface ICountPlanAppService
Task ChangeStageAsync(Guid id, List<string> detailIdList, EnumCountStage stage);
Task ResetStatusByNumberAsync(string number);
Task NewResetStatusByNumberAsync(string number, List<string> locationCodes);
}

13
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs

@ -146,6 +146,19 @@ public class CountPlanAppService :
{
await _countPlanManager.ResetStatusByNumberAsync(number).ConfigureAwait(false);
}
// <summary>
// 更新计划状态
// </summary>
// <param name="id"></param>
// <returns></returns>
[HttpPost("new-reset-by-number")]
public virtual async Task NewResetStatusByNumberAsync(string number,List<string>locationCodes)
{
await _countPlanManager.ResetStatusByNumberAsync1(number, locationCodes).ConfigureAwait(false);
}
[HttpPost("check-status")]
public virtual async Task CheckStatusAsync(string number)
{

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs

@ -66,7 +66,7 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
job.AddDetails(newDetails);
}
await _repository.UpdateManyAsync(joblist).ConfigureAwait(false);
await _noteRepository.DeleteAsync(r => numbers.Contains(r.CountJobNumber)).ConfigureAwait(false);
await _noteRepository.DeleteAsync(r => r.CountPlanNumber== joblist.First().CountPlanNumber).ConfigureAwait(false);
await LocalEventBus.PublishAsync(new SfsSubmittedEntityEventData<List<CountJob>>(joblist), false).ConfigureAwait(false);
return joblist;
}

52
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs

@ -313,6 +313,58 @@ public class CountPlanManager : SfsStoreRequestManagerBase<CountPlan, CountPlanD
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>
/// job执行后更新计划
/// </summary>

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/ICountPlanManager.cs

@ -22,4 +22,5 @@ public interface ICountPlanManager : ISfsStoreRequestManager<CountPlan, CountPla
/// <returns></returns>
Task CompleteByJobAsync(CountPlan entity);
Task ResetStatusByNumberAsync(string number);
Task ResetStatusByNumberAsync1(string number, List<string> locationCodes);
}

5
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs

@ -50,7 +50,10 @@ public class CountJobEventHandler :
var entity = eventData.Entity.First();
if (!string.IsNullOrEmpty(entity.CountPlanNumber))
{
await _countPlanAppService.ResetStatusByNumberAsync(entity.CountPlanNumber).ConfigureAwait(false);
// await _countPlanAppService.ResetStatusByNumberAsync(entity.CountPlanNumber).ConfigureAwait(false);
var locationCodes = eventData.Entity.SelectMany(r => r.Details).Select(p => p.LocationCode).Distinct().ToList();
await _countPlanAppService.NewResetStatusByNumberAsync(entity.CountPlanNumber, locationCodes).ConfigureAwait(false);
}
}
private async Task<CountPlanEditInput> BuildCountPlanJobUpdateDTO(CountJob entity)

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/AssembleIssueRequestEventHandler.cs

@ -508,7 +508,7 @@ public class AssembleIssueRequestEventHandler
if (productionLineItemDto == null)
{
throw new UserFriendlyException(
$"未在生产线【{assembleIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】");
$"未在生产线物品关系表中维护【{assembleIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】");
}
//原料

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/CoatingIssueRequestEventHandler.cs

@ -508,7 +508,7 @@ public class CoatingIssueRequestEventHandler
if (productionLineItemDto == null)
{
throw new UserFriendlyException(
$"未在生产线【{coatingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】");
$"未在生产线物品关系表中维护【{coatingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】");
}
//原料

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/InjectionIssueRequestEventHandler.cs

@ -508,7 +508,7 @@ public class InjectionIssueRequestEventHandler
if (productionLineItemDto == null)
{
throw new UserFriendlyException(
$"未在生产线【{injectionIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】");
$"未在生产线物品关系表中维护【{injectionIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】");
}
//原料

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/KittingIssueRequestEventHandler.cs

@ -506,7 +506,7 @@ public class KittingIssueRequestEventHandler
if (productionLineItemDto == null)
{
throw new UserFriendlyException(
$"未在生产线【{kittingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】");
$"未在生产线物品关系表中维护【{kittingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】");
}
//原料

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/SparePartIssueRequestEventHandler.cs

@ -506,7 +506,7 @@ public class SparePartIssueRequestEventHandler
if (productionLineItemDto == null)
{
throw new UserFriendlyException(
$"未在生产线【{sparePartIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】");
$"未在生产线物品关系表中维护【{sparePartIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】");
}
//原料

Loading…
Cancel
Save