using Hh.Mes.Common.Redis; using Hh.Mes.Common.Request; using Hh.Mes.POJO.Entity; using Hh.Mes.Service.Configure; using Hh.Mes.Service.SystemAuth; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; using System; using System.Linq; using WebMvc.Aop; namespace WebMvc { /// <summary> /// 工厂设置 /// </summary> [Area("configure")] public class FactoryController : BaseController { private readonly FactoryService factoryService; private readonly BaseProjectService _baseProjectService; private readonly Lazy<RedisBase> cli; private readonly SysUser _user; public FactoryController(IAuth authUtil, FactoryService base_factory, BaseProjectService baseProjectService) : base(authUtil) { this.factoryService = base_factory; _baseProjectService = baseProjectService; _user = authUtil.GetCurrentUser().User; factoryService.sysWebUser = _user; cli = new Lazy<RedisBase>(); } #region view [ResponseCache(Duration = 5)] public ActionResult Index() { var data = _baseProjectService.GetProjectInfo(_user.Account); var selectItems = data.Select(x => new SelectListItem { Text = x.Value, Value = $"{x.Key}" }).ToList(); return View(selectItems); } #endregion #region api #region 获取数据 /// <summary> /// 加载及分页查询 /// </summary> /// <param name="pageRequest">表单请求信息</param> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string Load(PageReq pageRequest, base_factory entity) { var response = factoryService.Load(pageRequest, entity); //var dataResult = 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 } }