| | |
| | | using Ao.Lang; |
| | | using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; |
| | | using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterials; |
| | | using CMS.Framework.AspNetCore.Users; |
| | | using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; |
| | | using CMS.Plugin.HIAWms.Application.Contracts.Services; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Http; |
| | |
| | | using System.Reflection; |
| | | using Volo.Abp; |
| | | using Volo.Abp.Application.Dtos; |
| | | using CmsQueryExtensions.Entitys; |
| | | |
| | | namespace CMS.Plugin.HIAWms.Controller |
| | | { |
| | | /// <summary> |
| | | /// WmsMaterialæå¡ |
| | | /// </summary> |
| | | /// <summary> |
| | | /// ç©æåºç¡ä¿¡æ¯è¡¨æå¡ |
| | | /// </summary> |
| | | [ApiController] |
| | | [TypeFilter(typeof(CMSLanguageFilter))] |
| | | [TypeFilter(typeof(CMSUowActionFilter))] |
| | |
| | | [Route("api/v{version:apiVersion}/HIAWms/[controller]")] |
| | | public class WmsMaterialController : ControllerBase |
| | | { |
| | | private readonly IWmsMaterialAppService _wmsmaterialAppService; |
| | | private readonly IWmsMaterialAppService _wmsMaterialAppService; |
| | | private readonly ICurrentUser _currentUser; |
| | | |
| | | /// <summary> |
| | | /// Initializes a new instance of the <see cref="WmsMaterialController"/> class. |
| | | /// </summary> |
| | | /// <param name="wmsmaterialAppService">The wmsmaterial application service.</param> |
| | | public WmsMaterialController(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, ICurrentUser currentUser) |
| | | { |
| | | _wmsmaterialAppService = wmsmaterialAppService; |
| | | _wmsMaterialAppService = wmsMaterialAppService; |
| | | _currentUser = currentUser; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åwmsmaterial. |
| | | /// </summary> |
| | | /// <param name="id">æ è¯ç¬¦.</param> |
| | | /// <returns></returns> |
| | | /// <summary> |
| | | /// è·åç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="id">主é®ID</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [Route("{id}")] |
| | | public virtual Task<WmsMaterialDto> GetAsync(Guid id) |
| | | { |
| | | return _wmsmaterialAppService.GetAsync(id); |
| | | return _wmsMaterialAppService.GetAsync(id); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åwmsmaterialçå表. |
| | | /// </summary> |
| | | /// <param name="input">è¾å
¥.</param> |
| | | /// <returns></returns> |
| | | /// <summary> |
| | | /// å页è·åç©æåºç¡ä¿¡æ¯è¡¨çå表. |
| | | /// </summary> |
| | | /// <param name="input">æ¥è¯¢åæ°</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [Route("Page")] |
| | | public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialsInput input) |
| | | public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialInput input) |
| | | { |
| | | return _wmsmaterialAppService.GetListAsync(input); |
| | | return _wmsMaterialAppService.GetListAsync(input); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å建wmsmaterial. |
| | | /// </summary> |
| | | /// <param name="input">è¾å
¥.</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | /// <summary> |
| | | /// åå»ºç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="input">åå»ºåæ°</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | [HttpPost] |
| | | public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) |
| | | { |
| | | return _wmsmaterialAppService.CreateAsync(input); |
| | | input.CreatorName = _currentUser.UserAccount;//å建人 |
| | | return _wmsMaterialAppService.CreateAsync(input); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ´æ°wmsmaterial. |
| | | /// </summary> |
| | | /// <param name="id">æ è¯ç¬¦.</param> |
| | | /// <param name="input">è¾å
¥.</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | /// <summary> |
| | | /// æ´æ°ç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="id">主é®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); |
| | | input.LastModifierName = _currentUser.UserAccount;//ä¿®æ¹äºº |
| | | return _wmsMaterialAppService.UpdateAsync(id, input); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å
éWmsMaterial. |
| | | /// </summary> |
| | | /// <param name="ids">Idéå.</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | /// <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); |
| | | MyCurrentUser myCurrentUser = new MyCurrentUser() |
| | | { |
| | | UserAccount = _currentUser.UserAccount, |
| | | UserId = _currentUser.UserId |
| | | }; |
| | | return _wmsMaterialAppService.CloneAsync(ids, myCurrentUser); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å é¤wmsmaterial. |
| | | /// </summary> |
| | | /// <param name="id">æ è¯ç¬¦.</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | /// <summary> |
| | | /// å é¤ç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="id">主é®ID</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | [HttpDelete] |
| | | [Route("{id}")] |
| | | public virtual Task DeleteAsync(Guid id) |
| | | { |
| | | return _wmsmaterialAppService.DeleteAsync(id); |
| | | MyCurrentUser myCurrentUser = new MyCurrentUser() |
| | | { |
| | | UserAccount = _currentUser.UserAccount, |
| | | UserId = _currentUser.UserId |
| | | }; |
| | | //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//é»è¾å é¤ |
| | | return _wmsMaterialAppService.DeletePermanentlyAsync(id, myCurrentUser);//ç©çå é¤ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¹éå é¤wmsmaterial. |
| | | /// </summary> |
| | | /// <param name="ids">The ids.</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | /// <summary> |
| | | /// æ¹éå é¤ç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="ids">主é®IDéå</param> |
| | | /// <returns></returns> |
| | | //[Authorize] |
| | | [HttpDelete] |
| | | public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) |
| | | { |
| | | return _wmsmaterialAppService.DeleteManyAsync(ids); |
| | | MyCurrentUser myCurrentUser = new MyCurrentUser() |
| | | { |
| | | UserAccount = _currentUser.UserAccount, |
| | | UserId = _currentUser.UserId |
| | | }; |
| | | // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//é»è¾å é¤ |
| | | return _wmsMaterialAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//ç©çå é¤ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è°æ´æåº. |
| | | /// </summary> |
| | | /// <param name="id">æ è¯ç¬¦.</param> |
| | | /// <returns></returns> |
| | | /// <summary> |
| | | /// è°æ´æåºç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="id">主é®ID</param> |
| | | /// <returns></returns> |
| | | [HttpPut] |
| | | [Route("{id}/AdjustSort/{sort}")] |
| | | public virtual Task AdjustSortAsync(Guid id, int sort) |
| | | { |
| | | return _wmsmaterialAppService.AdjustSortAsync(id, sort); |
| | | return _wmsMaterialAppService.AdjustSortAsync(id, sort); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 导å
¥wmsmaterial. |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | /// <summary> |
| | | /// 导å
¥ç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [Authorize] |
| | | [HttpPost] |
| | | [Route("Import")] |
| | |
| | | stream.Seek(0L, SeekOrigin.Begin); |
| | | |
| | | var sheetNames = stream.GetSheetNames(); |
| | | var wmsmaterialRows = sheetNames.Contains("é
ç½®") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "é
ç½®").ToList() : new(); |
| | | var wmsMaterialRows = sheetNames.Contains("é
ç½®") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "é
ç½®").ToList() : new(); |
| | | |
| | | if (!wmsmaterialRows.Any()) |
| | | if (!wmsMaterialRows.Any()) |
| | | { |
| | | throw new UserFriendlyException("è¯·æ£æ¥å¯¼å
¥çè¡¨æ ¼"); |
| | | } |
| | | |
| | | await _wmsmaterialAppService.ImportAsync(new WmsMaterialsImportModel |
| | | MyCurrentUser myCurrentUser = new MyCurrentUser() |
| | | { |
| | | WmsMaterials = wmsmaterialRows, |
| | | }); |
| | | UserAccount = _currentUser.UserAccount, |
| | | UserId = _currentUser.UserId |
| | | }; |
| | | await _wmsMaterialAppService.ImportAsync(new WmsMaterialsImportModel |
| | | { |
| | | WmsMaterials = wmsMaterialRows, |
| | | }, myCurrentUser); |
| | | |
| | | return Ok(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 导åºwmsmaterial. |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | /// <summary> |
| | | /// 导åºç©æåºç¡ä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [Route("Export")] |
| | | public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialsInput input) |
| | | public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInput input) |
| | | { |
| | | input.MaxResultCount = int.MaxValue; |
| | | var exportData = await _wmsmaterialAppService.ExportAsync(input); |
| | | var exportData = await _wmsMaterialAppService.ExportAsync(input); |
| | | var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterialå¯¼åºæ¨¡æ¿.xlsx"); |
| | | if (!System.IO.File.Exists(templatePath)) |
| | | { |