StationUserRelController.cs 3.25 KB
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Entity;
using Hh.Mes.POJO.Response;
using Hh.Mes.Service;
using Hh.Mes.Service.Configure;
using Hh.Mes.Service.SystemAuth;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using WebMvc.Aop;

namespace WebMvc.Areas.configure.Controllers
{
    /// <summary>
    /// 工位人员
    /// </summary>
    [Area("configure")]
    public class StationUserRelController : BaseController
    {
        private readonly StationUserRelService   stationUserRelService;

        public StationUserRelController(IAuth authUtil, StationUserRelService  service) : base(authUtil)
        {
            this.stationUserRelService = service;
            stationUserRelService.sysWebUser = authUtil.GetCurrentUser().User;
        }

        #region  view
        [ResponseCache(Duration = 60)]
        public ActionResult Index()
        {
            return View();
        }
        #endregion

        #region 获取数据
        /// <summary>
        /// 加载及分页查询
        /// </summary>
        /// <param name="pageRequest">表单请求信息</param>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public async Task<string> Load(PageReq pageRequest, base_station_user_rel entity)
        {
            var dataResult = await stationUserRelService.Load(pageRequest, entity);
            var dataTable = dataResult.Tables[0];
            var retrunResult = new Response
            {
                Result = dataTable,
                Count = entity.Exel ? dataTable.Rows.Count : (int)dataResult.Tables[1].Rows[0]["rowTotal"]
            };
            return Serialize(retrunResult);
        }

        #endregion
        
        /// <summary>
        /// 查找工位符合条件的用户
        /// </summary>
        [HttpGet]
        [ServiceFilter(typeof(OperLogFilter))]
        public string GetStationUserById(int stationId)
        {
            var response = stationUserRelService.GetStationUserById(stationId);
            return Serialize(response);
        }
        
        /// <summary>
        /// 工位分配人员 (check选择,uncheck 取消)
        /// </summary>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Assign()
        {
            var stationId = Request.Form["stationId"];
            var userIds = Request.Form["userIds"];
            var flag = Request.Form["flag"];
            var response = stationUserRelService.Assign(stationId,userIds, flag);
            return Serialize(response);
        }

        #region 自定义方法
        /// <summary>
        /// 导出
        /// </summary>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public async Task<string> Export(base_station_user_rel entity)
        {
            entity.Exel = true;
            var dataResult = await stationUserRelService.Load(null, entity);
            var dataTable = dataResult.Tables[0];
            var retrunResult = new Response
            {
                Result = dataTable,
                Count = entity.Exel ? dataTable.Rows.Count : (int)dataResult.Tables[1].Rows[0]["rowTotal"]
            };
            return Serialize(retrunResult);
        }
        #endregion
    }

}