using Hh.Mes.Common.Request; using Hh.Mes.POJO.Entity; using Hh.Mes.POJO.Response; using Hh.Mes.Service.SystemAuth; using Hh.Mes.Service.WebService.Base; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Linq.Expressions; using WebMvc.Aop; namespace WebMvc { /// <summary> /// 字典数据表 /// </summary> [Area("base")] public class SysDictDataController : BaseController { private readonly SysDictDataService service; public SysDictDataController(IAuth authUtil, SysDictDataService service) : base(authUtil) { this.service = service; this.service.sysWebUser = authUtil.GetCurrentUser().User; } #region 视图功能 /// <summary> /// 默认视图Action /// </summary> /// <returns></returns> [Authenticate] [ServiceFilter(typeof(OperLogFilter))] public ActionResult Index() { return View(); } #endregion #region 获取数据 /// <summary> /// 加载及分页查询 /// </summary> /// <param name="pageRequest">表单请求信息</param> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string Load(PageReq pageRequest, SysDictData entity) { return Serialize(service.Load(pageRequest, entity)); } #endregion #region 提交数据 /// <summary> /// 新增数据 /// </summary> /// <param name="entity">新增实例</param> /// <returns></returns> [HttpPost] [XSSFilter] [ServiceFilter(typeof(OperLogFilter))] public string Ins(SysDictData entity) { return Serialize(service.Ins(entity)); } /// <summary> /// 修改数据 /// </summary> /// <param name="entity">修改实例</param> /// <returns></returns> [HttpPost] [XSSFilter] [ServiceFilter(typeof(OperLogFilter))] public string Upd(SysDictData entity) { return Serialize(service.Upd(entity)); } [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string DelByIds(int[] ids) { return Serialize(service.DelByIds(ids)); } #endregion #region 导入导出 /// <summary> /// 导出模板 /// </summary> /// <returns></returns> [HttpPost] public string GetTemplate() { Expression<Func<SysDictData, bool>> linqWhere = x => true ; Expression<Func<SysDictData, object>> linqOrder = x => x.Id; var response = service.GetDictDataList(linqWhere, linqOrder, takeCount:1); if (response.Count == 0) { response.Result.Add(new SysDictData()); response.Count = response.Result.Count; } return Serialize(response); } /// <summary> /// 导出数据 /// </summary> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string Export(SysDictData entity) { return Serialize(service.Load(null, entity)); } /// <summary> /// 导入数据 /// </summary> /// <param name="excelfile">表单提交的文件信息</param> /// <returns></returns> [HttpPost] public string Import(IFormFile excelfile) { var response = new Response(); return Serialize(response); } #endregion #region 自定义方法 /// <summary> /// 查询字典数据 /// </summary> /// <param name="entity"></param> /// <returns></returns> [HttpPost] public string FindSysDictData(SysDictData entity) { Expression<Func<SysDictData, bool>> linqWhere = x => x.DictType == entity.DictType; Expression<Func<SysDictData, object>> linqOrder = x => x.DictSort; return Serialize(service.GetDictDataList(linqWhere, linqOrder)); } /// <summary> /// 字典数据 /// </summary> /// <returns></returns> [HttpPost] public string GetSysDictList() { Expression<Func<SysDictData, bool>> linqWhere = x => true; Expression<Func<SysDictData, object>> linqOrder = x => x.Id; return Serialize(service.GetDictDataList(linqWhere, linqOrder)); } #endregion } }