zs
2025-05-15 9d23331a1bdb4b4d38216d61cd9707ef13f30aa4
修改物料类型
已重命名1个文件
已修改12个文件
已复制1个文件
834 ■■■■ 文件已修改
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/CMS.Plugin.HIAWms.Application.Contracts.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/MaterialTypeOutput.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialTypeAppService.cs 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialTypeAppService.cs 615 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialTypeAutoMapperProfile.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialType/IWmsMaterialTypeRepository.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialType/WmsMaterialType.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterialType.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialTypeRepository.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialTypeController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Controller模板.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/CMS.Plugin.HIAWms.Application.Contracts.csproj
@@ -16,6 +16,7 @@
    <ItemGroup>
        <ProjectReference Include="..\CMS.Plugin.HIAWms.Domain.Shared\CMS.Plugin.HIAWms.Domain.Shared.csproj" />
        <ProjectReference Include="..\CMS.Plugin.HIAWms.Domain\CMS.Plugin.HIAWms.Domain.csproj" />
    </ItemGroup>
    <ItemGroup>
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/MaterialTypeOutput.cs
ÎļþÃû´Ó HIAWms/server/src/CMS.Plugin.HIAWms.Domain/MaterialType/WmsMaterialType.cs ÐÞ¸Ä
@@ -1,13 +1,15 @@
using CMS.Plugin.MyExtension.Domain;
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.HIAWms.Domain.MaterialType
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto
{
    public class WmsMaterialType : MyFullAuditedAggregateRoot<Guid>
    /// <summary>
    /// ç‰©æ–™ç±»åž‹é€‰æ‹©ç±»
    /// </summary>
    public class MaterialTypeOutput
    {
        /// <summary>
        /// ç±»åž‹æè¿°
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
@@ -50,5 +50,11 @@
        /// <param name="placeType"></param>
        /// <returns></returns>
        Task<List<PlaceListOutput>> GetPlaceListForSelectAsync(PlaceTypeEnum placeType);
        /// <summary>
        /// èŽ·å–ç‰©æ–™ç±»åž‹
        /// </summary>
        /// <returns></returns>
        Task<List<MaterialTypeOutput>> GetMaterialTypeListAsync();
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialTypeAppService.cs
@@ -1,85 +1,84 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType;
using Volo.Abp.Application.Services;
using CmsQueryExtensions.Entitys;
using System.Linq.Expressions;
using CMS.Plugin.HIAWms.Domain.WmsMaterialType;
namespace CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos;
using Volo.Abp.Application.Services;
using CmsQueryExtensions.Entitys;
using System.Linq.Expressions;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType;
using CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
namespace CMS.Plugin.HIAWms.Application.Contracts.Services;
/// <summary> 
/// ç‰©æ–™l类型信息应用服务接口 
/// </summary> 
public interface IWmsMaterialTypeAppService : ICrudAppService<WmsMaterialTypeDto, Guid, GetWmsMaterialTypeInput, WmsMaterialTypeCreateDto, WmsMaterialTypeUpdateDto>
{
public interface IWmsMaterialTypeAppService : ICrudAppService<WmsMaterialTypeDto, Guid, GetWmsMaterialTypeInput, WmsMaterialTypeCreateDto, WmsMaterialTypeUpdateDto>
{
    /// <summary> 
    /// å…‹éš†ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="ids"></param> 
    /// <returns></returns> 
    Task<List<WmsMaterialTypeDto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser);
    Task<List<WmsMaterialTypeDto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser);
    /// <summary> 
    /// åˆ é™¤ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="ids"></param> 
    /// <returns></returns> 
    Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser);
    Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser);
    /// <summary> 
    /// ç‰©ç†åˆ é™¤ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="id">主键ID</param> 
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default);
    Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default);
    /// <summary> 
    /// æ‰¹é‡ç‰©ç†åˆ é™¤ç‰©æ–™l类型信息(直接删除,不软删除) 
    /// </summary> 
    /// <param name="ids">要删除的主键ID列表</param> 
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default);
    Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default);
    /// <summary> 
    /// è°ƒæ•´æŽ’序物料l类型信息 
    /// </summary> 
    /// <param name="id"></param> 
    /// <param name="sort"></param> 
    /// <returns></returns> 
    Task AdjustSortAsync(Guid id, int sort);
    Task AdjustSortAsync(Guid id, int sort);
    /// <summary> 
    /// å¯¼å…¥ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    Task ImportAsync(WmsMaterialTypesImportModel input, MyCurrentUser myCurrentUser);
    Task ImportAsync(WmsMaterialTypesImportModel input, MyCurrentUser myCurrentUser);
    /// <summary> 
    /// å¯¼å‡ºç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialTypeInput input);
    /// <summary>
    /// æ ¹æ®æ¡ä»¶èŽ·å–ç‰©æ–™l类型信息列表
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default);
    /// <summary>
    ///  æ ¹æ®æ¡ä»¶èŽ·å–å•ä¸ªç‰©æ–™l类型信息
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="isMultipleThrowException">是否查询出多条就报错</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    /// <exception cref="UserFriendlyException"></exception>
    Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool is​MultipleThrowException = false, CancellationToken cancellationToken = default);
}
    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialTypeInput input);
    /// <summary>
    /// æ ¹æ®æ¡ä»¶èŽ·å–ç‰©æ–™l类型信息列表
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default);
    /// <summary>
    /// æ ¹æ®æ¡ä»¶èŽ·å–å•ä¸ªç‰©æ–™l类型信息
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="isMultipleThrowException"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool is​MultipleThrowException = false, CancellationToken cancellationToken = default);
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
@@ -1,18 +1,23 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStore;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CMS.Plugin.HIAWms.Domain.WmsAreas;
using CMS.Plugin.HIAWms.Domain.WmsMaterials;
using CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
using CMS.Plugin.HIAWms.Domain.WmsPlaces;
using CMS.Plugin.HIAWms.Domain.WmsStores;
using CmsQueryExtensions;
using CmsQueryExtensions.Extension;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
using static CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsArea.WmsAreaCreateOrUpdateDtoBase;
using static CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlace.WmsPlaceCreateOrUpdateDtoBase;
@@ -27,13 +32,15 @@
        private readonly IWmsAreaRepository _wmsAreaRepository;
        private readonly IWmsPlaceRepository _wmsPlaceRepository;
        private readonly IWmsMaterialRepository _wmsMaterialRepository;
        private readonly IWmsMaterialTypeRepository _WmsMaterialTypeRepository;
        public WmsEnumAppService(IWmsStoreRepository storeRepository, IWmsAreaRepository wmsAreaRepository, IWmsPlaceRepository wmsPlaceRepository, IWmsMaterialRepository wmsMaterialRepository)
        public WmsEnumAppService(IWmsStoreRepository storeRepository, IWmsAreaRepository wmsAreaRepository, IWmsPlaceRepository wmsPlaceRepository, IWmsMaterialRepository wmsMaterialRepository, IWmsMaterialTypeRepository wmsMaterialTypeRepository)
        {
            _storeRepository = storeRepository;
            _wmsAreaRepository = wmsAreaRepository;
            _wmsPlaceRepository = wmsPlaceRepository;
            _wmsMaterialRepository = wmsMaterialRepository;
            _WmsMaterialTypeRepository = wmsMaterialTypeRepository;
        }
        public List<EnumItem> GetEnumDataList(WmsEnumInput enumInput)
@@ -126,5 +133,36 @@
                PlaceNoDesc = place.PlaceNo
            }).ToList();
        }
        /// <summary>
        /// èŽ·å–ç±»åž‹åˆ—è¡¨
        /// </summary>
        /// <returns></returns>
        public async Task<List<MaterialTypeOutput>> GetMaterialTypeListAsync()
        {
            var queryInput = new GetWmsMaterialTypeInput();
            var whereConditions = DynamicGetQueryParams(queryInput);
            var list =  await _WmsMaterialTypeRepository.GetListAsync(whereConditions);
            return ObjectMapper.Map<List<WmsMaterialType>, List<MaterialTypeOutput>>(list);
        }
        private FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> DynamicGetQueryParams(GetWmsMaterialTypeInput input)
        {
            //动态构造查询条件
            var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterialType, GetWmsMaterialTypeInput>(input);
            if (!whereConditions.IsSuccess)
            {
                throw new Exception("动态构造查询条件失败:" + whereConditions.ErrMsg);
            }
            //也可再次自定义构建查询条件
            Expression<Func<WmsMaterialType, bool>> extendExpression = a => a.IsDeleted == false;
            // ä½¿ç”¨ System.Linq.PredicateBuilder çš„ And
            var pres = (System.Linq.Expressions.Expression<Func<WmsMaterialType, bool>>)(whereConditions.data);
            whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
            return whereConditions;
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialTypeAppService.cs
@@ -1,129 +1,128 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared;
using CmsQueryExtensions;
using CMS.Plugin.HIAWms.Domain.WmsMaterialType;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.ObjectExtending;
using Volo.Abp.ObjectMapping;
using CmsQueryExtensions.Entitys;
namespace CMS.Plugin.HIAWms.Application.Implements;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared;
using CmsQueryExtensions;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.ObjectExtending;
using CmsQueryExtensions.Entitys;
using CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
namespace CMS.Plugin.HIAWms.Application.Implements;
/// <summary> 
/// ç‰©æ–™l类型信息应用服务 
/// </summary> 
public class WmsMaterialTypeAppService : CMSPluginAppService, IWmsMaterialTypeAppService
{
    private readonly IWmsMaterialTypeRepository _WmsMaterialTypeRepository;
public class WmsMaterialTypeAppService : CMSPluginAppService, IWmsMaterialTypeAppService
{
    private readonly IWmsMaterialTypeRepository _WmsMaterialTypeRepository;
    /// <summary> 
    /// Initializes a new instance of the <see cref="WmsMaterialTypeAppService"/> class. 
    /// </summary> 
    /// <param name="WmsMaterialTypeRepository">The task job repository.</param> 
    public WmsMaterialTypeAppService(IWmsMaterialTypeRepository WmsMaterialTypeRepository)
    {
        _WmsMaterialTypeRepository = WmsMaterialTypeRepository;
    }
    public WmsMaterialTypeAppService(IWmsMaterialTypeRepository WmsMaterialTypeRepository)
    {
        _WmsMaterialTypeRepository = WmsMaterialTypeRepository;
    }
    /// <summary> 
    /// èŽ·å–æŒ‡å®šç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="id"></param> 
    /// <returns></returns> 
    public virtual async Task<WmsMaterialTypeDto> GetAsync(Guid id)
    {
        return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(await _WmsMaterialTypeRepository.GetAsync(id));
    }
    public virtual async Task<WmsMaterialTypeDto> GetAsync(Guid id)
    {
        return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(await _WmsMaterialTypeRepository.GetAsync(id));
    }
    /// <summary> 
    /// åˆ†é¡µèŽ·å–ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    public virtual async Task<PagedResultDto<WmsMaterialTypeDto>> GetListAsync(GetWmsMaterialTypeInput input)
    {
        Check.NotNull(input, nameof(input));
        if (input.Sorting.IsNullOrWhiteSpace())
        {
            input.Sorting = nameof(WmsMaterialType.Sort);
        }
    public virtual async Task<PagedResultDto<WmsMaterialTypeDto>> GetListAsync(GetWmsMaterialTypeInput input)
    {
        Check.NotNull(input, nameof(input));
        if (input.Sorting.IsNullOrWhiteSpace())
        {
            input.Sorting = nameof(WmsMaterialType.Sort);
        }
        #region åŠ¨æ€æž„é€ æŸ¥è¯¢æ¡ä»¶  
        //动态构造查询条件  
        var whereConditions = DynamicGetQueryParams(input);
        #endregion
        var count = await _WmsMaterialTypeRepository.GetCountAsync(whereConditions);
        var list = await _WmsMaterialTypeRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
        return new PagedResultDto<WmsMaterialTypeDto>(count, ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(list));
    }
        var whereConditions = DynamicGetQueryParams(input);
        #endregion
        var count = await _WmsMaterialTypeRepository.GetCountAsync(whereConditions);
        var list = await _WmsMaterialTypeRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
        return new PagedResultDto<WmsMaterialTypeDto>(count, ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(list));
    }
    /// <summary>  
    /// åŠ¨æ€æž„é€ æŸ¥è¯¢æ¡ä»¶  
    /// </summary>  
    /// <param name="input">输入参数</param>  
    /// <returns></returns>  
    private FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> DynamicGetQueryParams(GetWmsMaterialTypeInput input)
    {
    private FunReturnResultModel<Expression<Func<WmsMaterialType, bool>>> DynamicGetQueryParams(GetWmsMaterialTypeInput input)
    {
        //动态构造查询条件  
        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterialType, GetWmsMaterialTypeInput>(input);
        if (!whereConditions.IsSuccess)
        {
            throw new Exception("动态构造查询条件失败:" + whereConditions.ErrMsg);
        }
        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterialType, GetWmsMaterialTypeInput>(input);
        if (!whereConditions.IsSuccess)
        {
            throw new Exception("动态构造查询条件失败:" + whereConditions.ErrMsg);
        }
        //也可再次自定义构建查询条件  
        Expression<Func<WmsMaterialType, bool>> extendExpression = a => a.IsDeleted == false;
        Expression<Func<WmsMaterialType, bool>> extendExpression = a => a.IsDeleted == false;
        // ä½¿ç”¨ System.Linq.PredicateBuilder çš„ And 
        var pres = (System.Linq.Expressions.Expression<Func<WmsMaterialType, bool>>)(whereConditions.data);
        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
        return whereConditions;
    }
        var pres = (System.Linq.Expressions.Expression<Func<WmsMaterialType, bool>>)(whereConditions.data);
        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
        return whereConditions;
    }
    /// <summary> 
    /// æ–°å»ºç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    /// <exception cref="UserFriendlyException"></exception> 
    public virtual async Task<WmsMaterialTypeDto> CreateAsync(WmsMaterialTypeCreateDto input)
    {
        await CheckCreateOrUpdateDtoAsync(input);
        var exist = await _WmsMaterialTypeRepository.NameExistAsync(input.MaterialTypeCode);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialTypeCode]);
        }
        var maxSort = await _WmsMaterialTypeRepository.GetMaxSortAsync();
        var sort = input.Sort ?? maxSort;
        var insertObj = ObjectMapper.Map<WmsMaterialTypeCreateDto, WmsMaterialType>(input);
        insertObj.Sort = sort;
        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
    public virtual async Task<WmsMaterialTypeDto> CreateAsync(WmsMaterialTypeCreateDto input)
    {
        await CheckCreateOrUpdateDtoAsync(input);
        var exist = await _WmsMaterialTypeRepository.NameExistAsync(input.MaterialTypeCode);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialTypeCode]);
        }
        var maxSort = await _WmsMaterialTypeRepository.GetMaxSortAsync();
        var sort = input.Sort ?? maxSort;
        var insertObj = ObjectMapper.Map<WmsMaterialTypeCreateDto, WmsMaterialType>(input);
        insertObj.Sort = sort;
        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
        insertObj.CreatorName = input.CreatorName;//创建人 
        await _WmsMaterialTypeRepository.InsertAsync(insertObj);
        await _WmsMaterialTypeRepository.InsertAsync(insertObj);
        //if (input.Sort.HasValue && insertObj.Sort != maxSort) 
        //{ 
        //    await AdjustSortAsync(insertObj.Id, insertObj.Sort); 
        //} 
        return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(insertObj);
    }
        return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(insertObj);
    }
    /// <summary> 
    /// æ›´æ–°ç‰©æ–™l类型信息 
    /// </summary> 
@@ -131,39 +130,39 @@
    /// <param name="input"></param> 
    /// <returns></returns> 
    /// <exception cref="UserFriendlyException"></exception> 
    public virtual async Task<WmsMaterialTypeDto> UpdateAsync(Guid id, WmsMaterialTypeUpdateDto input)
    {
        await CheckCreateOrUpdateDtoAsync(input);
        var updateObj = await _WmsMaterialTypeRepository.GetAsync(id);
        var exist = await _WmsMaterialTypeRepository.NameExistAsync(input.MaterialTypeCode, updateObj.Id);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialTypeCode]);
        }
        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
                updateObj.MaterialTypeDesc = input.MaterialTypeDesc;
    public virtual async Task<WmsMaterialTypeDto> UpdateAsync(Guid id, WmsMaterialTypeUpdateDto input)
    {
        await CheckCreateOrUpdateDtoAsync(input);
        var updateObj = await _WmsMaterialTypeRepository.GetAsync(id);
        var exist = await _WmsMaterialTypeRepository.NameExistAsync(input.MaterialTypeCode, updateObj.Id);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialTypeCode]);
        }
        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
        updateObj.MaterialTypeDesc = input.MaterialTypeDesc;
        updateObj.MaterialTypeCode = input.MaterialTypeCode;
        updateObj.Remark = input.Remark;
        updateObj.LastModifierName = input.LastModifierName;//修改人 
        await _WmsMaterialTypeRepository.UpdateAsync(updateObj);
        return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(updateObj);
    }
        await _WmsMaterialTypeRepository.UpdateAsync(updateObj);
        return ObjectMapper.Map<WmsMaterialType, WmsMaterialTypeDto>(updateObj);
    }
    /// <summary> 
    /// å…‹éš†ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="ids"></param> 
    /// <returns></returns> 
    public async Task<List<WmsMaterialTypeDto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser)
    {
    public async Task<List<WmsMaterialTypeDto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser)
    {
        //var WmsMaterialTypes = new List<WmsMaterialType>(); 
        //if (ids != null) 
        //{ 
@@ -183,263 +182,263 @@
        //                    name += WmsMaterialTypeConsts.CloneTag; 
        //                    continue; 
        //                } 
        //                notExist = true; 
        //            } 
        //            //WmsMaterialType = await _WmsMaterialTypeRepository.InsertAsync(WmsMaterialType.Clone(GuidGenerator.Create(), name, sort++)); 
        //            WmsMaterialTypes.Add(WmsMaterialType); 
        //        } 
        //    } 
        //} 
        //return ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(WmsMaterialTypes); 
        return new List<WmsMaterialTypeDto>();
    }
        return new List<WmsMaterialTypeDto>();
    }
    /// <summary> 
    /// åˆ é™¤å•个物料l类型信息 
    /// </summary> 
    /// <param name="id"></param> 
    /// <returns></returns> 
    public virtual Task DeleteAsync(Guid id)
    {
        return _WmsMaterialTypeRepository.DeleteAsync(id);
    }
    public virtual Task DeleteAsync(Guid id)
    {
        return _WmsMaterialTypeRepository.DeleteAsync(id);
    }
    /// <summary> 
    /// åˆ é™¤å¤šä¸ªç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="ids"></param> 
    /// <returns></returns> 
    public async Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser)
    {
        foreach (var id in ids)
        {
            await DeleteAsync(id);
        }
    }
     /// <summary>
    public async Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser)
    {
        foreach (var id in ids)
        {
            await DeleteAsync(id);
        }
    }
    /// <summary>
    /// ç‰©ç†åˆ é™¤ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="id">主键ID</param> 
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    public virtual async Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default)
    {
        _WmsMaterialTypeRepository.DeletePermanentlyAsync(id);
    }
    public virtual async Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default)
    {
        _WmsMaterialTypeRepository.DeletePermanentlyAsync(id);
    }
    /// <summary> 
    /// æ‰¹é‡ç‰©ç†åˆ é™¤ç‰©æ–™l类型信息(直接删除,不软删除) 
    /// </summary> 
    /// <param name="ids">要删除的主键ID列表</param> 
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default)
    {
        _WmsMaterialTypeRepository.BatchDeletePermanentlyAsync(ids);
    }
    public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default)
    {
        _WmsMaterialTypeRepository.BatchDeletePermanentlyAsync(ids);
    }
    /// <summary> 
    /// è°ƒæ•´æŽ’序物料l类型信息 
    /// </summary> 
    /// <param name="id"></param> 
    /// <param name="sort"></param> 
    /// <returns></returns> 
    public virtual async Task AdjustSortAsync(Guid id, int sort)
    {
        var list = await _WmsMaterialTypeRepository.GetListAsync(null, nameof(WmsMaterialType.Sort));
        if (list != null && list.Any())
        {
            var initSort = 1;
            list.ForEach(x => x.AdjustSort(initSort++));
            var entity = list.FirstOrDefault(x => x.Id == id);
            if (entity != null)
            {
                if (sort == 1)
                {
                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
                }
                else if (entity.Sort > sort)
                {
                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
                }
                else if (entity.Sort < sort)
                {
                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
                }
                entity.AdjustSort(sort);
            }
        }
        await _WmsMaterialTypeRepository.UpdateManyAsync(list);
    }
    public virtual async Task AdjustSortAsync(Guid id, int sort)
    {
        var list = await _WmsMaterialTypeRepository.GetListAsync(null, nameof(WmsMaterialType.Sort));
        if (list != null && list.Any())
        {
            var initSort = 1;
            list.ForEach(x => x.AdjustSort(initSort++));
            var entity = list.FirstOrDefault(x => x.Id == id);
            if (entity != null)
            {
                if (sort == 1)
                {
                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
                }
                else if (entity.Sort > sort)
                {
                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
                }
                else if (entity.Sort < sort)
                {
                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
                }
                entity.AdjustSort(sort);
            }
        }
        await _WmsMaterialTypeRepository.UpdateManyAsync(list);
    }
    /// <summary> 
    /// å¯¼å…¥ç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    /// <exception cref="UserFriendlyException"></exception> 
    public async Task ImportAsync(WmsMaterialTypesImportModel input, MyCurrentUser myCurrentUser)
    {
        Check.NotNull(input, nameof(input));
        var WmsMaterialTypeCreateDtos = new List<(int RowIndex, WmsMaterialTypeCreateDto Item)>();
        var WmsMaterialTypeUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialTypeUpdateDto Item)>();
        var importItems = input.WmsMaterialTypes;
        if (importItems != null && importItems.Any())
        {
    public async Task ImportAsync(WmsMaterialTypesImportModel input, MyCurrentUser myCurrentUser)
    {
        Check.NotNull(input, nameof(input));
        var WmsMaterialTypeCreateDtos = new List<(int RowIndex, WmsMaterialTypeCreateDto Item)>();
        var WmsMaterialTypeUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialTypeUpdateDto Item)>();
        var importItems = input.WmsMaterialTypes;
        if (importItems != null && importItems.Any())
        {
            #region å¯¼å…¥æ ¡éªŒ 
            // åˆ¤æ–­åç§°æ˜¯å¦é‡å¤ï¼Œå¹¶è¾“出第几行重复 
            var duplicateWmsMaterialTypes = importItems.GroupBy(x => x.MaterialTypeCode).Where(x => x.Count() > 1).ToList();
            if (duplicateWmsMaterialTypes?.Any() == true)
            {
                var duplicateWmsMaterialTypeMsgs = duplicateWmsMaterialTypes.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} è¡Œï¼š{x.Key}  åç§°é‡å¤");
                var errorMsg = $"导入失败!配置, {string.Join(",", duplicateWmsMaterialTypeMsgs)},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
            #endregion
            foreach (var impItem in importItems)
            {
                if (impItem.MaterialTypeCode.IsNullOrWhiteSpace())
                {
                    continue;
                }
                if (impItem.MaterialTypeCode.IsNullOrWhiteSpace())
                {
                    var errorMsg = $"导入失败!配置,第{impItem.RowIndex}行:WmsMaterialType名称不能为空";
                    throw new UserFriendlyException(errorMsg);
                }
                var oldWmsMaterialType = await _WmsMaterialTypeRepository.FindByNameAsync(impItem.MaterialTypeCode);
                if (oldWmsMaterialType != null)
                {
                    var WmsMaterialTypeUpdateDto = new WmsMaterialTypeUpdateDto
                    {
            var duplicateWmsMaterialTypes = importItems.GroupBy(x => x.MaterialTypeCode).Where(x => x.Count() > 1).ToList();
            if (duplicateWmsMaterialTypes?.Any() == true)
            {
                var duplicateWmsMaterialTypeMsgs = duplicateWmsMaterialTypes.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} è¡Œï¼š{x.Key}  åç§°é‡å¤");
                var errorMsg = $"导入失败!配置, {string.Join(",", duplicateWmsMaterialTypeMsgs)},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
            #endregion
            foreach (var impItem in importItems)
            {
                if (impItem.MaterialTypeCode.IsNullOrWhiteSpace())
                {
                    continue;
                }
                if (impItem.MaterialTypeCode.IsNullOrWhiteSpace())
                {
                    var errorMsg = $"导入失败!配置,第{impItem.RowIndex}行:WmsMaterialType名称不能为空";
                    throw new UserFriendlyException(errorMsg);
                }
                var oldWmsMaterialType = await _WmsMaterialTypeRepository.FindByNameAsync(impItem.MaterialTypeCode);
                if (oldWmsMaterialType != null)
                {
                    var WmsMaterialTypeUpdateDto = new WmsMaterialTypeUpdateDto
                    {
                        MaterialTypeDesc = impItem.MaterialTypeDesc,
MaterialTypeCode = impItem.MaterialTypeCode,
Remark = impItem.Remark,
                    };
                    WmsMaterialTypeUpdateDtos.Add((impItem.RowIndex, oldWmsMaterialType.Id, WmsMaterialTypeUpdateDto));
                }
                else
                {
                    var WmsMaterialTypeCreateDto = new WmsMaterialTypeCreateDto
                    {
                        MaterialTypeCode = impItem.MaterialTypeCode,
                        Remark = impItem.Remark,
                    };
                    WmsMaterialTypeUpdateDtos.Add((impItem.RowIndex, oldWmsMaterialType.Id, WmsMaterialTypeUpdateDto));
                }
                else
                {
                    var WmsMaterialTypeCreateDto = new WmsMaterialTypeCreateDto
                    {
                        MaterialTypeDesc = impItem.MaterialTypeDesc,
MaterialTypeCode = impItem.MaterialTypeCode,
Remark = impItem.Remark,
                    };
                    WmsMaterialTypeCreateDtos.Add((impItem.RowIndex, WmsMaterialTypeCreateDto));
                }
            }
        }
                        MaterialTypeCode = impItem.MaterialTypeCode,
                        Remark = impItem.Remark,
                    };
                    WmsMaterialTypeCreateDtos.Add((impItem.RowIndex, WmsMaterialTypeCreateDto));
                }
            }
        }
        // æ–°å¢ž 
        foreach (var WmsMaterialTypeDto in WmsMaterialTypeCreateDtos)
        {
            try
            {
        foreach (var WmsMaterialTypeDto in WmsMaterialTypeCreateDtos)
        {
            try
            {
                WmsMaterialTypeDto.Item.CreatorName = myCurrentUser.UserAccount;//创建人 
                await CreateAsync(WmsMaterialTypeDto.Item);
            }
            catch (Exception e)
            {
                var errorMsg = $"导入失败!配置,第{WmsMaterialTypeDto.RowIndex}行:{e.Message},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
        }
                await CreateAsync(WmsMaterialTypeDto.Item);
            }
            catch (Exception e)
            {
                var errorMsg = $"导入失败!配置,第{WmsMaterialTypeDto.RowIndex}行:{e.Message},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
        }
        // æ›´æ–° 
        foreach (var WmsMaterialTypeDto in WmsMaterialTypeUpdateDtos)
        {
            try
            {
        foreach (var WmsMaterialTypeDto in WmsMaterialTypeUpdateDtos)
        {
            try
            {
                WmsMaterialTypeDto.Item.LastModifierName = myCurrentUser.UserAccount;//修改人 
                await UpdateAsync(WmsMaterialTypeDto.Id, WmsMaterialTypeDto.Item);
            }
            catch (Exception e)
            {
                var errorMsg = $"导入失败!配置,第{WmsMaterialTypeDto.RowIndex}行:{e.Message},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
        }
    }
                await UpdateAsync(WmsMaterialTypeDto.Id, WmsMaterialTypeDto.Item);
            }
            catch (Exception e)
            {
                var errorMsg = $"导入失败!配置,第{WmsMaterialTypeDto.RowIndex}行:{e.Message},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
        }
    }
    /// <summary> 
    /// å¯¼å‡ºç‰©æ–™l类型信息 
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialTypeInput input)
    {
        Check.NotNull(input, nameof(input));
        if (input.Sorting.IsNullOrWhiteSpace())
        {
            input.Sorting = nameof(WmsMaterialType.Sort);
        }
    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialTypeInput input)
    {
        Check.NotNull(input, nameof(input));
        if (input.Sorting.IsNullOrWhiteSpace())
        {
            input.Sorting = nameof(WmsMaterialType.Sort);
        }
        #region åŠ¨æ€æž„é€ æŸ¥è¯¢æ¡ä»¶  
        //动态构造查询条件  
        var whereConditions = DynamicGetQueryParams(input);
        #endregion
        var list = await _WmsMaterialTypeRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
        var result = ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(list);
        var sheets = new Dictionary<string, object>
        {
            ["配置"] = ExportHelper.ConvertListToExportData(result),
        };
        var fileName = "物料类型";
        return (sheets, fileName);
    }
        var whereConditions = DynamicGetQueryParams(input);
        #endregion
        var list = await _WmsMaterialTypeRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
        var result = ObjectMapper.Map<List<WmsMaterialType>, List<WmsMaterialTypeDto>>(list);
        var sheets = new Dictionary<string, object>
        {
            ["配置"] = ExportHelper.ConvertListToExportData(result),
        };
        var fileName = "物料类型";
        return (sheets, fileName);
    }
    /// <summary> 
    /// æ ¡éªŒç‰©æ–™l类型信息,当新建或更新时 
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    protected Task CheckCreateOrUpdateDtoAsync(WmsMaterialTypeCreateOrUpdateDtoBase input)
    {
        Check.NotNull(input, nameof(input));
                Check.NotNullOrWhiteSpace(input.MaterialTypeDesc, "类型描述", 128);
    protected Task CheckCreateOrUpdateDtoAsync(WmsMaterialTypeCreateOrUpdateDtoBase input)
    {
        Check.NotNull(input, nameof(input));
        Check.NotNullOrWhiteSpace(input.MaterialTypeDesc, "类型描述", 128);
        Check.NotNullOrWhiteSpace(input.MaterialTypeCode, "类型编码", 64);
        return Task.CompletedTask;
    }
     /// <summary>
        return Task.CompletedTask;
    }
    /// <summary>
    /// æ ¹æ®æ¡ä»¶èŽ·å–ç‰©æ–™l类型信息列表 
    /// </summary> 
    /// <param name="whereConditions"></param> 
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    public async Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default)
    {
        return await _WmsMaterialTypeRepository.GetListByFilterAsync(whereConditions);
    }
    public async Task<List<WmsMaterialType>> GetListByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, CancellationToken cancellationToken = default)
    {
        return await _WmsMaterialTypeRepository.GetListByFilterAsync(whereConditions);
    }
    /// <summary> 
    ///  æ ¹æ®æ¡ä»¶èŽ·å–å•ä¸ªç‰©æ–™l类型信息 
    /// </summary> 
@@ -448,8 +447,8 @@
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    /// <exception cref="UserFriendlyException"></exception> 
    public async Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool is​MultipleThrowException = false, CancellationToken cancellationToken = default)
    {
        return await _WmsMaterialTypeRepository.GetSingleByFilterAsync(whereConditions, is​MultipleThrowException);
    }
}
    public async Task<WmsMaterialType> GetSingleByFilterAsync(Expression<Func<WmsMaterialType, bool>> whereConditions, bool is​MultipleThrowException = false, CancellationToken cancellationToken = default)
    {
        return await _WmsMaterialTypeRepository.GetSingleByFilterAsync(whereConditions, is​MultipleThrowException);
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialTypeAutoMapperProfile.cs
@@ -1,6 +1,6 @@
using AutoMapper; 
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; 
using CMS.Plugin.HIAWms.Domain.WmsMaterialType;
using CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
using Volo.Abp.ObjectExtending; 
 
namespace CMS.Plugin.HIAWms.Application.MapperProfiles; 
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialType/IWmsMaterialTypeRepository.cs
@@ -1,9 +1,9 @@
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
using Volo.Abp.Domain.Repositories;
namespace CMS.Plugin.HIAWms.Domain.WmsMaterialType;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
using Volo.Abp.Domain.Repositories;
namespace CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
/// <summary> 
/// ç‰©æ–™l类型信息仓储 
/// </summary> 
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialType/WmsMaterialType.cs
copy from HIAWms/server/src/CMS.Plugin.HIAWms.Domain/MaterialType/WmsMaterialType.cs copy to HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialType/WmsMaterialType.cs
Îļþ´Ó HIAWms/server/src/CMS.Plugin.HIAWms.Domain/MaterialType/WmsMaterialType.cs ¸´ÖÆ
@@ -5,8 +5,11 @@
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.HIAWms.Domain.MaterialType
namespace CMS.Plugin.HIAWms.Domain.WmsMaterialTypes
{
    /// <summary>
    /// ç‰©æ–™ç±»åž‹
    /// </summary>
    public class WmsMaterialType : MyFullAuditedAggregateRoot<Guid>
    {
        /// <summary>
@@ -18,5 +21,14 @@
        /// ç±»åž‹ç¼–码
        /// </summary>
        public string MaterialTypeCode { get; set; }
        /// <summary>
        /// Adjusts the sort.
        /// </summary>
        /// <param name="sort">The sort.</param>
        public void AdjustSort(int sort)
        {
            Sort = sort;
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterialType.cs
@@ -1,6 +1,6 @@
using CMS.Plugin.HIAWms.Domain;
using CMS.Plugin.HIAWms.Domain.MaterialType;
using CMS.Plugin.HIAWms.Domain.WmsMaterials;
using CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialTypeRepository.cs
@@ -1,16 +1,17 @@
using CMS.Plugin.HIAWms.Domain.WmsMaterialType;
using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
using CmsQueryExtensions.Extension;
using Microsoft.EntityFrameworkCore;
using System.Linq.Dynamic.Core;
using System.Linq.Expressions;
using Volo.Abp;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories;
using CMS.Plugin.HIAWms.Domain.WmsMaterialTypes;
using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
using CmsQueryExtensions.Extension;
using Microsoft.EntityFrameworkCore;
using System.Linq.Dynamic.Core;
using System.Linq.Expressions;
using Volo.Abp;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories;
/// <summary> 
/// ç‰©æ–™l类型信息仓储实现 
/// </summary> 
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs
@@ -103,5 +103,15 @@
        {
            return await _wmsEnumAppService.GetPlaceListForSelectAsync(placeType);
        }
        /// <summary>
        /// èŽ·å–ç‰©æ–™ç±»åž‹åˆ—è¡¨
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        [Route("MaterialTypeList")]
        public async Task<List<MaterialTypeOutput>> GetMaterialTypeListAsync()
        {
            return await _wmsEnumAppService.GetMaterialTypeListAsync();
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialTypeController.cs
@@ -124,7 +124,7 @@
                UserId = _currentUser.UserId 
            }; 
            //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//逻辑删除 
            return _wmsMaterialAppService.DeletePermanentlyAsync(id, myCurrentUser);//物理删除
            return _WmsMaterialTypeAppService.DeletePermanentlyAsync(id, myCurrentUser);//物理删除
        } 
 
        /// <summary> 
@@ -142,7 +142,7 @@
                UserId = _currentUser.UserId 
            }; 
            // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//逻辑删除 
            return _wmsMaterialAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//物理删除
            return _WmsMaterialTypeAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//物理删除
        } 
 
        /// <summary> 
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/ControllerÄ£°å.txt
@@ -124,7 +124,7 @@
                UserId = _currentUser.UserId
            };
            //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//逻辑删除
            return _wmsMaterialAppService.DeletePermanentlyAsync(id, myCurrentUser);//物理删除
            return _$EntityInstanceName$AppService.DeletePermanentlyAsync(id, myCurrentUser);//物理删除
        }
        /// <summary>
@@ -142,7 +142,7 @@
                UserId = _currentUser.UserId
            };
            // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//逻辑删除
            return _wmsMaterialAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//物理删除
            return _$EntityInstanceName$AppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//物理删除
        }
        /// <summary>