BaseTeamController.cs 4.65 KB
using Autofac.Core;
using Hh.Mes.Common.Redis;
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;
using System.Threading.Tasks;
using WebMvc.Aop;

namespace WebMvc
{
    /// <summary>
	/// 班组设置
	/// </summary>
    [Area("configure")]
    public class BaseTeamController : BaseController
    {
        private readonly BaseTeamService baseteamService;
        private readonly Lazy<RedisBase>  cli;

        public BaseTeamController(IAuth authUtil, BaseTeamService base_team) : base(authUtil)
        {
            this.baseteamService = base_team;
            baseteamService.sysWebUser = authUtil.GetCurrentUser().User;

            cli =new Lazy<RedisBase> ();
        }

        #region  view
        /// <summary>
        /// 默认视图Action
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        [ServiceFilter(typeof(OperLogFilter))]
        public ActionResult Index()
        {
            //var company = companyService.GetSysCompanyOne();
            //ViewBag.CompanyGroup = company.name;
            //ViewBag.companyId = company.companyId;
            return View();
        }
        #endregion

        #region api
        #region 获取数据
        /// <summary>
        /// 加载及分页查询
        /// </summary>
        /// <param name="pageRequest">表单请求信息</param>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Load(PageReq pageRequest, base_team entity)
        {
            return Serialize(baseteamService.Load(pageRequest, entity));
        }

        /// <summary>
        /// 加载及分页查询
        /// </summary>
        /// <param name="pageRequest">表单请求信息</param>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string LoadDesc(PageReq pageRequest, base_team_user_rel entity)
        {
            return Serialize(baseteamService.LoadDesc(pageRequest, entity));
        }


        #endregion

        #region 提交数据
        /// <summary>
        /// 新增数据
        /// </summary>
        /// <param name="entity">新增实例</param>
        /// <returns></returns>
        [HttpPost]
        [XSSFilter]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Ins(base_team entity)
        {
            var response = baseteamService.Ins(entity);
            cli.Value.redisClient.Del("base_team");
            return Serialize(response);
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="entity">修改实例</param>
        /// <returns></returns>
        [HttpPost]
        [XSSFilter]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Upd(base_team entity)
        {
            var response = baseteamService.Upd(entity);
            cli.Value.redisClient.Del("base_team");
            return Serialize(response);
        }

        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelByIds(int[] ids)
        {
            var response = baseteamService.DelByIds(ids);
            cli.Value.redisClient.Del("base_team");
            return Serialize(response);
        }
        #endregion

        #region 导出数据
        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Export(base_team entity)
        {
            return Serialize(baseteamService.ExportData(entity));
        }
        #endregion

        #endregion

        #region 自定义方法
        /// <summary>
        /// 查找班组符合条件的用户
        /// </summary>
        [HttpGet]
        [ServiceFilter(typeof(OperLogFilter))]
        public string GetTeamCodeUserById(string teamCode)
        {
            var response = baseteamService.GetTeamCodeUserById(teamCode);
            return Serialize(response);
        }

        /// <summary>
        /// 班组分配人员 (check选择,uncheck 取消)
        /// </summary>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Assign()
        {
            var teamCode = Request.Form["teamCode"];
            var userIds = Request.Form["userIds"];
            var flag = Request.Form["flag"];
            var response = baseteamService.Assign(teamCode, userIds, flag);
            return Serialize(response);
        }
        #endregion
    }
}