From 5a149d626ae8bc3fa4bddbb53f8caf40f51f6da6 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周三, 04 6月 2025 17:42:13 +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 |  123 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 115 insertions(+), 8 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 0c133ec..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,15 +1,25 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
-using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
+锘縰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 static CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsAreas.WmsAreaCreateOrUpdateDtoBase;
+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
 {
@@ -20,11 +30,17 @@
     {
         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)
+        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)
@@ -55,15 +71,106 @@
         /// <returns></returns>
         public async Task<List<AreaForListOuptut>> GetAreaListAsync()
         {
-            var list = await  _wmsAreaRepository.GetListForSelectAsync();
+            var list = await _wmsAreaRepository.GetListForSelectAsync();
             if (list == null || list.Count <= 0) { return new List<AreaForListOuptut>(); }
-            var result = list.Select(x=>new AreaForListOuptut
+            var result = list.Select(x => new AreaForListOuptut
             {
                 AreaName = x.AreaName,
                 AreaNo = x.AreaNo,
             }).ToList();
 
-            return result;  
+            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