diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs index e05f8d4b4..a4a10f4cc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs @@ -38,4 +38,24 @@ public class AssembleIssueJobDTO : SfsJobDTOBase public EnumIssueSendType EnumIssueSendType { get; set; } + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs index fdf1a372d..73c2e99c7 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs @@ -66,5 +66,26 @@ public class AssembleIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCre public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs index 6521709ea..f0908bea2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs @@ -37,4 +37,25 @@ public class CoatingIssueJobDTO : SfsJobDTOBase public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobEditInput.cs index 492464524..3de14a3d3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobEditInput.cs @@ -66,5 +66,26 @@ public class CoatingIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCrea public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs index 73f657364..d22f9e52a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs @@ -37,4 +37,25 @@ public class InjectionIssueJobDTO : SfsJobDTOBase public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs index 48f2d75b5..86079f0dc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs @@ -66,5 +66,26 @@ public class InjectionIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCr public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs index 2141ce1d8..77f50dfc2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs @@ -37,4 +37,25 @@ public class KittingIssueJobDTO : SfsJobDTOBase public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs index d22be4f4d..7b41298e9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs @@ -66,5 +66,26 @@ public class KittingIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCrea public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/DTOs/SparePartIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/DTOs/SparePartIssueJobDTO.cs index 74ab9f2cc..390089903 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/DTOs/SparePartIssueJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/DTOs/SparePartIssueJobDTO.cs @@ -37,4 +37,25 @@ public class SparePartIssueJobDTO : SfsJobDTOBase public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/Inputs/SparePartIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/Inputs/SparePartIssueJobEditInput.cs index 82cdeed81..e20fd100a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/Inputs/SparePartIssueJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/Inputs/SparePartIssueJobEditInput.cs @@ -66,5 +66,26 @@ public class SparePartIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCr public bool UseOnTheWayLocation { get; set; } public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs index 541fbf282..c391bd22a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs @@ -15,6 +15,9 @@ using MyNamespace; using Omu.ValueInjecter; using Volo.Abp; using Volo.Abp.ObjectMapping; +using Volo.Abp.Timing; +using Volo.Abp.Uow; +using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; @@ -25,6 +28,7 @@ using Win_in.Sfs.Wms.Store.Domain.Shared; using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy; using Win_in.Sfs.Wms.Store.Notes; using Win_in.Sfs.Wms.Store.Options; +using static Volo.Abp.Identity.Settings.IdentitySettingNames; namespace Win_in.Sfs.Wms.Store.Application; @@ -46,6 +50,7 @@ public class AssembleIssueJobAppService private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; private readonly ILogger _logger; + private readonly ICurrentUser _currentUser; public AssembleIssueJobAppService( ILogger logger, @@ -53,7 +58,7 @@ public class AssembleIssueJobAppService ILocationAppService locationAppService, IAssembleIssueNoteAppService assembleIssueNoteAppService, IExpectOutAppService expectOutAppService , IHttpClientFactory httpClientFactory - , IOptions options, ITransferLibRequestAppService transferLibRequestAppService) : base( + , IOptions options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser) : base( repository, assembleIssueJobManager) { _assembleIssueJobManager = assembleIssueJobManager; @@ -63,6 +68,7 @@ public class AssembleIssueJobAppService _httpClientFactory = httpClientFactory; _options = options; _transferLibRequestAppService = transferLibRequestAppService; + _currentUser = currentUser; _logger = logger; } @@ -292,6 +298,35 @@ public class AssembleIssueJobAppService } } + [HttpPost("accept/{id}")] + [UnitOfWork] + public override async Task AcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims=true; + entity.ClaimsUserName = _currentUser.UserName; + entity.ClaimsUserId = _currentUser.Id.ToString(); + entity.AcceptTime = Clock.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + + /// + /// 取消承接任务 + /// + /// + /// + [HttpPost("cancel-accept/{id}")] + [UnitOfWork] + public override async Task CancelAcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = false; + entity.ClaimsUserName = string.Empty; + entity.ClaimsUserId = string.Empty; + entity.AcceptTime = DateTime.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + #region 立库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs index 7e59d4800..f24e687d5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs @@ -14,6 +14,8 @@ using Microsoft.Extensions.Options; using MyNamespace; using Volo.Abp; using Volo.Abp.ObjectMapping; +using Volo.Abp.Uow; +using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; @@ -42,6 +44,7 @@ public class CoatingIssueJobAppService private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; private readonly ILogger _logger; + private readonly ICurrentUser _currentUser; protected ICoatingIssueRequestAppService CoatingIssueRequestAppService => LazyServiceProvider.LazyGetRequiredService(); @@ -53,7 +56,7 @@ public class CoatingIssueJobAppService ILocationAppService locationAppService, ICoatingIssueNoteAppService coatingIssueNoteAppService, IExpectOutAppService expectOutAppService , IHttpClientFactory httpClientFactory - , IOptions options, ITransferLibRequestAppService transferLibRequestAppService) : base( + , IOptions options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser) : base( repository, coatingIssueJobManager) { _coatingIssueJobManager = coatingIssueJobManager; @@ -63,6 +66,7 @@ public class CoatingIssueJobAppService _httpClientFactory = httpClientFactory; _options = options; _transferLibRequestAppService = transferLibRequestAppService; + _currentUser = currentUser; _logger = logger; } @@ -306,6 +310,35 @@ public class CoatingIssueJobAppService } } + [HttpPost("accept/{id}")] + [UnitOfWork] + public override async Task AcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = true; + entity.ClaimsUserName = _currentUser.UserName; + entity.ClaimsUserId = _currentUser.Id.ToString(); + entity.AcceptTime = Clock.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + + /// + /// 取消承接任务 + /// + /// + /// + [HttpPost("cancel-accept/{id}")] + [UnitOfWork] + public override async Task CancelAcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = false; + entity.ClaimsUserName = string.Empty; + entity.ClaimsUserId = string.Empty; + entity.AcceptTime = DateTime.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + #region 立库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs index 1259feed5..9604c5cb0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs @@ -13,6 +13,8 @@ using Microsoft.Extensions.Options; using MyNamespace; using Volo.Abp; using Volo.Abp.ObjectMapping; +using Volo.Abp.Uow; +using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; @@ -40,6 +42,7 @@ public class InjectionIssueJobAppService private readonly IHttpClientFactory _httpClientFactory; private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; + private readonly ICurrentUser _currentUser; protected IInjectionIssueRequestAppService InjectionIssueRequestAppService => LazyServiceProvider.LazyGetRequiredService(); @@ -49,7 +52,7 @@ public class InjectionIssueJobAppService ILocationAppService locationAppService, IInjectionIssueNoteAppService injectionIssueNoteAppService, IExpectOutAppService expectOutAppService , IHttpClientFactory httpClientFactory - , IOptions options, ITransferLibRequestAppService transferLibRequestAppService) : base( + , IOptions options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser) : base( repository, injectionIssueJobManager) { _injectionIssueJobManager = injectionIssueJobManager; @@ -59,6 +62,7 @@ public class InjectionIssueJobAppService _httpClientFactory = httpClientFactory; _options = options; _transferLibRequestAppService = transferLibRequestAppService; + _currentUser = currentUser; } [HttpPost("get-by-number-2")] public async Task GetByNumber2Async(string number) @@ -285,6 +289,35 @@ public class InjectionIssueJobAppService } } + [HttpPost("accept/{id}")] + [UnitOfWork] + public override async Task AcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = true; + entity.ClaimsUserName = _currentUser.UserName; + entity.ClaimsUserId = _currentUser.Id.ToString(); + entity.AcceptTime = Clock.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + + /// + /// 取消承接任务 + /// + /// + /// + [HttpPost("cancel-accept/{id}")] + [UnitOfWork] + public override async Task CancelAcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = false; + entity.ClaimsUserName = string.Empty; + entity.ClaimsUserId = string.Empty; + entity.AcceptTime = DateTime.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + #region 立库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs index cbc2ee77e..067b61a3b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs @@ -12,6 +12,8 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using MyNamespace; using Volo.Abp; +using Volo.Abp.Uow; +using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; @@ -39,6 +41,7 @@ public class KittingIssueJobAppService private readonly IHttpClientFactory _httpClientFactory; private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; + private readonly ICurrentUser _currentUser; protected IKittingIssueRequestAppService KittingIssueRequestAppService => LazyServiceProvider.LazyGetRequiredService(); @@ -48,7 +51,7 @@ public class KittingIssueJobAppService ILocationAppService locationAppService, IKittingIssueNoteAppService kittingIssueNoteAppService, IExpectOutAppService expectOutAppService , IHttpClientFactory httpClientFactory - , IOptions options, ITransferLibRequestAppService transferLibRequestAppService) : base( + , IOptions options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser) : base( repository, kittingIssueJobManager) { _kittingIssueJobManager = kittingIssueJobManager; @@ -58,6 +61,7 @@ public class KittingIssueJobAppService _httpClientFactory = httpClientFactory; _options = options; _transferLibRequestAppService = transferLibRequestAppService; + _currentUser = currentUser; } [HttpPost("get-by-number-2")] @@ -284,6 +288,35 @@ public class KittingIssueJobAppService } } + [HttpPost("accept/{id}")] + [UnitOfWork] + public override async Task AcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = true; + entity.ClaimsUserName = _currentUser.UserName; + entity.ClaimsUserId = _currentUser.Id.ToString(); + entity.AcceptTime = Clock.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + + /// + /// 取消承接任务 + /// + /// + /// + [HttpPost("cancel-accept/{id}")] + [UnitOfWork] + public override async Task CancelAcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = false; + entity.ClaimsUserName = string.Empty; + entity.ClaimsUserId = string.Empty; + entity.AcceptTime = DateTime.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + #region 立库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs index 07d0dc43b..a78a1d3c9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs @@ -12,6 +12,8 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using MyNamespace; using Volo.Abp; +using Volo.Abp.Uow; +using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; @@ -39,6 +41,7 @@ public class SparePartIssueJobAppService private readonly IHttpClientFactory _httpClientFactory; private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; + private readonly ICurrentUser _currentUser; protected ISparePartIssueRequestAppService SparePartIssueRequestAppService => LazyServiceProvider.LazyGetRequiredService(); @@ -48,7 +51,7 @@ public class SparePartIssueJobAppService ILocationAppService locationAppService, ISparePartIssueNoteAppService sparePartIssueNoteAppService, IExpectOutAppService expectOutAppService , IHttpClientFactory httpClientFactory - , IOptions options, ITransferLibRequestAppService transferLibRequestAppService) : base( + , IOptions options, ITransferLibRequestAppService transferLibRequestAppService, ICurrentUser currentUser) : base( repository, sparePartIssueJobManager) { _sparePartIssueJobManager = sparePartIssueJobManager; @@ -58,6 +61,7 @@ public class SparePartIssueJobAppService _httpClientFactory = httpClientFactory; _options = options; _transferLibRequestAppService = transferLibRequestAppService; + _currentUser = currentUser; } [HttpPost("add-many")] @@ -277,6 +281,35 @@ public class SparePartIssueJobAppService } } + [HttpPost("accept/{id}")] + [UnitOfWork] + public override async Task AcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = true; + entity.ClaimsUserName = _currentUser.UserName; + entity.ClaimsUserId = _currentUser.Id.ToString(); + entity.AcceptTime = Clock.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + + /// + /// 取消承接任务 + /// + /// + /// + [HttpPost("cancel-accept/{id}")] + [UnitOfWork] + public override async Task CancelAcceptAsync(Guid id) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + entity.IsClaims = false; + entity.ClaimsUserName = string.Empty; + entity.ClaimsUserId = string.Empty; + entity.AcceptTime = DateTime.Now; + await _repository.UpdateAsync(entity).ConfigureAwait(false); + } + #region 立库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs index 4448b1291..8953f13d3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs @@ -45,4 +45,25 @@ public class AssembleIssueJob : SfsJobAggregateRootBase public override List Details { get; set; } = new List(); public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs index 0792f221b..5f3809163 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs @@ -41,4 +41,25 @@ public class CoatingIssueJob : SfsJobAggregateRootBase public override List Details { get; set; } = new List(); public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs index 866fc727e..a9ef3dde0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs @@ -41,4 +41,25 @@ public class InjectionIssueJob : SfsJobAggregateRootBase Details { get; set; } = new List(); public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs index 5d4cf2c24..41d448a07 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs @@ -41,4 +41,25 @@ public class KittingIssueJob : SfsJobAggregateRootBase public override List Details { get; set; } = new List(); public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJob.cs index 555d606cc..b08d20359 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJob.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJob.cs @@ -41,4 +41,25 @@ public class SparePartIssueJob : SfsJobAggregateRootBase Details { get; set; } = new List(); public EnumIssueSendType EnumIssueSendType { get; set; } + + /// + /// 已承接 + /// + /// + [Display(Name = "是否已承接")] + public bool IsClaims { get; set; } + + /// + /// 承接人ID + /// + /// + [Display(Name = "承接人ID")] + public string ClaimsUserId { get; set; } + + /// + /// 承接人 + /// + /// + [Display(Name = "承接人")] + public string ClaimsUserName { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs index c96d98feb..7df1b8d63 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs @@ -13,6 +13,9 @@ public partial class StoreEventAutoMapperProfile : Profile { CreateMap() .ForMember(x => x.AssembleRequestNumber, y => y.MapFrom(d => d.Number)) + .ForMember(x => x.IsClaims, y => y.MapFrom(d => false)) + .Ignore(x => x.ClaimsUserName) + .Ignore(x => x.ClaimsUserId) .Ignore(x => x.WarehouseCode) .Ignore(x => x.UpStreamJobNumber) .Ignore(x => x.JobType) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/CoatingIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/CoatingIssueRequestAutoMapperProfile.cs index 12561b673..b56b1c920 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/CoatingIssueRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/CoatingIssueRequestAutoMapperProfile.cs @@ -13,6 +13,9 @@ public partial class StoreEventAutoMapperProfile : Profile { CreateMap() .ForMember(x => x.CoatingRequestNumber, y => y.MapFrom(d => d.Number)) + .ForMember(x => x.IsClaims, y => y.MapFrom(d => false)) + .Ignore(x => x.ClaimsUserName) + .Ignore(x => x.ClaimsUserId) .Ignore(x => x.WarehouseCode) .Ignore(x => x.UpStreamJobNumber) .Ignore(x => x.JobType) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/InjectionIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/InjectionIssueRequestAutoMapperProfile.cs index 8cdd7e8df..5d1ad348d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/InjectionIssueRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/InjectionIssueRequestAutoMapperProfile.cs @@ -13,6 +13,9 @@ public partial class StoreEventAutoMapperProfile : Profile { CreateMap() .ForMember(x => x.InjectionRequestNumber, y => y.MapFrom(d => d.Number)) + .ForMember(x => x.IsClaims, y => y.MapFrom(d => false)) + .Ignore(x => x.ClaimsUserName) + .Ignore(x => x.ClaimsUserId) .Ignore(x => x.WarehouseCode) .Ignore(x => x.UpStreamJobNumber) .Ignore(x => x.JobType) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/KittingIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/KittingIssueRequestAutoMapperProfile.cs index 5333732f1..184df3f8c 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/KittingIssueRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/KittingIssueRequestAutoMapperProfile.cs @@ -13,6 +13,9 @@ public partial class StoreEventAutoMapperProfile : Profile { CreateMap() .ForMember(x => x.KittingRequestNumber, y => y.MapFrom(d => d.Number)) + .ForMember(x => x.IsClaims, y => y.MapFrom(d => false)) + .Ignore(x => x.ClaimsUserName) + .Ignore(x => x.ClaimsUserId) .Ignore(x => x.WarehouseCode) .Ignore(x => x.UpStreamJobNumber) .Ignore(x => x.JobType) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/SparePartIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/SparePartIssueRequestAutoMapperProfile.cs index 63874e5d7..1146f1f90 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/SparePartIssueRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/SparePartIssueRequestAutoMapperProfile.cs @@ -13,6 +13,9 @@ public partial class StoreEventAutoMapperProfile : Profile { CreateMap() .ForMember(x => x.SparePartRequestNumber, y => y.MapFrom(d => d.Number)) + .ForMember(x => x.IsClaims, y => y.MapFrom(d => false)) + .Ignore(x => x.ClaimsUserName) + .Ignore(x => x.ClaimsUserId) .Ignore(x => x.WarehouseCode) .Ignore(x => x.UpStreamJobNumber) .Ignore(x => x.JobType)