| | |
| | | using Volo.Abp.ObjectMapping; |
| | | using CmsQueryExtensions.Entitys; |
| | | |
| | | |
| | | namespace CMS.Plugin.HIAWms.Application.Implements; |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public class WmsMaterialAppService : CMSPluginAppService, IWmsMaterialAppService |
| | | { |
| | | private readonly IWmsMaterialRepository wmsMaterialRepository; |
| | | private readonly IWmsMaterialRepository _wmsMaterialRepository; |
| | | |
| | | /// <summary> |
| | | /// Initializes a new instance of the <see cref="WmsMaterialAppService"/> class. |
| | | /// </summary> |
| | | /// <param name="WmsMaterialRepository">The task job repository.</param> |
| | | public WmsMaterialAppService(IWmsMaterialRepository _WmsMaterialRepository) |
| | | public WmsMaterialAppService(IWmsMaterialRepository wmsMaterialRepository) |
| | | { |
| | | wmsMaterialRepository = _WmsMaterialRepository; |
| | | _wmsMaterialRepository = wmsMaterialRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <returns></returns> |
| | | public virtual async Task<WmsMaterialDto> GetAsync(Guid id) |
| | | { |
| | | return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await wmsMaterialRepository.GetAsync(id)); |
| | | return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await _wmsMaterialRepository.GetAsync(id)); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | #endregion |
| | | |
| | | var count = await wmsMaterialRepository.GetCountAsync(whereConditions); |
| | | var list = await wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); |
| | | var count = await _wmsMaterialRepository.GetCountAsync(whereConditions); |
| | | var list = await _wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); |
| | | |
| | | return new PagedResultDto<WmsMaterialDto>(count, ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list)); |
| | | } |
| | |
| | | return whereConditions; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ°å»ºç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | |
| | | { |
| | | await CheckCreateOrUpdateDtoAsync(input); |
| | | |
| | | var exist = await wmsMaterialRepository.NameExistAsync(input.MaterialCode); |
| | | var exist = await _wmsMaterialRepository.NameExistAsync(input.MaterialCode); |
| | | if (exist) |
| | | { |
| | | throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); |
| | | } |
| | | |
| | | var maxSort = await wmsMaterialRepository.GetMaxSortAsync(); |
| | | var maxSort = await _wmsMaterialRepository.GetMaxSortAsync(); |
| | | var sort = input.Sort ?? maxSort; |
| | | |
| | | var insertObj = ObjectMapper.Map<WmsMaterialCreateDto, WmsMaterial>(input); |
| | |
| | | input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); |
| | | |
| | | insertObj.CreatorName = input.CreatorName;//å建人 |
| | | await wmsMaterialRepository.InsertAsync(insertObj); |
| | | await _wmsMaterialRepository.InsertAsync(insertObj); |
| | | |
| | | //if (input.Sort.HasValue && insertObj.Sort != maxSort) |
| | | //{ |
| | |
| | | { |
| | | await CheckCreateOrUpdateDtoAsync(input); |
| | | |
| | | var updateObj = await wmsMaterialRepository.GetAsync(id); |
| | | var exist = await wmsMaterialRepository.NameExistAsync(input.MaterialCode, updateObj.Id); |
| | | var updateObj = await _wmsMaterialRepository.GetAsync(id); |
| | | var exist = await _wmsMaterialRepository.NameExistAsync(input.MaterialCode, updateObj.Id); |
| | | if (exist) |
| | | { |
| | | throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); |
| | |
| | | updateObj.RedundantField3 = input.RedundantField3; |
| | | updateObj.Remark = input.Remark; |
| | | |
| | | |
| | | updateObj.LastModifierName = input.LastModifierName;//ä¿®æ¹äºº |
| | | |
| | | await wmsMaterialRepository.UpdateAsync(updateObj); |
| | | await _wmsMaterialRepository.UpdateAsync(updateObj); |
| | | |
| | | return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(updateObj); |
| | | } |
| | |
| | | //var wmsMaterials = new List<WmsMaterial>(); |
| | | //if (ids != null) |
| | | //{ |
| | | // var sort = await wmsMaterialRepository.GetMaxSortAsync(); |
| | | // var sort = await _wmsMaterialRepository.GetMaxSortAsync(); |
| | | // foreach (var id in ids) |
| | | // { |
| | | // var WmsMaterial = await wmsMaterialRepository.FindAsync(id); |
| | | // var WmsMaterial = await _wmsMaterialRepository.FindAsync(id); |
| | | // if (WmsMaterial != null) |
| | | // { |
| | | // var name = WmsMaterial.Name + WmsMaterialConsts.CloneTag; |
| | | // var notExist = false; |
| | | // while (!notExist) |
| | | // { |
| | | // var exist = await wmsMaterialRepository.NameExistAsync(name); |
| | | // var exist = await _wmsMaterialRepository.NameExistAsync(name); |
| | | // if (exist || wmsMaterials.Any(x => x.Name == name)) |
| | | // { |
| | | // name += WmsMaterialConsts.CloneTag; |
| | |
| | | // notExist = true; |
| | | // } |
| | | |
| | | // //WmsMaterial = await wmsMaterialRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++)); |
| | | // //WmsMaterial = await _wmsMaterialRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++)); |
| | | // wmsMaterials.Add(WmsMaterial); |
| | | // } |
| | | // } |
| | |
| | | /// <returns></returns> |
| | | public virtual Task DeleteAsync(Guid id) |
| | | { |
| | | return wmsMaterialRepository.DeleteAsync(id); |
| | | return _wmsMaterialRepository.DeleteAsync(id); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// ç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="id">ç©æID</param> |
| | | /// <param name="id">主é®ID</param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public virtual async Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) |
| | | { |
| | | wmsMaterialRepository.DeletePermanentlyAsync(id); |
| | | _wmsMaterialRepository.DeletePermanentlyAsync(id); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¹éç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ |
| | | /// </summary> |
| | | /// <param name="ids">è¦å é¤çç©æIDå表</param> |
| | | /// <param name="ids">è¦å é¤ç主é®IDå表</param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) |
| | | { |
| | | wmsMaterialRepository.BatchDeletePermanentlyAsync(ids); |
| | | _wmsMaterialRepository.BatchDeletePermanentlyAsync(ids); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <returns></returns> |
| | | public virtual async Task AdjustSortAsync(Guid id, int sort) |
| | | { |
| | | var list = await wmsMaterialRepository.GetListAsync(null, nameof(WmsMaterial.Sort)); |
| | | var list = await _wmsMaterialRepository.GetListAsync(null, nameof(WmsMaterial.Sort)); |
| | | if (list != null && list.Any()) |
| | | { |
| | | var initSort = 1; |
| | |
| | | } |
| | | } |
| | | |
| | | await wmsMaterialRepository.UpdateManyAsync(list); |
| | | await _wmsMaterialRepository.UpdateManyAsync(list); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <exception cref="UserFriendlyException"></exception> |
| | | public async Task ImportAsync(WmsMaterialsImportModel input, MyCurrentUser myCurrentUser) |
| | | { |
| | | |
| | | Check.NotNull(input, nameof(input)); |
| | | |
| | | var wmsMaterialCreateDtos = new List<(int RowIndex, WmsMaterialCreateDto Item)>(); |
| | |
| | | throw new UserFriendlyException(errorMsg); |
| | | } |
| | | |
| | | var oldWmsMaterial = await wmsMaterialRepository.FindByNameAsync(impItem.MaterialCode); |
| | | var oldWmsMaterial = await _wmsMaterialRepository.FindByNameAsync(impItem.MaterialCode); |
| | | if (oldWmsMaterial != null) |
| | | { |
| | | var wmsMaterialUpdateDto = new WmsMaterialUpdateDto |
| | |
| | | #endregion |
| | | |
| | | |
| | | var list = await wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); |
| | | var list = await _wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); |
| | | var result = ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list); |
| | | |
| | | var sheets = new Dictionary<string, object> |
| | |
| | | /// <returns></returns> |
| | | public async Task<List<WmsMaterial>> GetListByFilterAsync(Expression<Func<WmsMaterial, bool>> whereConditions, CancellationToken cancellationToken = default) |
| | | { |
| | | return await wmsMaterialRepository.GetListByFilterAsync(whereConditions); |
| | | return await _wmsMaterialRepository.GetListByFilterAsync(whereConditions); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <exception cref="UserFriendlyException"></exception> |
| | | public async Task<WmsMaterial> GetSingleByFilterAsync(Expression<Func<WmsMaterial, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) |
| | | { |
| | | return await wmsMaterialRepository.GetSingleByFilterAsync(whereConditions, isâMultipleThrowException); |
| | | return await _wmsMaterialRepository.GetSingleByFilterAsync(whereConditions, isâMultipleThrowException); |
| | | } |
| | | } |