Browse Source

盘点修改

dev_DY_CC
lvzb 1 year ago
parent
commit
f49fa925ae
  1. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs
  2. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJob.cs
  3. 31
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs
  4. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CountPlanEventHandler.cs

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs

@ -361,8 +361,10 @@ public class BomManager : DomainService, IBomManager
{
List<Bom> boms = new List<Bom>();
var lst = await _repository.GetListAsync(p => p.Product == productCode).ConfigureAwait(false);
var parentitem = await _repository.FindAsync(p => p.Component == productCode).ConfigureAwait(false);
foreach (var bom in lst)
{
bom.Remark = parentitem?.Id.ToString();
boms.Add(bom);
var results= await GetAllItemByCode(bom.Component).ConfigureAwait(false);
boms.AddRange(results);

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

@ -96,7 +96,7 @@ public class CountJob : SfsJobAggregateRootBase<CountJobDetail>
detail.ExpireDate = expireDate;
detail.LocationCode = locationCode;
detail.CountQty = detail.CountQty+qty;
detail.CountQty = qty;
detail.CountTime = time;
detail.CountOperator = oper;
detail.CountDescription = desc;

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

@ -119,21 +119,31 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
private async Task SetDetailsAsync(CountJob input, CountJob entity)
{
foreach (var depDetail in input.DepDetails)
//将任务里所有可盘数量置为0
input.Details.ForEach(r =>
{
var inputDetail = input.Details.FirstOrDefault(r => r.ItemCode == depDetail.ItemCode && r.PackingCode == depDetail.PackingCode);
if (inputDetail != null)
r.CountQty = 0;
});
//清除之前的扫描明细
entity.DepDetails.RemoveAll(r=>r.InventoryStage==entity.InventoryStage);
//遍历扫描明细
foreach (var depDetail in input.DepDetails.Where(r=>r.InventoryStage==entity.InventoryStage))
{
inputDetail.CountQty += depDetail.CountQty;
}
else
var inputDetail = input.Details.FirstOrDefault(r => r.ItemCode == depDetail.ItemCode && r.PackingCode == depDetail.PackingCode&&r.LocationCode == depDetail.LocationCode&&r.InventoryStage == entity.InventoryStage);
if (inputDetail == null)
{
var jobDetail = ObjectMapper.Map<CountJobDependentDetail, CountJobDetail>(depDetail);
jobDetail.InventoryQty = 0;
var detailNumber = await GetNumber().ConfigureAwait(false);
jobDetail.SetIdAndNumber(GuidGenerator, entity.Id, detailNumber);
jobDetail.CountLabel = GuidGenerator.Create().ToString();
input.Details.Add(jobDetail);
}
else
{
inputDetail.CountQty += depDetail.CountQty;
}
var jobDepDetail = ObjectMapper.Map<CountJobDependentDetail, CountJobDependentDetail>(depDetail);
var number = entity.Number;
@ -141,7 +151,7 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
jobDepDetail.CountLabel = GuidGenerator.Create().ToString();
entity.DepDetails.Add(jobDepDetail);
}
foreach (var detail in input.Details)
foreach (var detail in input.Details.Where(r => r.InventoryStage == entity.InventoryStage))
{
var entityDetail = entity.Details.FirstOrDefault(p => p.Id == detail.Id);
@ -150,11 +160,6 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
{
var jobDetail = ObjectMapper.Map<CountJobDetail, CountJobDetail>(detail);
//var number =await GetNumber();
//jobDetail.SetIdAndNumber(GuidGenerator,entity.Id, number);
//jobDetail.CountLabel = GuidGenerator.Create().ToString();
//CountJobDetail jobDetail = new CountJobDetail() { };
entity.AddDetail(jobDetail);
}
else
@ -163,6 +168,8 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
.ConfigureAwait(false);
}
}
//移除原有明细里没有,并且第二次扫描以处的项目
entity.Details.RemoveAll(r => r.InventoryQty == 0 && r.CountQty == 0&& r.InventoryStage == entity.InventoryStage);
}
public override void CheckDetails(CountJob entity, AbpValidationResult result)

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CountPlanEventHandler.cs

@ -238,6 +238,7 @@ public class CountPlanEventHandler
foreach (var countPlanDetail in countPlanDetails)
{
var countJobDetail = ObjectMapper.Map<CountPlanDetail, CountJobDetailInput>(countPlanDetail);
countJobDetail.InventoryStage = countPlan.InventoryStage;
countJob.Details.Add(countJobDetail);
}

Loading…
Cancel
Save