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
adfd5c2e7d
  1. 15
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs
  2. 44
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobManager.cs
  3. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/ThirdLocationNotes/ThirdLocationNoteDbContextModelCreatingExtensions.cs
  4. 15
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ThirdLocationNoteEventHandler.cs

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

@ -22,16 +22,19 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
private readonly IBalanceAppService _balanceAppService;
private readonly ICountJobRepository _repository;
private readonly ICountNoteRepository _noteRepository;
private readonly ICountAdjustRequestRepository _countAdjustRequestRepository;
public CountJobManager(
ICountJobRepository repository,
IBalanceAppService balanceAppService,
ICountNoteRepository noteRepository
ICountNoteRepository noteRepository,
ICountAdjustRequestRepository countAdjustRequestRepository
) : base(repository)
{
_noteRepository = noteRepository;
_balanceAppService = balanceAppService;
_repository = repository;
_countAdjustRequestRepository= countAdjustRequestRepository;
}
/// <summary>
/// 根据选择的任务号码重置盘点任务
@ -47,13 +50,13 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
{
throw new UserFriendlyException($"所选任务属于多个盘点计划,无法重盘!");
}
var note = await _noteRepository.FindAsync(r => r.CountPlanNumber == planNumbers.First()).ConfigureAwait(false);
if (note != null && note.Adjusted == true)
{
throw new UserFriendlyException($"计划单号 【{note.CountPlanNumber}】生成了调整纪律,无法重盘");
}
foreach (var job in joblist)
{
var note = await _noteRepository.FindAsync(r => r.CountJobNumber == job.Number).ConfigureAwait(false);
if (note != null && note.Adjusted == true)
{
throw new UserFriendlyException($"任务号 【{job.Number}】生成的记录【{note.Number}】已经进行了调整,无法重盘");
}
job.JobStatus = EnumJobStatus.Open;
var details = job.Details.Where(r => r.InventoryStage == job.InventoryStage && r.InventoryQty != 0).ToList();
List<CountJobDetail> newDetails = new List<CountJobDetail>();

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

@ -49,36 +49,19 @@ public class ThirdLocationJobManager : SfsJobManagerBase<ThirdLocationJob, Third
bool isDone = false;
var jobDetail = entity.Details.FirstOrDefault(p => p.ItemCode == entity.Details[0].ItemCode);
//if (jobDetail.RecommendQty == jobDetail.HandledQty + input.Details[0].HandledQty)
//{
// jobDetail.HandledQty += input.Details[0].HandledQty;
// isDone = true;
//}
//else
//{
// jobDetail.HandledQty = input.Details[0].HandledQty;
// isDone = false;
//}
if (jobDetail.RecommendQty == input.Details[0].HandledQty)
{
jobDetail.HandledQty += input.Details[0].HandledQty;
jobDetail.RecommendQty= jobDetail.RecommendQty- input.Details[0].HandledQty;
jobDetail.SingleCodeJob = input.Details[0].SingleCodeJob;
isDone = true;
}
else
foreach(var jobDetail in entity.Details)
{
jobDetail.HandledQty += input.Details[0].HandledQty;
jobDetail.RecommendQty = jobDetail.RecommendQty - input.Details[0].HandledQty;
jobDetail.SingleCodeJob = input.Details[0].SingleCodeJob;
isDone = false;
}
var inputDetail= input.Details.FirstOrDefault(p=>p.ItemCode== jobDetail.ItemCode);
jobDetail.HandledQty += inputDetail.HandledQty;
jobDetail.RecommendQty = jobDetail.RecommendQty - inputDetail.HandledQty;
jobDetail.SingleCodeJob = inputDetail.SingleCodeJob;
inputDetail.RecommendQty = jobDetail.RecommendQty;
}
foreach (var item in entity.Details.FindAll(p => p.ItemCode != entity.Details[0].ItemCode))
foreach (var item in entity.Details)
{
if (item.RecommendQty == item.HandledQty)
if (item.RecommendQty == 0)
{
isDone = true;
}
@ -91,15 +74,14 @@ public class ThirdLocationJobManager : SfsJobManagerBase<ThirdLocationJob, Third
if (isDone)
{
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
{
entity.JobStatus = EnumJobStatus.Partial;
input.Details[0].RecommendQty = jobDetail.RecommendQty;
entity.JobStatus = EnumJobStatus.Partial;
await PublishCompletedAsync(input).ConfigureAwait(false);
return await Repository.UpdateAsync(entity).ConfigureAwait(false);
}

4
be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/ThirdLocationNotes/ThirdLocationNoteDbContextModelCreatingExtensions.cs

@ -56,8 +56,8 @@ public static class ThirdLocationNoteDbContextModelCreatingExtensions
//Relations
//Indexes
b.HasIndex(q => new { q.Number, q.FromPackingCode, q.FromLocationCode, q.ToLocationCode }).IsUnique();
b.HasIndex(q => new { q.FromPackingCode });
//b.HasIndex(q => new { q.Number, q.ItemCode, q.FromLocationCode, q.ToLocationCode }).IsUnique();
b.HasIndex(q => new { q.Number });
});
}
}

15
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ThirdLocationNoteEventHandler.cs

@ -55,17 +55,18 @@ public class ThirdLocationNoteEventHandler
if(requestEntities.Count>0 && entity.Details.Count>0)
{
bool isDone = false;
var requestDetail = requestEntities[0].Details.FirstOrDefault(p => p.ItemCode == entity.Details[0].ItemCode);
if(requestDetail != null)
foreach(var item in requestEntities[0].Details)
{
requestDetail.ReceivedQty += entity.Details[0].HandledQty;
if(requestDetail.IssuedQty == requestDetail.ReceivedQty)
var noteDetail = entity.Details.FirstOrDefault(p => p.ItemCode == item.ItemCode);
if(noteDetail != null)
{
isDone = true;
item.ReceivedQty += noteDetail.HandledQty;
}
}
}
foreach(var item in requestEntities[0].Details.FindAll(p=>p.ItemCode!= entity.Details[0].ItemCode))
foreach(var item in requestEntities[0].Details)
{
if(item.IssuedQty == item.ReceivedQty)
{

Loading…
Cancel
Save