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.Collections.Generic; using System.Threading.Tasks; using WebMvc.Aop; namespace WebMvc { /// <summary> /// 工厂设置 /// </summary> [Area("configure")] public class FactoryController : BaseController { private readonly FactoryService factoryService; private readonly Lazy<RedisBase> cli; public FactoryController(IAuth authUtil, FactoryService base_factory, BaseProjectService base_project) : base(authUtil) { this.factoryService = base_factory; factoryService.sysWebUser = authUtil.GetCurrentUser().User; cli = new Lazy<RedisBase>(); } #region view [ResponseCache(Duration = 60)] public ActionResult Index() { return View(); } #endregion #region api #region 获取数据 /// <summary> /// 加载及分页查询 /// </summary> /// <param name="pageRequest">表单请求信息</param> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public async Task<string> Load(PageReq pageRequest, base_factory entity) { var dataResult = await factoryService.Load(pageRequest, entity); var dataTable = dataResult.Tables[0]; var response = new Response { Result = dataTable, Count = entity.Exel ? dataTable.Rows.Count : (int)dataResult.Tables[1].Rows[0]["rowTotal"] }; return Serialize(response); } #endregion #region 提交数据 /// <summary> /// 新增数据 /// </summary> /// <param name="entity">新增实例</param> /// <returns></returns> [HttpPost] [XSSFilter] [ServiceFilter(typeof(OperLogFilter))] public string Ins(base_factory entity) { var response = factoryService.Ins(entity); cli.Value.redisClient.Del("base_factory"); return Serialize(response); } /// <summary> /// 修改数据 /// </summary> /// <param name="entity">修改实例</param> /// <returns></returns> [HttpPost] [XSSFilter] [ServiceFilter(typeof(OperLogFilter))] public string Upd(base_factory entity) { var response = factoryService.Upd(entity); cli.Value.redisClient.Del("base_factory"); return Serialize(response); } [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string DelByIds(string[] ids) { var response = factoryService.DelByIds(ids); cli.Value.redisClient.Del("base_factory"); return Serialize(response); } #endregion #region 导出数据 /// <summary> /// 导出数据 /// </summary> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string Export(base_factory entity) { return Serialize(factoryService.ExportData(entity)); } #endregion #endregion #region 自定义方法 #endregion } }