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