Browse Source

盘点修改

dev_DY_CC
lvzb 1 year ago
parent
commit
7aba251801
  1. 7
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs
  2. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs
  3. 40
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs

7
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs

@ -68,10 +68,12 @@ public class CountJobController : AbpController
/// </summary> /// </summary>
/// <param name="pageSize"></param> /// <param name="pageSize"></param>
/// <param name="pageIndex"></param> /// <param name="pageIndex"></param>
/// <param name="inventoryMode">1为有箱码2无箱码</param>
/// <returns></returns> /// <returns></returns>
[HttpGet("list")] [HttpGet("list")]
public virtual async Task<PagedResultDto<CountJobDTO>> GetListAsync(int pageSize, int pageIndex) public virtual async Task<PagedResultDto<CountJobDTO>> GetListAsync(int pageSize, int pageIndex,string inventoryMode)
{ {
EnumInventoryMode mode = (EnumInventoryMode)Enum.Parse(typeof(EnumInventoryMode), inventoryMode);
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
@ -88,7 +90,8 @@ public class CountJobController : AbpController
Filters = new List<Filter> Filters = new List<Filter>
{ {
new(nameof(CountJobDTO.WorkGroupCode),jsonCodes,"In"), new(nameof(CountJobDTO.WorkGroupCode),jsonCodes,"In"),
new(nameof(CountJobDTO.JobStatus),jsonStatus,"In") new(nameof(CountJobDTO.JobStatus),jsonStatus,"In"),
new(nameof(CountJobDTO.InventoryMode),mode.ToString())
} }
} }
}; };

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs

@ -86,6 +86,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.Number) .Ignore(x => x.Number)
.Ignore(x => x.Id) .Ignore(x => x.Id)
; ;
CreateMap<CountJobDependentDetail, CountJobDetail>()
.ReverseMap();
} }
} }

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

@ -5,6 +5,7 @@ using System.Linq;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Users; using Volo.Abp.Users;
using Volo.Abp.Validation; using Volo.Abp.Validation;
using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain;
@ -118,18 +119,40 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
private async Task SetDetailsAsync(CountJob input, CountJob entity) private async Task SetDetailsAsync(CountJob input, CountJob entity)
{ {
foreach (var depDetail in input.DepDetails)
{
var inputDetail = input.Details.FirstOrDefault(r => r.ItemCode == depDetail.ItemCode && r.PackingCode == depDetail.PackingCode);
if (inputDetail != null)
{
inputDetail.CountQty += depDetail.CountQty;
}
else
{
var jobDetail = ObjectMapper.Map<CountJobDependentDetail, CountJobDetail>(depDetail);
var detailNumber = await GetNumber().ConfigureAwait(false);
jobDetail.SetIdAndNumber(GuidGenerator, entity.Id, detailNumber);
jobDetail.CountLabel = GuidGenerator.Create().ToString();
input.Details.Add(jobDetail);
}
var jobDepDetail = ObjectMapper.Map<CountJobDependentDetail, CountJobDependentDetail>(depDetail);
var number = entity.Number;
jobDepDetail.SetIdAndNumber(GuidGenerator, entity.Id, number);
jobDepDetail.CountLabel = GuidGenerator.Create().ToString();
entity.DepDetails.Add(jobDepDetail);
}
foreach (var detail in input.Details) foreach (var detail in input.Details)
{ {
var entityDetail = entity.Details.FirstOrDefault(p => p.Id == detail.Id); var entityDetail = entity.Details.FirstOrDefault(p => p.Id == detail.Id);
//新增盘点明细 //新增盘点明细
if (entityDetail == null||entityDetail.Id==Guid.Empty) if (entityDetail == null || entityDetail.Id == Guid.Empty)
{ {
var jobDetail = ObjectMapper.Map<CountJobDetail, CountJobDetail>(detail); var jobDetail = ObjectMapper.Map<CountJobDetail, CountJobDetail>(detail);
var number =await GetNumber(); //var number =await GetNumber();
jobDetail.SetIdAndNumber(GuidGenerator,entity.Id, number); //jobDetail.SetIdAndNumber(GuidGenerator,entity.Id, number);
jobDetail.CountLabel = GuidGenerator.Create().ToString(); //jobDetail.CountLabel = GuidGenerator.Create().ToString();
//CountJobDetail jobDetail = new CountJobDetail() { }; //CountJobDetail jobDetail = new CountJobDetail() { };
entity.AddDetail(jobDetail); entity.AddDetail(jobDetail);
@ -140,15 +163,6 @@ public class CountJobManager : SfsJobManagerBase<CountJob, CountJobDetail>, ICou
.ConfigureAwait(false); .ConfigureAwait(false);
} }
} }
foreach (var depDetail in input.DepDetails)
{
var jobDepDetail = ObjectMapper.Map<CountJobDependentDetail, CountJobDependentDetail>(depDetail);
var number = entity.Number;
jobDepDetail.SetIdAndNumber(GuidGenerator, entity.Id, number);
jobDepDetail.CountLabel = GuidGenerator.Create().ToString();
entity.DepDetails.Add(jobDepDetail);
}
} }
public override void CheckDetails(CountJob entity, AbpValidationResult result) public override void CheckDetails(CountJob entity, AbpValidationResult result)

Loading…
Cancel
Save