From bbd8b2922a59500444f70f0c11b4c76f63bd07f9 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 06 5月 2025 09:13:05 +0800 Subject: [PATCH] 222 --- Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs | 376 ++++++++++++++++++++++++++-------------------------- 1 files changed, 188 insertions(+), 188 deletions(-) diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" index 6a04eef..0002de3 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" @@ -1,188 +1,188 @@ -using Ao.Lang; -using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; -using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; -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; - -namespace CMS.Plugin.HIAWms.Controller -{ - /// <summary> - /// 鐗╂枡鍩虹淇℃伅鏈嶅姟 - /// </summary> - [ApiController] - [TypeFilter(typeof(CMSLanguageFilter))] - [TypeFilter(typeof(CMSUowActionFilter))] - [TypeFilter(typeof(CMSAuditActionFilter))] - [TypeFilter(typeof(CMSExceptionFilter))] - [Route("api/v{version:apiVersion}/HIAWms/[controller]")] - public class WmsMaterialController : ControllerBase - { - private readonly IWmsMaterialAppService _wmsmaterialAppService; - - /// <summary> - /// Initializes a new instance of the <see cref="WmsMaterialController"/> class. - /// </summary> - /// <param name="wmsmaterialAppService">The wmsmaterial application service.</param> - public WmsMaterialController(IWmsMaterialAppService wmsmaterialAppService) - { - _wmsmaterialAppService = wmsmaterialAppService; - } - - /// <summary> - /// 鑾峰彇鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <returns></returns> - [HttpGet] - [Route("{id}")] - public virtual Task<WmsMaterialDto> GetAsync(Guid id) - { - return _wmsmaterialAppService.GetAsync(id); - } - - /// <summary> - /// 鍒嗛〉鑾峰彇鐗╂枡鍩虹淇℃伅鐨勫垪琛�. - /// </summary> - /// <param name="input">杈撳叆.</param> - /// <returns></returns> - [HttpGet] - [Route("Page")] - public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialInput input) - { - return _wmsmaterialAppService.GetListAsync(input); - } - - /// <summary> - /// 鍒涘缓鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="input">杈撳叆.</param> - /// <returns></returns> - //[Authorize] - [HttpPost] - public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) - { - return _wmsmaterialAppService.CreateAsync(input); - } - - /// <summary> - /// 鏇存柊鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <param name="input">杈撳叆.</param> - /// <returns></returns> - //[Authorize] - [HttpPut] - [Route("{id}")] - public virtual Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input) - { - return _wmsmaterialAppService.UpdateAsync(id, input); - } - - /// <summary> - /// 鍏嬮殕鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="ids">Id闆嗗悎.</param> - /// <returns></returns> - //[Authorize] - [HttpPost] - [Route("Clone")] - public virtual Task<List<WmsMaterialDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) - { - return _wmsmaterialAppService.CloneAsync(ids); - } - - /// <summary> - /// 鍒犻櫎鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <returns></returns> - //[Authorize] - [HttpDelete] - [Route("{id}")] - public virtual Task DeleteAsync(Guid id) - { - return _wmsmaterialAppService.DeleteAsync(id); - } - - /// <summary> - /// 鎵归噺鍒犻櫎鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="ids">The ids.</param> - /// <returns></returns> - //[Authorize] - [HttpDelete] - public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) - { - return _wmsmaterialAppService.DeleteManyAsync(ids); - } - - /// <summary> - /// 璋冩暣鎺掑簭鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <returns></returns> - [HttpPut] - [Route("{id}/AdjustSort/{sort}")] - public virtual Task AdjustSortAsync(Guid id, int sort) - { - return _wmsmaterialAppService.AdjustSortAsync(id, sort); - } - - /// <summary> - /// 瀵煎叆鐗╂枡鍩虹淇℃伅 - /// </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 wmsmaterialRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "閰嶇疆").ToList() : new(); - - if (!wmsmaterialRows.Any()) - { - throw new UserFriendlyException("璇锋鏌ュ鍏ョ殑琛ㄦ牸"); - } - - await _wmsmaterialAppService.ImportAsync(new WmsMaterialsImportModel - { - WmsMaterials = wmsmaterialRows, - }); - - return Ok(); - } - - /// <summary> - /// 瀵煎嚭鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <returns></returns> - [HttpGet] - [Route("Export")] - public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInput input) - { - input.MaxResultCount = int.MaxValue; - var exportData = await _wmsmaterialAppService.ExportAsync(input); - var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.xlsx"); - if (!System.IO.File.Exists(templatePath)) - { - templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.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" }; - } - } -} +锘縰sing Ao.Lang; +using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; +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; + +namespace CMS.Plugin.HIAWms.Controller +{ + /// <summary> + /// 鐗╂枡鍩虹淇℃伅琛ㄦ湇鍔� + /// </summary> + [ApiController] + [TypeFilter(typeof(CMSLanguageFilter))] + [TypeFilter(typeof(CMSUowActionFilter))] + [TypeFilter(typeof(CMSAuditActionFilter))] + [TypeFilter(typeof(CMSExceptionFilter))] + [Route("api/v{version:apiVersion}/HIAWms/[controller]")] + public class WmsMaterialController : ControllerBase + { + private readonly IWmsMaterialAppService _wmsmaterialsAppService; + + /// <summary> + /// Initializes a new instance of the <see cref="WmsMaterialController"/> class. + /// </summary> + /// <param name="wmsmaterialsAppService">The wmsmaterials application service.</param> + public WmsMaterialController(IWmsMaterialAppService wmsmaterialsAppService) + { + _wmsmaterialsAppService = wmsmaterialsAppService; + } + + /// <summary> + /// 鑾峰彇鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <returns></returns> + [HttpGet] + [Route("{id}")] + public virtual Task<WmsMaterialDto> GetAsync(Guid id) + { + return _wmsmaterialsAppService.GetAsync(id); + } + + /// <summary> + /// 鍒嗛〉鑾峰彇鐗╂枡鍩虹淇℃伅琛ㄧ殑鍒楄〃. + /// </summary> + /// <param name="input">杈撳叆.</param> + /// <returns></returns> + [HttpGet] + [Route("Page")] + public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialInput input) + { + return _wmsmaterialsAppService.GetListAsync(input); + } + + /// <summary> + /// 鍒涘缓鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="input">杈撳叆.</param> + /// <returns></returns> + //[Authorize] + [HttpPost] + public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) + { + return _wmsmaterialsAppService.CreateAsync(input); + } + + /// <summary> + /// 鏇存柊鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <param name="input">杈撳叆.</param> + /// <returns></returns> + //[Authorize] + [HttpPut] + [Route("{id}")] + public virtual Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input) + { + return _wmsmaterialsAppService.UpdateAsync(id, input); + } + + /// <summary> + /// 鍏嬮殕鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="ids">Id闆嗗悎.</param> + /// <returns></returns> + //[Authorize] + [HttpPost] + [Route("Clone")] + public virtual Task<List<WmsMaterialDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) + { + return _wmsmaterialsAppService.CloneAsync(ids); + } + + /// <summary> + /// 鍒犻櫎鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <returns></returns> + //[Authorize] + [HttpDelete] + [Route("{id}")] + public virtual Task DeleteAsync(Guid id) + { + return _wmsmaterialsAppService.DeleteAsync(id); + } + + /// <summary> + /// 鎵归噺鍒犻櫎鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="ids">The ids.</param> + /// <returns></returns> + //[Authorize] + [HttpDelete] + public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) + { + return _wmsmaterialsAppService.DeleteManyAsync(ids); + } + + /// <summary> + /// 璋冩暣鎺掑簭鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <returns></returns> + [HttpPut] + [Route("{id}/AdjustSort/{sort}")] + public virtual Task AdjustSortAsync(Guid id, int sort) + { + return _wmsmaterialsAppService.AdjustSortAsync(id, sort); + } + + /// <summary> + /// 瀵煎叆鐗╂枡鍩虹淇℃伅琛� + /// </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 wmsmaterialsRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "閰嶇疆").ToList() : new(); + + if (!wmsmaterialsRows.Any()) + { + throw new UserFriendlyException("璇锋鏌ュ鍏ョ殑琛ㄦ牸"); + } + + await _wmsmaterialsAppService.ImportAsync(new WmsMaterialsImportModel + { + WmsMaterials = wmsmaterialsRows, + }); + + return Ok(); + } + + /// <summary> + /// 瀵煎嚭鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <returns></returns> + [HttpGet] + [Route("Export")] + public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInput input) + { + input.MaxResultCount = int.MaxValue; + var exportData = await _wmsmaterialsAppService.ExportAsync(input); + var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.xlsx"); + if (!System.IO.File.Exists(templatePath)) + { + templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.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