Browse Source

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

dev_DY_CC
郑勃旭 1 year ago
parent
commit
c34263084a
  1. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs
  2. 5
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs
  3. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/IBomManager.cs
  4. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJob.cs
  5. 31
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs
  6. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CountPlanEventHandler.cs

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs

@ -108,7 +108,7 @@ public class BomAppService :
[HttpGet("get-bom-tree-by-code")]
public virtual async Task<List<BomDTO>> GetBomTreeByCodeAsync(string productCode)
{
var entities = await _bomManager.GetAllItemByCode(productCode).ConfigureAwait(false);
var entities = await _bomManager.GetAllItemByCode(productCode,GuidGenerator.Create()).ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<Bom>, List<BomDTO>>(entities);

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

@ -379,14 +379,15 @@ public class BomManager : DomainService, IBomManager
/// </summary>
/// <param name="productCode"></param>
/// <returns></returns>
public virtual async Task<List<Bom>> GetAllItemByCode(string productCode)
public virtual async Task<List<Bom>> GetAllItemByCode(string productCode,Guid id)
{
List<Bom> boms = new List<Bom>();
var lst = await _repository.GetListAsync(p => p.Product == productCode).ConfigureAwait(false);
foreach (var bom in lst)
{
bom.Remark = id.ToString();
boms.Add(bom);
var results= await GetAllItemByCode(bom.Component).ConfigureAwait(false);
var results= await GetAllItemByCode(bom.Component,bom.Id).ConfigureAwait(false);
boms.AddRange(results);
}
return boms;

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

@ -42,7 +42,7 @@ public interface IBomManager : IDomainService, IBulkImportService<Bom>
/// <param name="productNum">总成数量</param>
/// <returns></returns>
Task<List<Bom>> GetMaterialTotalQtyAsync(string productCode, int productNum);
Task<List<Bom>> GetAllItemByCode(string productCode);
Task<List<BomComponent>> GetSubcomponentsRecursiveList(List<BomComponent> p_lst, EnumBomSelectedType p_type);
Task<List<Bom>> GetAllItemByCode(string productCode, Guid id);
}

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