From 1772504da433bec2f1695d47e5946c1192e876fb Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周二, 20 5月 2025 11:53:40 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo
---
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 156 insertions(+), 2 deletions(-)
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
index a3f4057..2d20ac3 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
@@ -1,11 +1,25 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
+锘縰sing 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.Util;
+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;
namespace CMS.Plugin.HIAWms.Application.Implements
{
@@ -14,9 +28,149 @@
/// </summary>
public class WmsEnumAppService : CMSPluginAppService, IWmsEnumAppService
{
+ private readonly IWmsStoreRepository _storeRepository;
+ 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, IWmsMaterialTypeRepository wmsMaterialTypeRepository)
+ {
+ _storeRepository = storeRepository;
+ _wmsAreaRepository = wmsAreaRepository;
+ _wmsPlaceRepository = wmsPlaceRepository;
+ _wmsMaterialRepository = wmsMaterialRepository;
+ _WmsMaterialTypeRepository = wmsMaterialTypeRepository;
+ }
+
public List<EnumItem> GetEnumDataList(WmsEnumInput enumInput)
{
return EnumHelper.GetEnumItems(enumInput.EnumName);
}
+
+ /// <summary>
+ /// 鑾峰彇浠撳簱鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<WmsStoreForAreaOutpur>> GetStreList()
+ {
+ var list = await _storeRepository.GetListForSelectAsync();
+ if (list == null || list.Count <= 0) { return new List<WmsStoreForAreaOutpur>(); }
+
+ var result = list.Select(x => new WmsStoreForAreaOutpur
+ {
+ StoreCode = x.StoreCode,
+ StoreName = x.StoreName,
+ }).ToList();
+ return result;
+ }
+
+ /// <summary>
+ /// 搴撳尯鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<AreaForListOuptut>> GetAreaListAsync()
+ {
+ var list = await _wmsAreaRepository.GetListForSelectAsync();
+ if (list == null || list.Count <= 0) { return new List<AreaForListOuptut>(); }
+ var result = list.Select(x => new AreaForListOuptut
+ {
+ AreaName = x.AreaName,
+ AreaNo = x.AreaNo,
+ }).ToList();
+
+ return result;
+ }
+
+ /// <summary>
+ /// 宸烽亾鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<PlaceAisleForListOuptut>> GetAisleListAsync()
+ {
+ var list = await _wmsPlaceRepository.GetAisleListForSelectAsync();
+ if (list == null || list.Count <= 0) { return new List<PlaceAisleForListOuptut>(); }
+
+ var result = list.Select(x => new PlaceAisleForListOuptut
+ {
+ Aisle = x.Aisle,
+ AisleName = $"绗瑊x.Aisle}宸烽亾",
+ }).ToList();
+
+ return result;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏈哄瀷
+ /// </summary>
+ /// <returns></returns>
+ public async Task<List<MaterialModelOutput>> GetMaterialModeListAsync()
+ {
+ var materialList = await _wmsMaterialRepository.GetMaterialListAsync(new WmsMaterial());
+ if (materialList == null || materialList.Count <= 0) return new List<MaterialModelOutput>();
+
+ return materialList.Select(material => new MaterialModelOutput
+ {
+ MaterialModel = material.MaterialModel,
+ MaterialModelDesc = material.MaterialModel
+ }).ToList();
+ }
+
+
+ /// <summary>
+ /// 鑾峰彇搴撳尯鍒楄〃
+ /// </summary>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ public async Task<List<PlaceListOutput>> GetPlaceListForSelectAsync(PlaceTypeEnum placeType)
+ {
+ var placeList = await _wmsPlaceRepository.GetPlaceListForSelectAsync(placeType);
+ if (placeList == null || placeList.Count <= 0) return new List<PlaceListOutput>(); ;
+
+ return placeList.Select(place => new PlaceListOutput
+ {
+ PlaceNo = place.PlaceNo,
+ 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);
+
+ var result = new List<MaterialTypeOutput>();
+ if (list == null || list.Count <= 0) return result;
+
+ result = list.Select(x => new MaterialTypeOutput
+ {
+ MaterialTypeCode = x.MaterialTypeCode,
+ MaterialTypeDesc = x.MaterialTypeDesc,
+ }).ToList();
+ return result;
+ }
+
+ 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;
+ }
}
}
--
Gitblit v1.9.3