Browse Source

添加 箱码查任务

dev_DY_CC
郑勃旭 8 months ago
parent
commit
f8e1237727
  1. 11
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/AssembleIssueJobsController.cs
  2. 11
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/CoatingIssueJobsController.cs
  3. 11
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/InjectionIssueJobsController.cs
  4. 11
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/KittingIssueJobsController.cs
  5. 11
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/SparePartIssueJobsController.cs
  6. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs
  7. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/ICoatingIssueJobAppService.cs
  8. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/IInjectionIssueJobAppService.cs
  9. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs
  10. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/ISparePartIssueJobAppService.cs
  11. 150
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs
  12. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
  13. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs
  14. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
  15. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs

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

@ -189,4 +189,15 @@ public class AssembleIssueJobsController : AbpController
{ {
return await _assembleIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false); return await _assembleIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false);
} }
/// <summary>
/// 按箱码获取任务
/// </summary>
/// <param name="packingCode"></param>
/// <returns></returns>
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<AssembleIssueJobDTO> GetJobByPackingCode(string packingCode)
{
return await _assembleIssueJobAppService.GetJobByPackingCodeAsync(packingCode).ConfigureAwait(false);
}
} }

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

@ -189,4 +189,15 @@ public class CoatingIssueJobsController : AbpController
{ {
return await _coatingIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false); return await _coatingIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false);
} }
/// <summary>
/// 按箱码获取任务
/// </summary>
/// <param name="packingCode"></param>
/// <returns></returns>
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<CoatingIssueJobDTO> GetJobByPackingCode(string packingCode)
{
return await _coatingIssueJobAppService.GetJobByPackingCodeAsync(packingCode).ConfigureAwait(false);
}
} }

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

@ -189,4 +189,15 @@ public class InjectionIssueJobsController : AbpController
{ {
return await _injectionIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false); return await _injectionIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false);
} }
/// <summary>
/// 按箱码获取任务
/// </summary>
/// <param name="packingCode"></param>
/// <returns></returns>
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<InjectionIssueJobDTO> GetJobByPackingCode(string packingCode)
{
return await _injectionIssueJobAppService.GetJobByPackingCodeAsync(packingCode).ConfigureAwait(false);
}
} }

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

@ -188,4 +188,15 @@ public class KittingIssueJobsController : AbpController
{ {
return await _kittingIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false); return await _kittingIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false);
} }
/// <summary>
/// 按箱码获取任务
/// </summary>
/// <param name="packingCode"></param>
/// <returns></returns>
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<KittingIssueJobDTO> GetJobByPackingCode(string packingCode)
{
return await _kittingIssueJobAppService.GetJobByPackingCodeAsync(packingCode).ConfigureAwait(false);
}
} }

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

@ -188,4 +188,15 @@ public class SparePartIssueJobsController : AbpController
{ {
return await _sparePartIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false); return await _sparePartIssueJobAppService.GetByRequestNumberAsync(requestNumber).ConfigureAwait(false);
} }
/// <summary>
/// 按箱码获取任务
/// </summary>
/// <param name="packingCode"></param>
/// <returns></returns>
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<SparePartIssueJobDTO> GetJobByPackingCode(string packingCode)
{
return await _sparePartIssueJobAppService.GetJobByPackingCodeAsync(packingCode).ConfigureAwait(false);
}
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs

@ -27,4 +27,5 @@ public interface IAssembleIssueJobAppService
Task CompleteByRequestNumberAsync(string requestNumber); Task CompleteByRequestNumberAsync(string requestNumber);
Task<AssembleIssueJobDTO> GetByNumber2Async(string number); Task<AssembleIssueJobDTO> GetByNumber2Async(string number);
Task<AssembleIssueJobDTO> GetJobByPackingCodeAsync(string packingCode);
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/ICoatingIssueJobAppService.cs

@ -27,4 +27,5 @@ public interface ICoatingIssueJobAppService
Task CompleteByRequestNumberAsync(string requestNumber); Task CompleteByRequestNumberAsync(string requestNumber);
Task<CoatingIssueJobDTO> GetByNumber2Async(string number); Task<CoatingIssueJobDTO> GetByNumber2Async(string number);
Task<CoatingIssueJobDTO> GetJobByPackingCodeAsync(string packingCode);
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/IInjectionIssueJobAppService.cs

@ -26,4 +26,5 @@ public interface IInjectionIssueJobAppService
Task CompleteByRequestNumberAsync(string requestNumber); Task CompleteByRequestNumberAsync(string requestNumber);
Task<InjectionIssueJobDTO> GetByNumber2Async(string number); Task<InjectionIssueJobDTO> GetByNumber2Async(string number);
Task<InjectionIssueJobDTO> GetJobByPackingCodeAsync(string packingCode);
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs

@ -26,4 +26,5 @@ public interface IKittingIssueJobAppService
Task CompleteByRequestNumberAsync(string requestNumber); Task CompleteByRequestNumberAsync(string requestNumber);
Task<KittingIssueJobDTO> GetByNumber2Async(string number); Task<KittingIssueJobDTO> GetByNumber2Async(string number);
Task<KittingIssueJobDTO> GetJobByPackingCodeAsync(string packingCode);
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/ISparePartIssueJobAppService.cs

@ -26,4 +26,5 @@ public interface ISparePartIssueJobAppService
Task CompleteByRequestNumberAsync(string requestNumber); Task CompleteByRequestNumberAsync(string requestNumber);
Task<SparePartIssueJobDTO> GetByNumber2Async(string number); Task<SparePartIssueJobDTO> GetByNumber2Async(string number);
Task<SparePartIssueJobDTO> GetJobByPackingCodeAsync(string packingCode);
} }

150
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

@ -14,8 +14,6 @@ using Microsoft.Extensions.Options;
using MyNamespace; using MyNamespace;
using Omu.ValueInjecter; using Omu.ValueInjecter;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Timing;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using Volo.Abp.Users; using Volo.Abp.Users;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
@ -28,7 +26,6 @@ using Win_in.Sfs.Wms.Store.Domain.Shared;
using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy; using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy;
using Win_in.Sfs.Wms.Store.Notes; using Win_in.Sfs.Wms.Store.Notes;
using Win_in.Sfs.Wms.Store.Options; using Win_in.Sfs.Wms.Store.Options;
using static Volo.Abp.Identity.Settings.IdentitySettingNames;
namespace Win_in.Sfs.Wms.Store.Application; namespace Win_in.Sfs.Wms.Store.Application;
@ -59,7 +56,8 @@ public class AssembleIssueJobAppService
ILocationAppService locationAppService, ILocationAppService locationAppService,
IAssembleIssueNoteAppService assembleIssueNoteAppService, IExpectOutAppService expectOutAppService IAssembleIssueNoteAppService assembleIssueNoteAppService, IExpectOutAppService expectOutAppService
, IHttpClientFactory httpClientFactory , IHttpClientFactory httpClientFactory
, IOptions<RestoOptions> options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser, UnitOfWorkManager unitOfWorkManager) : base( , IOptions<RestoOptions> options, ITransferLibRequestAppService transferLibRequestAppService,
ICurrentUser currentUser, UnitOfWorkManager unitOfWorkManager) : base(
repository, assembleIssueJobManager) repository, assembleIssueJobManager)
{ {
_assembleIssueJobManager = assembleIssueJobManager; _assembleIssueJobManager = assembleIssueJobManager;
@ -93,35 +91,24 @@ public class AssembleIssueJobAppService
if (dimensionalStorehouseflag) if (dimensionalStorehouseflag)
{ {
input.IsClaims = true; input.IsClaims = true;
input.ClaimsUserId = string.IsNullOrEmpty(_options.Value.StereosUser) ? "LYF" : _options.Value.StereosUser; input.ClaimsUserId = string.IsNullOrEmpty(_options.Value.StereosUser)
input.ClaimsUserName = string.IsNullOrEmpty(_options.Value.StereosPassword) ? "LYF" : _options.Value.StereosPassword; ? "LYF"
: _options.Value.StereosUser;
input.ClaimsUserName = string.IsNullOrEmpty(_options.Value.StereosPassword)
? "LYF"
: _options.Value.StereosPassword;
} }
} }
var assembleIssueJobDtos = await base.CreateManyAsync(inputs).ConfigureAwait(false); var assembleIssueJobDtos = await base.CreateManyAsync(inputs).ConfigureAwait(false);
foreach (var assembleIssueJobDto in assembleIssueJobDtos) foreach (var assembleIssueJobDto in assembleIssueJobDtos)
{ {
await CheckDimensionalStorehouseAsync(assembleIssueJobDto).ConfigureAwait(false); await CheckDimensionalStorehouseAsync(assembleIssueJobDto).ConfigureAwait(false);
} }
return assembleIssueJobDtos; return assembleIssueJobDtos;
} }
[HttpPost("")] [HttpPost("")]
public override async Task<AssembleIssueJobDTO> CreateAsync(AssembleIssueJobEditInput input) public override async Task<AssembleIssueJobDTO> CreateAsync(AssembleIssueJobEditInput input)
{ {
@ -168,7 +155,7 @@ public class AssembleIssueJobAppService
[HttpPost("by-request-number/{requestNumber}")] [HttpPost("by-request-number/{requestNumber}")]
public virtual async Task<List<AssembleIssueJobDTO>> GetByRequestNumberAsync(string requestNumber) public virtual async Task<List<AssembleIssueJobDTO>> GetByRequestNumberAsync(string requestNumber)
{ {
var entitys = await _repository.GetListAsync(p => p.AssembleRequestNumber == requestNumber,"",true) var entitys = await _repository.GetListAsync(p => p.AssembleRequestNumber == requestNumber, "", true)
.ConfigureAwait(false); .ConfigureAwait(false);
return ObjectMapper.Map<List<AssembleIssueJob>, List<AssembleIssueJobDTO>>(entitys); return ObjectMapper.Map<List<AssembleIssueJob>, List<AssembleIssueJobDTO>>(entitys);
} }
@ -270,7 +257,8 @@ public class AssembleIssueJobAppService
.ConfigureAwait(false); .ConfigureAwait(false);
} }
await UpdateRequestAndjobStatusDoneAsync(assembleIssueJob, issueJobDetailDto, issueJobDetailDto.HandledToQty) await UpdateRequestAndjobStatusDoneAsync(assembleIssueJob, issueJobDetailDto,
issueJobDetailDto.HandledToQty)
.ConfigureAwait(false); .ConfigureAwait(false);
await _expectOutAppService.RemoveByNumberAsync(assembleIssueJob.Number).ConfigureAwait(false); await _expectOutAppService.RemoveByNumberAsync(assembleIssueJob.Number).ConfigureAwait(false);
} }
@ -294,7 +282,6 @@ public class AssembleIssueJobAppService
} }
/// <summary> /// <summary>
/// 执行任务明细 /// 执行任务明细
/// </summary> /// </summary>
@ -305,8 +292,11 @@ public class AssembleIssueJobAppService
var assembleIssueJob = await _repository.GetAsync(masterId).ConfigureAwait(false); var assembleIssueJob = await _repository.GetAsync(masterId).ConfigureAwait(false);
assembleIssueJob.JobStatus = EnumJobStatus.Doing; assembleIssueJob.JobStatus = EnumJobStatus.Doing;
assembleIssueJob.ClaimsUserId = string.IsNullOrEmpty( _options.Value.StereosUser)? "LYF" : _options.Value.StereosUser; assembleIssueJob.ClaimsUserId =
assembleIssueJob.ClaimsUserName = string.IsNullOrEmpty(_options.Value.StereosPassword) ? "LYF" : _options.Value.StereosPassword; string.IsNullOrEmpty(_options.Value.StereosUser) ? "LYF" : _options.Value.StereosUser;
assembleIssueJob.ClaimsUserName = string.IsNullOrEmpty(_options.Value.StereosPassword)
? "LYF"
: _options.Value.StereosPassword;
//if (assembleIssueJob.IsClaims) //if (assembleIssueJob.IsClaims)
@ -332,7 +322,6 @@ public class AssembleIssueJobAppService
issueJobDetail.HandledToQty = entityDetail.HandledToQty; issueJobDetail.HandledToQty = entityDetail.HandledToQty;
issueJobDetail.HandledToQty += issueJobDetailDto.HandledToQty; issueJobDetail.HandledToQty += issueJobDetailDto.HandledToQty;
issueJobDetail.HandledFromQty += issueJobDetailDto.HandledFromQty; issueJobDetail.HandledFromQty += issueJobDetailDto.HandledFromQty;
assembleIssueJob.Details = new EditableList<AssembleIssueJobDetail> { issueJobDetail }; assembleIssueJob.Details = new EditableList<AssembleIssueJobDetail> { issueJobDetail };
@ -347,7 +336,8 @@ public class AssembleIssueJobAppService
.ConfigureAwait(false); .ConfigureAwait(false);
} }
await UpdateRequestAndjobStatusDoneAsync(assembleIssueJob, issueJobDetailDto, issueJobDetailDto.HandledToQty) await UpdateRequestAndjobStatusDoneAsync(assembleIssueJob, issueJobDetailDto,
issueJobDetailDto.HandledToQty)
.ConfigureAwait(false); .ConfigureAwait(false);
await _expectOutAppService.RemoveByNumberAsync(assembleIssueJob.Number).ConfigureAwait(false); await _expectOutAppService.RemoveByNumberAsync(assembleIssueJob.Number).ConfigureAwait(false);
} }
@ -371,13 +361,6 @@ public class AssembleIssueJobAppService
} }
/// <summary> /// <summary>
/// 完成任务 /// 完成任务
/// </summary> /// </summary>
@ -426,7 +409,7 @@ public class AssembleIssueJobAppService
public override async Task AcceptAsync(Guid id) public override async Task AcceptAsync(Guid id)
{ {
var entity = await _repository.FindAsync(id).ConfigureAwait(false); var entity = await _repository.FindAsync(id).ConfigureAwait(false);
entity.IsClaims=true; entity.IsClaims = true;
entity.ClaimsUserName = _currentUser.UserName; entity.ClaimsUserName = _currentUser.UserName;
entity.ClaimsUserId = _currentUser.Id.ToString(); entity.ClaimsUserId = _currentUser.Id.ToString();
entity.AcceptTime = Clock.Now; entity.AcceptTime = Clock.Now;
@ -434,7 +417,7 @@ public class AssembleIssueJobAppService
} }
/// <summary> /// <summary>
/// 取消承接任务 /// 取消承接任务
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <returns></returns> /// <returns></returns>
@ -450,16 +433,28 @@ public class AssembleIssueJobAppService
await _repository.UpdateAsync(entity).ConfigureAwait(false); await _repository.UpdateAsync(entity).ConfigureAwait(false);
} }
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<AssembleIssueJobDTO> GetJobByPackingCodeAsync(string packingCode)
{
var list=await _repository.GetListAsync(p => p.Details.Any(r => r.RecommendFromPackingCode==packingCode)).ConfigureAwait(false);
if (list == null || list.Count < 1)
{
throw new UserFriendlyException("未找到该箱码的任务");
}
var dto=ObjectMapper.Map<AssembleIssueJob, AssembleIssueJobDTO>(list.First());
return dto;
}
#region 立库 #region 立库
/// <summary> /// <summary>
/// 立体库同步 /// 立体库同步
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <param name="pLoc"></param> /// <param name="pLoc"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost("sync-issue-job-stereo")] [HttpPost("sync-issue-job-stereo")]
public async Task<ReusltObject> SyncIssueJobStereoAsync(List<AssembleIssueJobDTO> input, string pLoc,Guid uid) public async Task<ReusltObject> SyncIssueJobStereoAsync(List<AssembleIssueJobDTO> input, string pLoc, Guid uid)
{ {
var ret = new ReusltObject(); var ret = new ReusltObject();
ret.Code = 0; ret.Code = 0;
@ -471,7 +466,7 @@ public class AssembleIssueJobAppService
var IssueJobToRestoDetailDTOs = new List<IssueJobToRestoDetailDTO>(); var IssueJobToRestoDetailDTOs = new List<IssueJobToRestoDetailDTO>();
var main = new IssueJobToRestoDTO(); var main = new IssueJobToRestoDTO();
main.Uuid = uid; main.Uuid = uid;
main.OperatorName = string.IsNullOrEmpty(CurrentUser.UserName)? "admin": CurrentUser.UserName; main.OperatorName = string.IsNullOrEmpty(CurrentUser.UserName) ? "admin" : CurrentUser.UserName;
foreach (var job in input) foreach (var job in input)
{ {
foreach (var jobitem in job.Details) foreach (var jobitem in job.Details)
@ -500,16 +495,23 @@ public class AssembleIssueJobAppService
#endif #endif
//var json = JsonSerializer.Serialize(main); //var json = JsonSerializer.Serialize(main);
_options.Value.Address =string.IsNullOrEmpty(_options.Value.Address)?"http://7e42682n64.goho.co:21171/": _options.Value.Address; //测试地址 _options.Value.Address = string.IsNullOrEmpty(_options.Value.Address)
_options.Value.Token = string.IsNullOrEmpty(_options.Value.Token)? string.Empty: _options.Value.Token; //测试token ? "http://7e42682n64.goho.co:21171/"
_options.Value.UserName = string.IsNullOrEmpty(_options.Value.UserName) ? "": _options.Value.UserName; //测试用户名 : _options.Value.Address; //测试地址
_options.Value.Password = string.IsNullOrEmpty(_options.Value.Password) ? "": _options.Value.Password; //测试密码 _options.Value.Token =
_options.Value.Path = string.IsNullOrEmpty(_options.Value.Path) ? "zozocnApi/custom/receiveProductionPlan":_options.Value.Path; //测试密码 string.IsNullOrEmpty(_options.Value.Token) ? string.Empty : _options.Value.Token; //测试token
_options.Value.UserName =
_logger.LogInformation(System.Text.Json.JsonSerializer.Serialize(_options)); string.IsNullOrEmpty(_options.Value.UserName) ? "" : _options.Value.UserName; //测试用户名
_options.Value.Password =
string.IsNullOrEmpty(_options.Value.Password) ? "" : _options.Value.Password; //测试密码
_options.Value.Path = string.IsNullOrEmpty(_options.Value.Path)
? "zozocnApi/custom/receiveProductionPlan"
: _options.Value.Path; //测试密码
_logger.LogInformation(JsonSerializer.Serialize(_options));
var flag = DateTime.Now.ToString("yyyyMMddHHmmss"); var flag = DateTime.Now.ToString("yyyyMMddHHmmss");
_logger.LogInformation($"标志{flag}开始调用高通WMS:传递值{System.Text.Json.JsonSerializer.Serialize(main)}"); _logger.LogInformation($"标志{flag}开始调用高通WMS:传递值{JsonSerializer.Serialize(main)}");
if (!string.IsNullOrEmpty(_options.Value.Token)) if (!string.IsNullOrEmpty(_options.Value.Token))
@ -529,7 +531,7 @@ public class AssembleIssueJobAppService
var client = new IssueJobToRestoClient(_options.Value.Address, httpclient, _options.Value.Path); var client = new IssueJobToRestoClient(_options.Value.Address, httpclient, _options.Value.Path);
ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false);
_logger.LogInformation($"标志{flag}调用高通WMS:返回值{System.Text.Json.JsonSerializer.Serialize(ret)}"); _logger.LogInformation($"标志{flag}调用高通WMS:返回值{JsonSerializer.Serialize(ret)}");
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -552,12 +554,15 @@ public class AssembleIssueJobAppService
#if DEBUG #if DEBUG
#endif #endif
var errors = new List<string>(); var errors = new List<string>();
var ret = new ReusltObject { Code = int.Parse(GaoTongResultStatus.Success), OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Message = "操作成功" }; var ret = new ReusltObject
{
Code = int.Parse(GaoTongResultStatus.Success),
OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
Message = "操作成功"
};
using var unitOfWork = _unitOfWorkManager.Begin(); using var unitOfWork = _unitOfWorkManager.Begin();
try try
{ {
if (input.Jobs.Count > 0) if (input.Jobs.Count > 0)
{ {
var jobs = input.Jobs; var jobs = input.Jobs;
@ -566,18 +571,18 @@ public class AssembleIssueJobAppService
.Where(p => numbers.Contains(p.Number) && p.JobStatus != EnumJobStatus.Done); .Where(p => numbers.Contains(p.Number) && p.JobStatus != EnumJobStatus.Done);
var entities = query.ToList(); var entities = query.ToList();
if (entities.Count == 0) if (entities.Count == 0)
{ {
errors.Add($"任务号{string.Join(",", numbers)}不存在!"); errors.Add($"任务号{string.Join(",", numbers)}不存在!");
} }
var dtos = ObjectMapper.Map<List<AssembleIssueJob>, List<AssembleIssueJobDTO>>(entities); var dtos = ObjectMapper.Map<List<AssembleIssueJob>, List<AssembleIssueJobDTO>>(entities);
if (input.Jobs.Count != entities.Count) if (input.Jobs.Count != entities.Count)
{ {
errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n"); errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n");
} }
foreach (var itm in dtos) foreach (var itm in dtos)
{ {
var first = jobs.FirstOrDefault(p => p.JobNumber == itm.Number); var first = jobs.FirstOrDefault(p => p.JobNumber == itm.Number);
@ -585,27 +590,27 @@ public class AssembleIssueJobAppService
var details = new List<AssembleIssueJobDetailDTO>(); var details = new List<AssembleIssueJobDetailDTO>();
foreach (var detail in first.Details) foreach (var detail in first.Details)
{ {
var fromloc = await _locationAppService.GetByCodeAsync(detail.FromLocationCode)
var fromloc=await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false); .ConfigureAwait(false);
if (fromloc == null) if (fromloc == null)
{ {
errors.Add($"来源库位{detail.FromLocationCode}没查到"); errors.Add($"来源库位{detail.FromLocationCode}没查到");
} }
var toloc = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false); var toloc = await _locationAppService.GetByCodeAsync(detail.ToLocationCode)
.ConfigureAwait(false);
if (toloc == null) if (toloc == null)
{ {
errors.Add($"目标库位{detail.ToLocationCode}没查到"); errors.Add($"目标库位{detail.ToLocationCode}没查到");
} }
var entity = itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode); var entity = itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode);
if (entity == null) if (entity == null)
{ {
errors.Add($"物料号{detail.ItemCode}不在任务明细内!"); errors.Add($"物料号{detail.ItemCode}不在任务明细内!");
} }
var dto = new AssembleIssueJobDetailDTO(); var dto = new AssembleIssueJobDetailDTO();
@ -633,7 +638,7 @@ public class AssembleIssueJobAppService
dto.HandledToPackingCode = string.Empty; dto.HandledToPackingCode = string.Empty;
dto.HandledFromWarehouseCode=fromloc.WarehouseCode; dto.HandledFromWarehouseCode = fromloc.WarehouseCode;
dto.HandledFromLocationCode = fromloc.Code; dto.HandledFromLocationCode = fromloc.Code;
dto.HandledFromLocationGroup = fromloc.LocationGroupCode; dto.HandledFromLocationGroup = fromloc.LocationGroupCode;
dto.HandledFromLocationArea = fromloc.AreaCode; dto.HandledFromLocationArea = fromloc.AreaCode;
@ -643,10 +648,10 @@ public class AssembleIssueJobAppService
dto.HandledFromPackingCode = string.Empty; dto.HandledFromPackingCode = string.Empty;
details.Add(dto); details.Add(dto);
await ExecuteDetailExtAsync(itm.Id, entity.Id, dto).ConfigureAwait(false); await ExecuteDetailExtAsync(itm.Id, entity.Id, dto).ConfigureAwait(false);
} }
if (errors.Count > 0) if (errors.Count > 0)
{ {
ret = new ReusltObject ret = new ReusltObject
@ -657,9 +662,10 @@ public class AssembleIssueJobAppService
Data = json Data = json
}; };
} }
itm.Details = details; itm.Details = details;
// await CompleteAsync(itm.Id, itm).ConfigureAwait(false); // await CompleteAsync(itm.Id, itm).ConfigureAwait(false);
_logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json+"立体库任务完成"); _logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json + "立体库任务完成");
} }
} }
else else
@ -671,8 +677,10 @@ public class AssembleIssueJobAppService
{ {
ret = new ReusltObject ret = new ReusltObject
{ {
Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message Code = int.Parse(GaoTongResultStatus.Failure),
, Data = json OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
Message = ex.Message,
Data = json
}; };
await unitOfWork.RollbackAsync(); await unitOfWork.RollbackAsync();
return ret; return ret;
@ -686,7 +694,6 @@ public class AssembleIssueJobAppService
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
Message = string.Join(",", errors.ToArray()), Message = string.Join(",", errors.ToArray()),
Data = json Data = json
}; };
} }
@ -798,10 +805,8 @@ public class AssembleIssueJobAppService
input.JobStatus = EnumJobStatus.Wait; input.JobStatus = EnumJobStatus.Wait;
return true; return true;
} }
else
{ return false;
return false;
}
} }
/// <summary> /// <summary>
@ -811,7 +816,6 @@ public class AssembleIssueJobAppService
/// <returns></returns> /// <returns></returns>
private async Task CheckDimensionalStorehouseAsync(AssembleIssueJobDTO assembleIssueJobDto) private async Task CheckDimensionalStorehouseAsync(AssembleIssueJobDTO assembleIssueJobDto)
{ {
var jobDetailInputdetail = assembleIssueJobDto.Details.FirstOrDefault(); var jobDetailInputdetail = assembleIssueJobDto.Details.FirstOrDefault();
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode)
.ConfigureAwait(false); .ConfigureAwait(false);

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs

@ -360,6 +360,18 @@ public class CoatingIssueJobAppService
await _repository.UpdateAsync(entity).ConfigureAwait(false); await _repository.UpdateAsync(entity).ConfigureAwait(false);
} }
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<CoatingIssueJobDTO> GetJobByPackingCodeAsync(string packingCode)
{
var list = await _repository.GetListAsync(p => p.Details.Any(r => r.RecommendFromPackingCode == packingCode)).ConfigureAwait(false);
if (list == null || list.Count < 1)
{
throw new UserFriendlyException("未找到该箱码的任务");
}
var dto = ObjectMapper.Map<CoatingIssueJob, CoatingIssueJobDTO>(list.First());
return dto;
}
#region 立库 #region 立库
/// <summary> /// <summary>

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs

@ -332,6 +332,18 @@ public class InjectionIssueJobAppService
await _repository.UpdateAsync(entity).ConfigureAwait(false); await _repository.UpdateAsync(entity).ConfigureAwait(false);
} }
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<InjectionIssueJobDTO> GetJobByPackingCodeAsync(string packingCode)
{
var list = await _repository.GetListAsync(p => p.Details.Any(r => r.RecommendFromPackingCode == packingCode)).ConfigureAwait(false);
if (list == null || list.Count < 1)
{
throw new UserFriendlyException("未找到该箱码的任务");
}
var dto = ObjectMapper.Map<InjectionIssueJob, InjectionIssueJobDTO>(list.First());
return dto;
}
#region 立库 #region 立库
/// <summary> /// <summary>

13
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs

@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using MyNamespace; using MyNamespace;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using Volo.Abp.Users; using Volo.Abp.Users;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
@ -338,6 +339,18 @@ public class KittingIssueJobAppService
await _repository.UpdateAsync(entity).ConfigureAwait(false); await _repository.UpdateAsync(entity).ConfigureAwait(false);
} }
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<KittingIssueJobDTO> GetJobByPackingCodeAsync(string packingCode)
{
var list = await _repository.GetListAsync(p => p.Details.Any(r => r.RecommendFromPackingCode == packingCode)).ConfigureAwait(false);
if (list == null || list.Count < 1)
{
throw new UserFriendlyException("未找到该箱码的任务");
}
var dto = ObjectMapper.Map<KittingIssueJob, KittingIssueJobDTO>(list.First());
return dto;
}
#region 立库 #region 立库
/// <summary> /// <summary>

13
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs

@ -333,6 +333,19 @@ public class SparePartIssueJobAppService
await _repository.UpdateAsync(entity).ConfigureAwait(false); await _repository.UpdateAsync(entity).ConfigureAwait(false);
} }
[HttpPost("get-job-by-packing/{packingCode}")]
public virtual async Task<SparePartIssueJobDTO> GetJobByPackingCodeAsync(string packingCode)
{
var list = await _repository.GetListAsync(p => p.Details.Any(r => r.RecommendFromPackingCode == packingCode)).ConfigureAwait(false);
if (list == null || list.Count <1)
{
throw new UserFriendlyException("未找到该箱码的任务");
}
var dto = ObjectMapper.Map<SparePartIssueJob, SparePartIssueJobDTO>(list.First());
return dto;
}
#region 立库 #region 立库
/// <summary> /// <summary>

Loading…
Cancel
Save