BaseEquipmentController.cs 5.08 KB
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Entity;
using Hh.Mes.Service.Equipment;
using Microsoft.AspNetCore.Mvc;
using Hh.Mes.Service.SystemAuth;
using WebMvc.Aop;
using Microsoft.AspNetCore.Http;
using Hh.Mes.Service.WebService.Equipment;
using System.Threading.Tasks;

namespace WebMvc.Areas.Equipment.Controllers
{
    [Area("Equipment")]
    public class BaseEquipmentController : BaseController
    {
        private readonly BaseEquipmentService _service;
        private readonly EquipmentVisualService _visualService;

        public BaseEquipmentController(IAuth authUtil, BaseEquipmentService service, EquipmentVisualService _visualService) : base(authUtil)
        {
            _service = service;
            _service.sysWebUser = authUtil.GetCurrentUser().User;

            this._visualService = _visualService;     
        }
 
        #region 视图功能
        /// <summary>
        /// 默认视图Action
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        public ActionResult Index()
        {
            Task.Run(() =>
            {
                _service.UpdateRemarkWithAlarmStatus();
            });
            return View();
        }

        /// <summary>
        /// 设备列表-项目地图
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        public ActionResult IndexProjectAndEq()
        {
            return View();
        }

        /// <summary>
        /// IOT/SIM作业指导书
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        public ActionResult IndexEqProcess()
        {
            return View();
        }
        
        #endregion

        #region 数据操作

        /// <summary>
        /// 加载及分页查询
        /// </summary>
        /// <param name="pageRequest">表单请求信息</param>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Load(PageReq pageRequest, base_equipment entity)
        {
            return Serialize(_service.Load(pageRequest, entity));
        }
 
        /// <summary>
        /// 新增数据
        /// </summary>
        /// <param name="entity">新增实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Ins(base_equipment entity)
        {
            return Serialize(_service.Ins(entity));
        }
 
        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="entity">修改实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Upd(base_equipment entity)
        {
            return Serialize(_service.Upd(entity));
        }
 
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelByIds(int[] ids)
        {
            return Serialize(_service.DelByIds(ids));
        }
        #endregion
 
        #region 导出数据
        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Export(base_equipment entity)
        {
            return Serialize(_service.ExportData(entity));
        }
        #endregion

        #region 自定义方法
        /// <summary>
        /// 导入图片数据 excelfile名称不能改
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public string Import(int id, IFormFile excelfile)
        {
            return Serialize(_service.UpdateEquipmentImage(id, excelfile)) ;
        }
        #endregion


        #region 设备可视化 
        /// <summary>
        /// 设备可视化 页面
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        public ActionResult EquipmentVisual()
        {
            return View();
        }

        /// <summary>
        /// 设备健康表现、 操作手册、未处理设备报警记录
        /// </summary>
        [HttpPost]
        public string GetEquipmentFileList(base_equipment model)
        {
            return Serialize(_visualService.GetEquipmentFileList(model));
        }

        /// <summary>
        ///设备保养信息tab 概述总览数据、部件列表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public string GetEquipmentMaintainList(base_equipment model)
        {
            return Serialize(_visualService.GetEquipmentMaintainList(model));
        }

        /// <summary>
        /// 设备保养信息tab 已保养设备部件 未保养设备部件
        /// </summary>
        [HttpPost]
        public string GetEquipmentMaintainRecordList(string eqCode,string partCode)
        {
            return Serialize(_visualService.GetEquipmentMaintainRecordList(eqCode,partCode));
        }
        #endregion
    }
}