schangxiang@126.com
2025-05-20 f5851974b861a20182c06d6f891fd427b1414209
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/Controller/CallMaterialOrderController.cs
@@ -1,5 +1,6 @@
using Ao.Lang; 
using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; 
using CMS.Framework.AspNetCore.Users;
using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.CallMaterialOrder; 
using CMS.Plugin.PipeLineLems.Application.Contracts.Services; 
using Microsoft.AspNetCore.Authorization; 
@@ -9,6 +10,7 @@
using System.Reflection; 
using Volo.Abp; 
using Volo.Abp.Application.Dtos; 
using CmsQueryExtensions.Entitys;
 
namespace CMS.Plugin.PipeLineLems.Controller 
@@ -24,20 +26,22 @@
    public class CallMaterialOrderController : ControllerBase 
    { 
        private readonly ICallMaterialOrderAppService _callMaterialOrderAppService; 
        private readonly ICurrentUser _currentUser;
 
        /// <summary> 
        /// Initializes a new instance of the <see cref="CallMaterialOrderController"/> class. 
        /// </summary> 
        /// <param name="callMaterialOrderAppService">The callMaterialOrder application service.</param> 
        public CallMaterialOrderController(ICallMaterialOrderAppService callMaterialOrderAppService)
        public CallMaterialOrderController(ICallMaterialOrderAppService callMaterialOrderAppService, ICurrentUser currentUser)
        { 
            _callMaterialOrderAppService = callMaterialOrderAppService; 
            _currentUser = currentUser;
        } 
 
        /// <summary> 
        /// 获取叫料单表 
        /// </summary> 
        /// <param name="id">标识符.</param>
        /// <param name="id">主键ID</param>
        /// <returns></returns> 
        [HttpGet] 
        [Route("{id}")] 
@@ -49,7 +53,7 @@
        /// <summary> 
        /// 分页获取叫料单表的列表. 
        /// </summary> 
        /// <param name="input">输入.</param>
        /// <param name="input">查询参数</param>
        /// <returns></returns> 
        [HttpGet] 
        [Route("Page")] 
@@ -61,71 +65,90 @@
        /// <summary> 
        /// 创建叫料单表 
        /// </summary> 
        /// <param name="input">输入.</param>
        /// <param name="input">创建参数</param>
        /// <returns></returns> 
        //[Authorize]
        [Authorize]
        [HttpPost] 
        public virtual Task<CallMaterialOrderDto> CreateAsync(CallMaterialOrderCreateDto input) 
        { 
            input.CreatorName = _currentUser.UserAccount;//创建人
            return _callMaterialOrderAppService.CreateAsync(input); 
        } 
 
        /// <summary> 
        /// 更新叫料单表 
        /// </summary> 
        /// <param name="id">标识符.</param>
        /// <param name="input">输入.</param>
        /// <param name="id">主键ID</param>
        /// <param name="input">更新参数</param>
        /// <returns></returns> 
        //[Authorize]
        [Authorize]
        [HttpPut] 
        [Route("{id}")] 
        public virtual Task<CallMaterialOrderDto> UpdateAsync(Guid id, CallMaterialOrderUpdateDto input) 
        { 
            input.LastModifierName = _currentUser.UserAccount;//修改人
            return _callMaterialOrderAppService.UpdateAsync(id, input); 
        } 
 
        /// <summary> 
        /// 克隆叫料单表 
        /// </summary> 
        /// <param name="ids">Id集合.</param>
        /// <param name="ids">Id集合</param>
        /// <returns></returns> 
        //[Authorize]
        [Authorize]
        [HttpPost] 
        [Route("Clone")] 
        public virtual Task<List<CallMaterialOrderDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) 
        { 
            return _callMaterialOrderAppService.CloneAsync(ids);
            MyCurrentUser myCurrentUser = new MyCurrentUser()
            {
                UserAccount = _currentUser.UserAccount,
                UserId = _currentUser.UserId
            };
            return _callMaterialOrderAppService.CloneAsync(ids, myCurrentUser);
        } 
 
        /// <summary> 
        /// 删除叫料单表 
        /// </summary> 
        /// <param name="id">标识符.</param>
        /// <param name="id">主键ID</param>
        /// <returns></returns> 
        //[Authorize]
        [Authorize]
        [HttpDelete] 
        [Route("{id}")] 
        public virtual Task DeleteAsync(Guid id) 
        { 
            return _callMaterialOrderAppService.DeleteAsync(id);
            MyCurrentUser myCurrentUser = new MyCurrentUser()
            {
                UserAccount = _currentUser.UserAccount,
                UserId = _currentUser.UserId
            };
            //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//逻辑删除
            return _callMaterialOrderAppService.DeletePermanentlyAsync(id, myCurrentUser);//物理删除
        } 
 
        /// <summary> 
        /// 批量删除叫料单表 
        /// </summary> 
        /// <param name="ids">The ids.</param>
        /// <param name="ids">主键ID集合</param>
        /// <returns></returns> 
        //[Authorize]
        [Authorize]
        [HttpDelete] 
        public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) 
        { 
            return _callMaterialOrderAppService.DeleteManyAsync(ids);
            MyCurrentUser myCurrentUser = new MyCurrentUser()
            {
                UserAccount = _currentUser.UserAccount,
                UserId = _currentUser.UserId
            };
            // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//逻辑删除
            return _callMaterialOrderAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//物理删除
        } 
 
        /// <summary> 
        /// 调整排序叫料单表 
        /// </summary> 
        /// <param name="id">标识符.</param>
        /// <param name="id">主键ID</param>
        /// <returns></returns> 
        [HttpPut] 
        [Route("{id}/AdjustSort/{sort}")] 
@@ -155,10 +178,15 @@
                throw new UserFriendlyException("请检查导入的表格"); 
            } 
 
            MyCurrentUser myCurrentUser = new MyCurrentUser()
            {
                UserAccount = _currentUser.UserAccount,
                UserId = _currentUser.UserId
            };
            await _callMaterialOrderAppService.ImportAsync(new CallMaterialOrdersImportModel 
            { 
                CallMaterialOrders = callMaterialOrderRows, 
            });
           },myCurrentUser);
 
            return Ok(); 
        }