Browse Source

更新问题处理

dev_DY_CC
周红军 1 year ago
parent
commit
281bc813cf
  1. 2
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/AssembleIssueJobsController.cs
  2. 2
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/CoatingIssueJobsController.cs
  3. 2
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/InjectionIssueJobsController.cs
  4. 2
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/KittingIssueJobsController.cs
  5. 2
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/SparePartIssueJobsController.cs
  6. 2
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ThirdLocationJobController.cs
  7. 1
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs
  8. 19
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs
  9. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJob.cs
  10. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobManager.cs
  11. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/ThirdLocationJobAutoMapperProfile.cs
  12. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReturnJobEventHandler.cs
  13. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/ThirdLocationJobEventHandler.cs

2
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/AssembleIssueJobsController.cs

@ -176,7 +176,7 @@ public class AssembleIssueJobsController : AbpController
} }
/// <summary> /// <summary>
/// /// 根据Request Number 获取任务列表
/// </summary> /// </summary>
/// <param name="requestNumber"></param> /// <param name="requestNumber"></param>
/// <returns></returns> /// <returns></returns>

2
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/CoatingIssueJobsController.cs

@ -176,7 +176,7 @@ public class CoatingIssueJobsController : AbpController
} }
/// <summary> /// <summary>
/// /// 根据Request Number 获取任务列表
/// </summary> /// </summary>
/// <param name="requestNumber"></param> /// <param name="requestNumber"></param>
/// <returns></returns> /// <returns></returns>

2
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/InjectionIssueJobsController.cs

@ -176,7 +176,7 @@ public class InjectionIssueJobsController : AbpController
} }
/// <summary> /// <summary>
/// /// 根据Request Number 获取任务列表
/// </summary> /// </summary>
/// <param name="requestNumber"></param> /// <param name="requestNumber"></param>
/// <returns></returns> /// <returns></returns>

2
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/KittingIssueJobsController.cs

@ -176,7 +176,7 @@ public class KittingIssueJobsController : AbpController
} }
/// <summary> /// <summary>
/// /// 根据Request Number 获取任务列表
/// </summary> /// </summary>
/// <param name="requestNumber"></param> /// <param name="requestNumber"></param>
/// <returns></returns> /// <returns></returns>

2
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/SparePartIssueJobsController.cs

@ -176,7 +176,7 @@ public class SparePartIssueJobsController : AbpController
} }
/// <summary> /// <summary>
/// /// 根据Request Number 获取任务列表
/// </summary> /// </summary>
/// <param name="requestNumber"></param> /// <param name="requestNumber"></param>
/// <returns></returns> /// <returns></returns>

2
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ThirdLocationJobController.cs

@ -79,7 +79,7 @@ public class ThirdLocationJobController : AbpController
[HttpGet("list")] [HttpGet("list")]
public virtual async Task<PagedResultDto<ThirdLocationJobDTO>> GetListAsync(int pageSize, int pageIndex) public virtual async Task<PagedResultDto<ThirdLocationJobDTO>> GetListAsync(int pageSize, int pageIndex)
{ {
var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing, (int)EnumJobStatus.Partial };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

1
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs

@ -59,7 +59,6 @@ public class ThirdLocationRequestController : AbpController
/// <param name="number"></param> /// <param name="number"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("get/{number}")] [HttpGet("get/{number}")]
public virtual async Task<ActionResult<ThirdLocationRequestDTO>> GetRequestByNumberAsync(string number) public virtual async Task<ActionResult<ThirdLocationRequestDTO>> GetRequestByNumberAsync(string number)
{ {
var result = await _thirdLocationRequestAppService.GetByNumberAsync(number).ConfigureAwait(false); var result = await _thirdLocationRequestAppService.GetByNumberAsync(number).ConfigureAwait(false);

19
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs

@ -58,14 +58,23 @@ public class ThirdLocationJobAppService
{ {
var jobDetail= job.Details.FirstOrDefault(p => p.ItemCode == dto.Details[0].ItemCode); var jobDetail= job.Details.FirstOrDefault(p => p.ItemCode == dto.Details[0].ItemCode);
if (dto.Details[0].HandledQty > jobDetail.RecommendQty) if(jobDetail==null)
{ {
throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际数量【{dto.Details[0].HandledQty}】不能大于推荐数量【{dto.Details[0].RecommendQty}】"); throw new UserFriendlyException($"任务错误:未找到物品【{dto.Details[0].ItemCode} 的明细信息");
} }
if (jobDetail.ToLocationCode != dto.Details[0].ToLocationCode) else
{ {
throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际目标库位【{dto.Details[0].ToLocationCode}】与申请目标库位【{jobDetail.ToLocationCode}】不一致"); if (dto.Details[0].HandledQty > jobDetail.RecommendQty)
} {
throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际数量【{dto.Details[0].HandledQty}】不能大于推荐数量【{dto.Details[0].RecommendQty}】");
}
if (jobDetail.ToLocationCode != dto.Details[0].ToLocationCode)
{
throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际目标库位【{dto.Details[0].ToLocationCode}】与申请目标库位【{jobDetail.ToLocationCode}】不一致");
}
}
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJob.cs

@ -70,7 +70,7 @@ public class ThirdLocationJob : SfsJobAggregateRootBase<ThirdLocationJobDetail>
detail.HandledFromLocationCode = handledLocationCode; detail.HandledFromLocationCode = handledLocationCode;
detail.HandledFromLocationErpCode = handledLocationErpCode; detail.HandledFromLocationErpCode = handledLocationErpCode;
detail.HandledFromWarehouseCode = handledWarehouseCode; detail.HandledFromWarehouseCode = handledWarehouseCode;
detail.HandledQty = handledQty; //detail.HandledQty = handledQty;
detail.HandledSupplierBatch = handledSupplierBatch; detail.HandledSupplierBatch = handledSupplierBatch;
detail.HandledArriveDate = handledArriveDate; detail.HandledArriveDate = handledArriveDate;
detail.HandledProduceDate = handledProduceDate; detail.HandledProduceDate = handledProduceDate;

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobManager.cs

@ -90,11 +90,16 @@ public class ThirdLocationJobManager : SfsJobManagerBase<ThirdLocationJob, Third
if (isDone) if (isDone)
{ {
return await base.CompleteAsync(entity, user).ConfigureAwait(false); await entity.CompleteAsync(user.Id, user.Name, Clock.Now).ConfigureAwait(false);
input.Details[0].RecommendQty = jobDetail.RecommendQty;
await PublishCompletedAsync(input).ConfigureAwait(false);
return await Repository.UpdateAsync(entity).ConfigureAwait(false);
//return await base.CompleteAsync(entity, user).ConfigureAwait(false);
} }
else else
{ {
entity.JobStatus = EnumJobStatus.Partial; entity.JobStatus = EnumJobStatus.Partial;
input.Details[0].RecommendQty = jobDetail.RecommendQty;
await PublishCompletedAsync(input).ConfigureAwait(false); await PublishCompletedAsync(input).ConfigureAwait(false);
return await Repository.UpdateAsync(entity).ConfigureAwait(false); return await Repository.UpdateAsync(entity).ConfigureAwait(false);
} }

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/ThirdLocationJobAutoMapperProfile.cs

@ -37,8 +37,8 @@ public partial class StoreEventAutoMapperProfile : Profile
.ForMember(x => x.ToStatus, y => y.MapFrom(d => d.Status)) .ForMember(x => x.ToStatus, y => y.MapFrom(d => d.Status))
.ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty)) .ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty))
.ForMember(x => x.IssueTime, y => y.MapFrom(d => DateTime.Now)) .ForMember(x => x.IssueTime, y => y.MapFrom(d => DateTime.Now))
.ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.HandledFromLocationCode)) .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.FromLocationCode))
.ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.HandledFromLocationArea)) .ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.FromLocationArea))
.ForMember(x => x.FromLocationGroup, y => y.MapFrom(d => d.HandledFromLocationGroup)) .ForMember(x => x.FromLocationGroup, y => y.MapFrom(d => d.HandledFromLocationGroup))
.ForMember(x => x.FromLocationErpCode, y => y.MapFrom(d => d.HandledFromLocationErpCode)) .ForMember(x => x.FromLocationErpCode, y => y.MapFrom(d => d.HandledFromLocationErpCode))
.ForMember(x => x.FromWarehouseCode, y => y.MapFrom(d => d.HandledFromWarehouseCode)) .ForMember(x => x.FromWarehouseCode, y => y.MapFrom(d => d.HandledFromWarehouseCode))
@ -70,8 +70,7 @@ public partial class StoreEventAutoMapperProfile : Profile
.Ignore(x => x.ActiveDate) .Ignore(x => x.ActiveDate)
; ;
CreateMap<ThirdLocationJobDetail, ThirdLocationNoteDetailInput>() CreateMap<ThirdLocationJobDetail, ThirdLocationNoteDetailInput>()
.ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty)) .ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty))
.ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.RecommendFromLocationCode))
.ForMember(x => x.IssueTime, y => y.MapFrom(d => DateTime.Now)) .ForMember(x => x.IssueTime, y => y.MapFrom(d => DateTime.Now))
.ForMember(x => x.FromPackingCode, y => y.MapFrom(d => d.HandledPackingCode)) .ForMember(x => x.FromPackingCode, y => y.MapFrom(d => d.HandledPackingCode))
.ForMember(x => x.ToPackingCode, y => y.MapFrom(d => d.HandledPackingCode)) .ForMember(x => x.ToPackingCode, y => y.MapFrom(d => d.HandledPackingCode))
@ -82,8 +81,9 @@ public partial class StoreEventAutoMapperProfile : Profile
.ForMember(x => x.SupplierBatch, y => y.MapFrom(d => d.HandledSupplierBatch)) .ForMember(x => x.SupplierBatch, y => y.MapFrom(d => d.HandledSupplierBatch))
.ForMember(x => x.ArriveDate, y => y.MapFrom(d => d.HandledArriveDate)) .ForMember(x => x.ArriveDate, y => y.MapFrom(d => d.HandledArriveDate))
.ForMember(x => x.ProduceDate, y => y.MapFrom(d => d.HandledProduceDate)) .ForMember(x => x.ProduceDate, y => y.MapFrom(d => d.HandledProduceDate))
.ForMember(x => x.ExpireDate, y => y.MapFrom(d => d.ExpiredTime)) .ForMember(x => x.ExpireDate, y => y.MapFrom(d => d.ExpiredTime))
.ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.HandledFromLocationArea)) .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.FromLocationCode))
.ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.FromLocationArea))
.ForMember(x => x.FromLocationGroup, y => y.MapFrom(d => d.HandledFromLocationGroup)) .ForMember(x => x.FromLocationGroup, y => y.MapFrom(d => d.HandledFromLocationGroup))
.ForMember(x => x.FromLocationErpCode, y => y.MapFrom(d => d.HandledFromLocationErpCode)) .ForMember(x => x.FromLocationErpCode, y => y.MapFrom(d => d.HandledFromLocationErpCode))
.ForMember(x => x.FromWarehouseCode, y => y.MapFrom(d => d.HandledFromWarehouseCode)) .ForMember(x => x.FromWarehouseCode, y => y.MapFrom(d => d.HandledFromWarehouseCode))

4
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReturnJobEventHandler.cs

@ -55,6 +55,10 @@ public class PurchaseReturnJobEventHandler :
var input = ObjectMapper.Map<PurchaseReturnJob, PurchaseReturnNoteEditInput>(entity); var input = ObjectMapper.Map<PurchaseReturnJob, PurchaseReturnNoteEditInput>(entity);
input.Details.RemoveAll(p => p.Qty == 0); input.Details.RemoveAll(p => p.Qty == 0);
foreach (var detail in input.Details)
{
detail.HandledQty = detail.Qty;
}
return input; return input;
} }

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/ThirdLocationJobEventHandler.cs

@ -43,13 +43,7 @@ public class ThirdLocationJobEventHandler :
{ {
var entity = eventData.Entity; var entity = eventData.Entity;
entity.CompleteTime = Clock.Now; entity.CompleteTime = Clock.Now;
entity.JobStatus = EnumJobStatus.Done;
//foreach (var detail in eventData.Entity.Details)
//{
// detail.SetHandledFromRecommend();
//}
var thirdLocationNote = await BuildThirdLocationNoteAsync(entity).ConfigureAwait(false); var thirdLocationNote = await BuildThirdLocationNoteAsync(entity).ConfigureAwait(false);
await _thirdLocationNoteAppService.CreateAsync(thirdLocationNote).ConfigureAwait(false); await _thirdLocationNoteAppService.CreateAsync(thirdLocationNote).ConfigureAwait(false);

Loading…
Cancel
Save