BulletinBoardController.cs 3.65 KB
using System;using System.Collections.Generic;using Hh.Mes.Api.Controllers;using Hh.Mes.Common.Json;using Hh.Mes.Common.log;
using Hh.Mes.Service;using Hh.Mes.Service.ApiService;
using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Http.Headers;
using Microsoft.AspNetCore.Mvc;// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace Hh.Mes.Api.Controllers{    [Route("api/[controller]/[action]")]    [ApiController]    public  class BulletinBoardController : BaseController    {        private readonly BulletinBoardService service;
        private readonly BaseInfoCacheService baseInfo;        public BulletinBoardController(BulletinBoardService  service, BaseInfoCacheService baseInfo,  IHttpContextAccessor accessor)        {            this.service = service;            this.baseInfo = baseInfo;            this.context = accessor.HttpContext;        }

        #region 故障报告
        [HttpGet]
        public string GetFaultReport(string yyyyMonth, string projectCode, string equipmentTypeCode)
        {
            var result = service.GetFaultReport(yyyyMonth, projectCode, equipmentTypeCode);
            return Serialize(result);
        }


        /// <summary>
        /// 故障报告-本周故障分析-具体每天故障分析
        /// </summary>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        [HttpGet]
        public string GetEquipmentWeekDayFaultInfo(string startTime, string endTime, string projectCode)
        {
            var result = service.GetEquipmentWeekDayFaultInfo(startTime, endTime, projectCode);
            return Serialize(result);

        }

        #endregion

        #region 故障分析
        /// <summary>
        /// 故障統計分析
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public string FaultStatistics(string begin, string end, string projectCode)
        {
            var result = service.FaultStatistics(begin, end, projectCode, "");
            return Serialize(result);
        }
        #endregion

        #region 妥善率
        /// <summary>
        /// 妥善率趋势图
        /// </summary>
        [HttpGet]
        public string GetProperRate(string startTime, string endTime, string yearOrdaySelectVal, string timeFlag, string projecCode, string equipmentTypeCode)
        {
            var result = service.GetProperRate(startTime, endTime, yearOrdaySelectVal, timeFlag, projecCode, equipmentTypeCode);
            return Serialize(result);
        }

        #endregion

        #region 故障月份对比
        [HttpGet]
        public string FailureMonthCompare(int year, int month, string projectCode, string equipmentTypeCode)
        {
            var result = service.GetFailureMonthCompare(year, month, projectCode, equipmentTypeCode);
            return Serialize(result);
        }
        #endregion

        [HttpGet]
        public string GetBaseInfoByKeyExtend(string key, string falg)
        {
            return ExceptionsHelp.Instance.ExecuteT(() =>
            {
                var isRemore = falg == "1";
                var result = baseInfo.GetOneBaseInfo(key, isRemore);
                if (string.IsNullOrEmpty(result))
                {
                    return "{\"code\":500,\"status\":false,\"message\":\"ok\",\"data\":null}";
                }
                return "{\"code\":200,\"status\":true,\"message\":\"ok\",\"data\":" + result + "}";
            });
        }

    }}