| | |
| | | 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; |
| | | |
| | |
| | | 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) |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |