BaseProjectController.cs 4.81 KB
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Entity;
using Hh.Mes.Service.Configure;
using Microsoft.AspNetCore.Mvc;
using Hh.Mes.Service.SystemAuth;
using WebMvc.Aop;
using System;

namespace WebMvc.Areas.Configure.Controllers
{
    [Area("configure")]
    public class BaseProjectController : BaseController
    {
        private readonly BaseProjectService _service;

        public BaseProjectController(IAuth authUtil, BaseProjectService service) : base(authUtil)
        {
            _service = service;
            _service.sysWebUser = authUtil.GetCurrentUser().User;
        }

        #region 视图功能
        /// <summary>
        /// 默认视图Action
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        [ServiceFilter(typeof(OperLogFilter))]
        public ActionResult Index()
        {
            return View();
        }


        /// <summary>
        /// 加载【项目概述】数据
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public string LoadProjectOverview(base_project entity)
        {
            return Serialize(_service.LoadProjectOverview(entity));
        }

        /// <summary>
        /// 项目概述
        /// </summary>
        /// <returns></returns>
        public ActionResult ProjectOverview()
        {
            return View();
        }


        /// <summary>
        /// 项目区域位置图
        /// </summary>
        /// <returns></returns>
        public ActionResult ProjectEqAreaView()
        {
            return View();
        }

        #endregion

        #region 数据操作

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

        /// <summary>
        /// 新增数据
        /// </summary>
        /// <param name="entity">新增实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Ins(base_project entity)
        {
            return Serialize(_service.Ins(entity));
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="entity">修改实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Upd(base_project entity)
        {
            return Serialize(_service.Upd(entity));
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelByIds(Guid[] ids)
        {
            return Serialize(_service.DelByIds(ids));
        }
        #endregion

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


        #endregion
        #region 自定义方法

        /// <summary>
        /// 项目地图 首页
        /// </summary>
        [HttpPost]
        public string GetProjectMapList()
        {
            return Serialize(_service.GetProjectMapList());
        }

        /// <summary>
        /// 项目地图=>项目概述=>设备在线状况
        /// </summary>
        /// <param name="projectKeys"></param>
        /// <returns></returns>
        public string GetEqInfoByProjectKeys(Guid projectKeys)
        {
            return Serialize(_service.GetEqInfoByProjectKeys(projectKeys));
        }

        /// <summary>
        /// 项目地图=> 项目概述 设备故障总时间、设备故障发生次数、设备超40分钟报警
        /// </summary>
        /// <param name="projectKeys"></param>
        /// <returns></returns>
        public string GetFailureList(Guid projectKeys)
        {
            return Serialize(_service.GetFailureList(projectKeys));
        }

        /// <summary>
        /// 项目地图=> 项目概 获取近七天设备开机时间
        /// </summary>
        /// <param name="projectKeys"></param>
        /// <returns></returns>
        public string GetEqPowerOnTime(Guid projectKeys)
        {
            return Serialize(_service.GetEqPowerOnTime(projectKeys));
        }

        [HttpGet]
        public string GetProjecInfo()
        {
            return Serialize(_service.GetProjectInfo());
        }

        #endregion
    }
}