From 9eaf758e97367dbc2eca2bdbdc92ab39e08be9d0 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周四, 15 5月 2025 13:12:17 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialTypeController.cs |  216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 216 insertions(+), 0 deletions(-)

diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialTypeController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialTypeController.cs
new file mode 100644
index 0000000..2ade70b
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialTypeController.cs
@@ -0,0 +1,216 @@
+using Ao.Lang; 
+using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; 
+using CMS.Framework.AspNetCore.Users; 
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType; 
+using CMS.Plugin.HIAWms.Application.Contracts.Services; 
+using Microsoft.AspNetCore.Authorization; 
+using Microsoft.AspNetCore.Http; 
+using Microsoft.AspNetCore.Mvc; 
+using MiniExcelLibs; 
+using System.Reflection; 
+using Volo.Abp; 
+using Volo.Abp.Application.Dtos; 
+using CmsQueryExtensions.Entitys; 
+ 
+namespace CMS.Plugin.HIAWms.Controller 
+{ 
+    /// <summary> 
+    /// 鐗╂枡l绫诲瀷淇℃伅鏈嶅姟 
+    /// </summary> 
+    [ApiController] 
+    [TypeFilter(typeof(CMSLanguageFilter))] 
+    [TypeFilter(typeof(CMSUowActionFilter))] 
+    [TypeFilter(typeof(CMSAuditActionFilter))] 
+    [TypeFilter(typeof(CMSExceptionFilter))] 
+    [Route("api/v{version:apiVersion}/HIAWms/[controller]")] 
+    public class WmsMaterialTypeController : ControllerBase 
+    { 
+        private readonly IWmsMaterialTypeAppService _WmsMaterialTypeAppService; 
+        private readonly ICurrentUser _currentUser; 
+ 
+        /// <summary> 
+        /// Initializes a new instance of the <see cref="WmsMaterialTypeController"/> class. 
+        /// </summary> 
+        /// <param name="WmsMaterialTypeAppService">The WmsMaterialType application service.</param> 
+        public WmsMaterialTypeController(IWmsMaterialTypeAppService WmsMaterialTypeAppService, ICurrentUser currentUser) 
+        { 
+            _WmsMaterialTypeAppService = WmsMaterialTypeAppService; 
+            _currentUser = currentUser; 
+        } 
+ 
+        /// <summary> 
+        /// 鑾峰彇鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <param name="id">涓婚敭ID</param> 
+        /// <returns></returns> 
+        [HttpGet] 
+        [Route("{id}")] 
+        public virtual Task<WmsMaterialTypeDto> GetAsync(Guid id) 
+        { 
+            return _WmsMaterialTypeAppService.GetAsync(id); 
+        } 
+ 
+        /// <summary> 
+        /// 鍒嗛〉鑾峰彇鐗╂枡l绫诲瀷淇℃伅鐨勫垪琛�. 
+        /// </summary> 
+        /// <param name="input">鏌ヨ鍙傛暟</param> 
+        /// <returns></returns> 
+        [HttpGet] 
+        [Route("Page")] 
+        public virtual Task<PagedResultDto<WmsMaterialTypeDto>> GetListAsync([FromQuery] GetWmsMaterialTypeInput input) 
+        { 
+            return _WmsMaterialTypeAppService.GetListAsync(input); 
+        } 
+ 
+        /// <summary> 
+        /// 鍒涘缓鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <param name="input">鍒涘缓鍙傛暟</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpPost] 
+        public virtual Task<WmsMaterialTypeDto> CreateAsync(WmsMaterialTypeCreateDto input) 
+        { 
+            input.CreatorName = _currentUser.UserAccount;//鍒涘缓浜� 
+            return _WmsMaterialTypeAppService.CreateAsync(input); 
+        } 
+ 
+        /// <summary> 
+        /// 鏇存柊鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <param name="id">涓婚敭ID</param> 
+        /// <param name="input">鏇存柊鍙傛暟</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpPut] 
+        [Route("{id}")] 
+        public virtual Task<WmsMaterialTypeDto> UpdateAsync(Guid id, WmsMaterialTypeUpdateDto input) 
+        { 
+            input.LastModifierName = _currentUser.UserAccount;//淇敼浜� 
+            return _WmsMaterialTypeAppService.UpdateAsync(id, input); 
+        } 
+ 
+        /// <summary> 
+        /// 鍏嬮殕鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <param name="ids">Id闆嗗悎</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpPost] 
+        [Route("Clone")] 
+        public virtual Task<List<WmsMaterialTypeDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) 
+        { 
+            MyCurrentUser myCurrentUser = new MyCurrentUser() 
+            { 
+                UserAccount = _currentUser.UserAccount, 
+                UserId = _currentUser.UserId 
+            }; 
+            return _WmsMaterialTypeAppService.CloneAsync(ids, myCurrentUser); 
+        } 
+ 
+        /// <summary> 
+        /// 鍒犻櫎鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <param name="id">涓婚敭ID</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpDelete] 
+        [Route("{id}")] 
+        public virtual Task DeleteAsync(Guid id) 
+        { 
+            MyCurrentUser myCurrentUser = new MyCurrentUser() 
+            { 
+                UserAccount = _currentUser.UserAccount, 
+                UserId = _currentUser.UserId 
+            }; 
+            //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//閫昏緫鍒犻櫎 
+            return _wmsMaterialAppService.DeletePermanentlyAsync(id, myCurrentUser);//鐗╃悊鍒犻櫎 
+        } 
+ 
+        /// <summary> 
+        /// 鎵归噺鍒犻櫎鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <param name="ids">涓婚敭ID闆嗗悎</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpDelete] 
+        public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) 
+        { 
+            MyCurrentUser myCurrentUser = new MyCurrentUser() 
+            { 
+                UserAccount = _currentUser.UserAccount, 
+                UserId = _currentUser.UserId 
+            }; 
+            // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//閫昏緫鍒犻櫎 
+            return _wmsMaterialAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//鐗╃悊鍒犻櫎 
+        } 
+ 
+        /// <summary> 
+        /// 璋冩暣鎺掑簭鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <param name="id">涓婚敭ID</param> 
+        /// <returns></returns> 
+        [HttpPut] 
+        [Route("{id}/AdjustSort/{sort}")] 
+        public virtual Task AdjustSortAsync(Guid id, int sort) 
+        { 
+            return _WmsMaterialTypeAppService.AdjustSortAsync(id, sort); 
+        } 
+ 
+        /// <summary> 
+        /// 瀵煎叆鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <returns></returns> 
+        [Authorize] 
+        [HttpPost] 
+        [Route("Import")] 
+        public virtual async Task<IActionResult> ImportAsync(IFormFile file) 
+        { 
+            using var stream = new MemoryStream(); 
+            await file.CopyToAsync(stream); 
+            stream.Seek(0L, SeekOrigin.Begin); 
+ 
+            var sheetNames = stream.GetSheetNames(); 
+            var WmsMaterialTypeRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsMaterialTypesImportModel.WmsMaterialTypeImportModel>(stream, sheetName: "閰嶇疆").ToList() : new(); 
+ 
+            if (!WmsMaterialTypeRows.Any()) 
+            { 
+                throw new UserFriendlyException("璇锋鏌ュ鍏ョ殑琛ㄦ牸"); 
+            } 
+ 
+            MyCurrentUser myCurrentUser = new MyCurrentUser() 
+            { 
+                UserAccount = _currentUser.UserAccount, 
+                UserId = _currentUser.UserId 
+            }; 
+            await _WmsMaterialTypeAppService.ImportAsync(new WmsMaterialTypesImportModel 
+            { 
+                WmsMaterialTypes = WmsMaterialTypeRows, 
+           },myCurrentUser);  
+ 
+            return Ok(); 
+        } 
+ 
+        /// <summary> 
+        /// 瀵煎嚭鐗╂枡l绫诲瀷淇℃伅 
+        /// </summary> 
+        /// <returns></returns> 
+        [HttpGet] 
+        [Route("Export")] 
+        public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialTypeInput input) 
+        { 
+            input.MaxResultCount = int.MaxValue; 
+            var exportData = await _WmsMaterialTypeAppService.ExportAsync(input); 
+            var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterialType瀵煎嚭妯℃澘.xlsx"); 
+            if (!System.IO.File.Exists(templatePath)) 
+            { 
+                templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WmsMaterialType瀵煎嚭妯℃澘.xlsx"); 
+            } 
+ 
+            var memoryStream = new MemoryStream(); 
+            await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets); 
+            memoryStream.Seek(0L, SeekOrigin.Begin); 
+            return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" }; 
+        } 
+    } 
+} 

--
Gitblit v1.9.3