diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingImportInput.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingImportInput.cs index decc1584c..4130690bf 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingImportInput.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingImportInput.cs @@ -16,7 +16,6 @@ public class KittingImportInput : SfsBaseDataImportInputBase [Display(Name = "Kitting名称")] public string Name { get; set; } - /// /// Kitting编码 /// @@ -45,11 +44,6 @@ public class KittingImportInput : SfsBaseDataImportInputBase [Display(Name = "配置")] public string Configuration { get; set; } - - - - - /// /// 数量 /// diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs index 2ca84955e..d9b2baaee 100644 --- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs +++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs @@ -33,4 +33,10 @@ public enum EnumIssueRequestType /// [Display(Name = "位置码")] PositionCode =4, + + /// + /// EXCEL导入 + /// + [Display(Name = "EXCEL导入")] + ExcelImport=5, } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/DTOs/ChassisOperationSequenceSearchDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/DTOs/ChassisOperationSequenceSearchDTO.cs index bdb5f04fd..028366dc0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/DTOs/ChassisOperationSequenceSearchDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/DTOs/ChassisOperationSequenceSearchDTO.cs @@ -9,7 +9,7 @@ using Win_in.Sfs.Basedata.Domain; namespace Win_in.Sfs.Wms.Store.Application.Contracts; public class ChassisOperationSequenceSearchDTO { - public List ChassisNumberList { get; set; } + public List ChassisNumberList { get; set; }=new List(); /// /// Kitting组包Bom的物品号 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs index 8ad90aad7..eb3bff3b4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs @@ -12,4 +12,5 @@ public interface IAssembleIssueRequestAppService Task CreateAndHandleAsync(AssembleIssueRequestEditInput input); Task UpdateStatusCompletedAsync(string number); Task IsHasNewJobAsync(string requestNumber, List jobNumber); + Task CreateImportExcelAsync(List inputs); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/CoatingIssueRequests/ICoatingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/CoatingIssueRequests/ICoatingIssueRequestAppService.cs index 54bb032f1..986658ee7 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/CoatingIssueRequests/ICoatingIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/CoatingIssueRequests/ICoatingIssueRequestAppService.cs @@ -13,4 +13,5 @@ public interface ICoatingIssueRequestAppService Task CreateAndHandleAsync(CoatingIssueRequestEditInput input); Task UpdateStatusCompletedAsync(string number); Task IsHasNewJobAsync(string requestNumber, List jobNumber); + Task CreateImportExcelAsync(List inputs); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs index e7cee5fc3..309babf23 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs @@ -13,6 +13,7 @@ public interface IInjectionIssueRequestAppService Task CreateAndHandleAsync(InjectionIssueRequestEditInput input); Task UpdateStatusCompletedAsync(string number); Task IsHasNewJobAsync(string requestNumber, List jobNumber); + Task CreateImportExcelAsync(List inputs); Task> GetListForSJ(List p_list); Task> Getlist(List pList); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs index 10f501e57..bada4151d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs @@ -13,4 +13,5 @@ public interface IKittingIssueRequestAppService Task CreateAndHandleAsync(KittingIssueRequestEditInput input); Task UpdateStatusCompletedAsync(string number); Task IsHasNewJobAsync(string requestNumber,List jobNumber); + Task CreateImportExcelAsync(List inputs); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs index 7e65fd510..18d0f0447 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs @@ -1,50 +1,40 @@ using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; using Win_in.Sfs.Shared.Application.Contracts; +using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; namespace Win_in.Sfs.Wms.Store.Application.Contracts; -[Display(Name = "叫料申请")] +[Display(Name = "Kitting叫料申请")] public class KittingIssueRequestImportInput : SfsStoreImportInputBase { - /// - /// 叫料类型 - /// - [Display(Name = "叫料类型")] - public EnumIssueRequestType IssueRequestType { get; set; } + [Display(Name = "序号")] + [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + [Key] + public string Number { get; set; } - /// - /// 物品代码 - /// - [Display(Name = "物品代码")] - [Required] - public string ItemCode { get; set; } + #region 目标库位信息 /// /// 目标库位 /// [Display(Name = "目标库位")] - [Required] + [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] public string ToLocationCode { get; set; } /// - /// 来源库区 + /// 需求数量 /// - [Display(Name = "调出库区")] - [Required] - public string FromLocationArea { get; set; } - - /// - /// 数量 - /// - [Display(Name = "数量")] - [Required(ErrorMessage = "{0}是必填项")] + [Display(Name = "需求数量")] public decimal Qty { get; set; } /// - /// 备注 + /// 物品代码 /// - [Display(Name = "备注")] - public string Remark { get; set; } + [Display(Name = "物品代码")] + public string ItemCode { get; set; } + + #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/SparePartIssueRequests/ISparePartIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/SparePartIssueRequests/ISparePartIssueRequestAppService.cs index e930ba732..8853be2b0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/SparePartIssueRequests/ISparePartIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/SparePartIssueRequests/ISparePartIssueRequestAppService.cs @@ -13,4 +13,5 @@ public interface ISparePartIssueRequestAppService Task CreateAndHandleAsync(SparePartIssueRequestEditInput input); Task UpdateStatusCompletedAsync(string number); Task IsHasNewJobAsync(string requestNumber,List jobNumber); + Task CreateImportExcelAsync(List inputs); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ChassisOperationSequence/ChassisOperationSequenceAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ChassisOperationSequence/ChassisOperationSequenceAppService.cs index 7d340a04e..5c7a4ec95 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ChassisOperationSequence/ChassisOperationSequenceAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ChassisOperationSequence/ChassisOperationSequenceAppService.cs @@ -147,6 +147,8 @@ public class ChassisOperationSequenceAppService listChassisOperationSequenceSearchDto.ChassisNumberList.Add(dict.Key); } } + + listChassisOperationSequenceSearchList.Add(listChassisOperationSequenceSearchDto); } return listChassisOperationSequenceSearchList; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs index 913dc928e..e4286437b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs @@ -27,6 +27,7 @@ public class TransferLibJobAppService private readonly ILocationAppService _locationAppService; private readonly IExpectOutAppService _expectOutAppService; private readonly IBalanceAppService _balanceAppService; + private readonly IItemBasicAppService _itemBasicAppService; protected ITransferLibRequestAppService TransferLibRequestAppService => LazyServiceProvider.LazyGetRequiredService(); @@ -34,13 +35,15 @@ public class TransferLibJobAppService public TransferLibJobAppService( ITransferLibJobRepository repository, ITransferLibJobManager TransferLibJobManager, IServiceProvider serviceProvider, ILocationAppService locationAppService, - IExpectOutAppService expectOutAppService, IBalanceAppService balanceAppService) : base(repository, - TransferLibJobManager) + IExpectOutAppService expectOutAppService, IBalanceAppService balanceAppService, + IItemBasicAppService itemBasicAppService) : + base(repository, TransferLibJobManager) { _serviceProvider = serviceProvider; _locationAppService = locationAppService; _expectOutAppService = expectOutAppService; _balanceAppService = balanceAppService; + _itemBasicAppService = itemBasicAppService; } /// @@ -202,6 +205,13 @@ public class TransferLibJobAppService #endregion + List itemLst = new List(); + if (dto.Details.Any(itm => itm.StdPackQty == 0)) + { + var codeLst = dto.Details.Where(itm => itm.StdPackQty == 0).Select(itm => itm.ItemCode).ToList(); + itemLst = await _itemBasicAppService.GetByCodesAsync(codeLst).ConfigureAwait(false); + } + foreach (var detail in dto.Details) { detail.HandledFromContainerCode = string.Empty; @@ -213,6 +223,15 @@ public class TransferLibJobAppService .ConfigureAwait(false); var toLocationDto = await _locationAppService.GetByCodeAsync(detail.HandledToLocationCode).ConfigureAwait(false); + //标包为空时赋值 + if (detail.StdPackQty == 0) + { + var itemObj = itemLst.FirstOrDefault(itm => itm.Code == detail.ItemCode); + if (itemObj != null) + { + detail.StdPackQty = itemObj.StdPackQty; + } + } detail.HandledFromLocationArea = fromLocationDto.AreaCode; detail.HandledFromLocationCode = fromLocationDto.Code; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs index 79f901e1f..a57e2b4a0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs @@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.Application.Dtos; +using Win_in.Sfs.Basedata.Application; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Application.Contracts; using Win_in.Sfs.Shared.Domain; @@ -32,12 +33,14 @@ public class ContainerRequestAppService : private readonly IAreaAppService _areaApp; private readonly ICustomerAppService _customerApp; private readonly ICustomerAddressAppService _customerAddressApp; + private readonly ITransactionTypeAppService _transactionTypeAppService; public ContainerRequestAppService( IContainerRequestRepository repository , IContainerRequestManager containerRequestManager , IAreaAppService areaApp , ICustomerAppService customerApp + , ITransactionTypeAppService transactionTypeAppService , ICustomerAddressAppService customerAddressApp) : base(repository, containerRequestManager) { @@ -45,6 +48,7 @@ public class ContainerRequestAppService : _areaApp = areaApp; _customerApp = customerApp; _customerAddressApp = customerAddressApp; + _transactionTypeAppService= transactionTypeAppService; } @@ -56,12 +60,8 @@ public class ContainerRequestAppService : [HttpPost("")] public override async Task CreateAsync(ContainerRequestEditInput input) { - - input.AutoAgree = true; - input.AutoHandle = true; - input.AutoSubmit = true; - input.AutoCompleteJob = false; - input.DirectCreateNote = false; + + await SetRequestAutoPropertiesAsync(input).ConfigureAwait(false); var entity = ObjectMapper.Map(input); @@ -71,5 +71,22 @@ public class ContainerRequestAppService : return dto; } - + /// + /// 赋值Request业务属性 + /// + /// + /// + private async Task SetRequestAutoPropertiesAsync(ContainerRequestEditInput entity) + { + var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false); + + Check.NotNull(tranType, "事务类型", "事务类型不存在"); + + entity.AutoSubmit = tranType.AutoSubmitRequest; + entity.AutoAgree = tranType.AutoAgreeRequest; + entity.AutoHandle = tranType.AutoHandleRequest; + entity.AutoCompleteJob = tranType.AutoCompleteJob; + entity.DirectCreateNote = tranType.DirectCreateNote; + } + } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs index 2ceccb4e4..2bef84df3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs @@ -230,6 +230,29 @@ public class AssembleIssueRequestAppService : SfsStoreRequestAppServiceBase inputs) + { + foreach (var input in inputs) + { + input.UseOnTheWayLocation = false; + input.ActiveDate = DateTime.Now; ; + input.IssueRequestType = EnumIssueRequestType.ExcelImport; + input.DirectCreateNote = false; + input.AutoSubmit = true; + input.AutoHandle = false; + input.AutoCompleteJob = false; + foreach (var detail in input.Details) + { + detail.BoxQty = detail.Qty; + detail.RecommendType = EnumRecommendType.None; + detail.Status = EnumStatus.Open; + } + + await CreateAsync(input).ConfigureAwait(false); + } + } + #region 私有 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs index f8be3c92e..3b0363cde 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs @@ -230,6 +230,29 @@ public class CoatingIssueRequestAppService : SfsStoreRequestAppServiceBase inputs) + { + foreach (var input in inputs) + { + input.UseOnTheWayLocation = false; + input.ActiveDate = DateTime.Now; ; + input.IssueRequestType = EnumIssueRequestType.ExcelImport; + input.DirectCreateNote = false; + input.AutoSubmit = true; + input.AutoHandle = false; + input.AutoCompleteJob = false; + foreach (var detail in input.Details) + { + detail.BoxQty = detail.Qty; + detail.RecommendType = EnumRecommendType.None; + detail.Status = EnumStatus.Open; + } + + await CreateAsync(input).ConfigureAwait(false); + } + } + #region 私有 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs index 23e763536..d86bc42cc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs @@ -151,7 +151,7 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase inputs) + { + foreach (var input in inputs) + { + input.UseOnTheWayLocation = false; + input.ActiveDate = DateTime.Now; ; + input.IssueRequestType = EnumIssueRequestType.ExcelImport; + input.DirectCreateNote = false; + input.AutoSubmit = true; + input.AutoHandle = false; + input.AutoCompleteJob = false; + foreach (var detail in input.Details) + { + detail.BoxQty = detail.Qty; + detail.RecommendType = EnumRecommendType.None; + detail.Status = EnumStatus.Open; + } + + await CreateAsync(input).ConfigureAwait(false); + } + } + #region 私有 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs index 3f1d823c1..9d14fbd29 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs @@ -4,11 +4,16 @@ using System.Linq; using System.Threading.Tasks; using Castle.Components.DictionaryAdapter; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; using NUglify.Helpers; using Volo.Abp; using Win_in.Sfs.Basedata.Application.Contracts; +using Win_in.Sfs.Basedata.Domain; +using Win_in.Sfs.Shared.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; +using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain.Shared; @@ -228,6 +233,29 @@ public class KittingIssueRequestAppService : SfsStoreRequestAppServiceBase inputs) + { + foreach (var input in inputs) + { + input.UseOnTheWayLocation = false; + input.ActiveDate = DateTime.Now;; + input.IssueRequestType = EnumIssueRequestType.ExcelImport; + input.DirectCreateNote = false; + input.AutoSubmit = true; + input.AutoHandle = false; + input.AutoCompleteJob = false; + foreach (var detail in input.Details) + { + detail.BoxQty = detail.Qty; + detail.RecommendType = EnumRecommendType.KITTING; + detail.Status = EnumStatus.Open; + } + + await CreateAsync(input).ConfigureAwait(false); + } + } + #region 私有 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs index 641908973..2cb464aa4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs @@ -43,7 +43,9 @@ public partial class StoreApplicationAutoMapperProfile : Profile .Ignore(x => x.ToWarehouseCode) .Ignore(x => x.ToLocationArea) .Ignore(x => x.ToLocationGroup) - .Ignore(x => x.ItemName).Ignore(x => x.ItemDesc1).Ignore(x => x.ItemDesc2) + .Ignore(x => x.ItemName) + .Ignore(x => x.ItemDesc1) + .Ignore(x => x.ItemDesc2) .Ignore(x => x.ProdLine) .Ignore(x => x.IssuedQty) .Ignore(x => x.ReceivedQty) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/SparePartIssueRequests/SparePartIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/SparePartIssueRequests/SparePartIssueRequestAppService.cs index 21729e608..a87562f41 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/SparePartIssueRequests/SparePartIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/SparePartIssueRequests/SparePartIssueRequestAppService.cs @@ -9,6 +9,7 @@ using NUglify.Helpers; using Volo.Abp; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; +using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain.Shared; @@ -225,6 +226,29 @@ public class SparePartIssueRequestAppService : SfsStoreRequestAppServiceBase inputs) + { + foreach (var input in inputs) + { + input.UseOnTheWayLocation = false; + input.ActiveDate = DateTime.Now; ; + input.IssueRequestType = EnumIssueRequestType.ExcelImport; + input.DirectCreateNote = false; + input.AutoSubmit = true; + input.AutoHandle = false; + input.AutoCompleteJob = false; + foreach (var detail in input.Details) + { + detail.BoxQty = detail.Qty; + detail.RecommendType = EnumRecommendType.None; + detail.Status = EnumStatus.Open; + } + + await CreateAsync(input).ConfigureAwait(false); + } + } + #region 私有 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs index d190cae40..4d6b3e577 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs @@ -28,7 +28,7 @@ public class ContainerRequestEventHandler private readonly IContainerNoteAppService _containerNoteApp; private readonly IContainerJobAppService _containerJobApp; private readonly IEquipmentLocAppService _equipmentLocApp; - + private readonly ILocationAppService _locationAppService; private readonly IContainerRequestManager _containerRequestManager; @@ -36,12 +36,15 @@ public class ContainerRequestEventHandler IContainerNoteAppService containerNoteApp, IContainerJobAppService containerJobApp, IEquipmentLocAppService equipmentLocApp, + ILocationAppService locationAppService, IContainerRequestManager containerRequestManager) { _containerNoteApp = containerNoteApp; _containerJobApp = containerJobApp; _equipmentLocApp= equipmentLocApp; _containerRequestManager = containerRequestManager; + _locationAppService = locationAppService; + } @@ -127,59 +130,25 @@ public class ContainerRequestEventHandler var createInput = ObjectMapper.Map(request); ContainerNoteDetailInput detail=new ContainerNoteDetailInput(); - //createInput.Details = new List(); - //detail.ToLocationCode = request.RequestLocationCode; - - //detail.FromLocationCode = "123"; - //detail.FromPackingCode = "123"; - //detail.ToPackingCode = "123"; - //detail.FromLot = "123"; - //detail.ToLot = "123"; - //detail.FromLocationErpCode = "123"; - //detail.FromWarehouseCode = "123"; - //detail.ToLocationErpCode = "123"; - //detail.ToWarehouseCode = "123"; - //detail.Uom = "123"; - //detail.ItemCode = "123"; - //detail.ItemName = "123"; - - ////var container = await _equipmentLocApp.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false); - - ////if (container != null) - ////{ - //// detail.ItemCode = container.Code; - ////} - - //createInput.Details.Add(detail); - + return createInput; } - - private async Task BuildContainerJobsAsync(ContainerRequest request) { var createInput = ObjectMapper.Map(request); - - createInput.WarehouseCode = "T8"; - - //ContainerJobDetailInput detail=new ContainerJobDetailInput(); - - //detail.FromLocationCode = "123"; - //detail.ToLocationCode = "123"; - - //detail.ItemCode = "123"; - //detail.ItemName = "123"; - //detail.RecommendPackingCode = "123"; - //detail.RecommendLot = "123"; - //detail.RecommendFromLocationCode = "123"; - //detail.RecommendFromLocationErpCode = "123"; - //detail.Uom = "123"; - - - //createInput.Details.Add(detail); - + var toLocationDto = await _locationAppService.GetByCodeAsync(createInput.RequestLocationCode).ConfigureAwait(false); + if(toLocationDto!=null) + { + createInput.WarehouseCode = toLocationDto.WarehouseCode; + } + else + { + createInput.WarehouseCode = ""; + } + + return createInput ; }