Blame view

Hh.Mes.Api/Controllers/BulletinBoardController.cs 7.88 KB
1
using System;using System.Collections.Generic;using Hh.Mes.Api.Controllers;using Hh.Mes.Common.Json;using Hh.Mes.Common.log;
赖素文 authored
2
3
using Hh.Mes.Common.Redis;
using Hh.Mes.Pojo.System;
4
5
using Hh.Mes.Service;using Hh.Mes.Service.ApiService;
using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Http.Headers;
赖素文 authored
6
7
using Microsoft.AspNetCore.Mvc;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
8
namespace Hh.Mes.Api.Controllers{
    [Route("api/[controller]/[action]")]
    [ApiController]
    //[ValidateUser]
    public class BulletinBoardController : BaseController
    {
        private readonly BulletinBoardService service;
赖素文 authored
9
10
11
12
13
        private readonly BaseInfoCacheService baseInfo;

        /// <summary>
        /// 用户信息
        /// </summary>
14
        private UserAuthSession UserInfo { get; set; }

        public BulletinBoardController(BulletinBoardService service, BaseInfoCacheService baseInfo, IHttpContextAccessor accessor)
        {
            this.service = service;
            this.baseInfo = baseInfo;
            this.context = accessor.HttpContext;
        }
赖素文 authored
15
16
17
18
19
        #region 故障报告
        [HttpGet]
        public string GetFaultReport(string yyyyMonth, string projectCode, string equipmentTypeCode)
        {
20
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
21
22
23
24
25
26
27
            var result = service.GetFaultReport(yyyyMonth, projectCode, equipmentTypeCode);
            return Serialize(result);
        }
        #endregion

        #region 故障分析
        /// <summary>
28
        /// 故障分析查询
29
        /// </summary>
30
31
32
        /// <param name="begin">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="projectCode">项目编码</param>
赖素文 authored
33
        /// <param name="equipmentCode">设备编码</param>
34
35
        /// <returns></returns>
        [HttpGet]
赖素文 authored
36
        public string FaultStatistics(string begin, string end, string projectCode,string equipmentCode)
37
        {
38
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
赖素文 authored
39
            var result = service.FaultStatistics(begin, end, projectCode, equipmentCode);
40
41
42
43
44
45
46
47
48
            return Serialize(result);
        }
        #endregion

        #region 妥善率
        /// <summary>
        /// 妥善率趋势图
        /// </summary>
        [HttpGet]
赖素文 authored
49
        public string GetProperRate(string startTime, string endTime, string yearOrdaySelectVal, string timeFlag, string projectCode, string equipmentCode)
50
        {
51
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
赖素文 authored
52
            var result = service.GetProperRate(startTime, endTime, yearOrdaySelectVal, timeFlag, projectCode, equipmentCode);
53
54
55
56
57
58
59
60
61
            return Serialize(result);
        }

        #endregion

        #region 故障月份对比
        [HttpGet]
        public string FailureMonthCompare(int year, int month, string projectCode, string equipmentTypeCode)
        {
62
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
63
64
65
66
67
            var result = service.GetFailureMonthCompare(year, month, projectCode, equipmentTypeCode);
            return Serialize(result);
        }
        #endregion
68
        #region 获取基础数据
69
70
71
72
73
        [HttpGet]
        public string GetBaseInfoByKeyExtend(string key, string falg)
        {
            return ExceptionsHelp.Instance.ExecuteT(() =>
            {
74
                this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
75
76
77
78
79
80
81
82
83
                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 + "}";
            });
        }
HuXiYu authored
84
85
86
87
88
89
90

        /// <summary>
        /// 获取项目下的所有设备
        /// </summary>
        /// <param name="projectCode"></param>
        /// <returns></returns>
        [HttpGet]
91
        public string GetEquipmentsByProject(string projectCode,bool agvTag=false)
HuXiYu authored
92
        {
93
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
94
            var result = service.GetEquipmentsByProject(projectCode,agvTag);
HuXiYu authored
95
96
            return Serialize(result);
        }
97
98
99
        #endregion

        #region 月每周故障次数、时间
HuXiYu authored
100
101
        [HttpGet]
        public string FailureMonthWeekCountAndTime(string projectCode, DateTime currentDate)
102
        {
103
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
HuXiYu authored
104
            var result = service.GetFailureMonthWeekCountAndTime(projectCode, currentDate);
105
106
107
            return Serialize(result);
        }
        #endregion
108
109
        #region 项目某设备某天每小时故障次数
HuXiYu authored
110
111
        [HttpGet]
        public string FailureEveryHourCount(string projectCode, string equipmentCode, DateTime currentDate)
112
        {
113
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
HuXiYu authored
114
            var result = service.GetFailureEveryHourCount(projectCode, equipmentCode, currentDate);
115
116
117
            return Serialize(result);
        }
        #endregion
HuXiYu authored
118
119
        #region 故障重复次数
HuXiYu authored
120
121
122
123
124
125
126
127
128
129
        /// <summary>
        /// 故障次数
        /// </summary>
        /// <param name="projectCode"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        [HttpGet]
        public string FailureAlarmCount(string projectCode, DateTime startTime, DateTime endTime)
        {
130
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
HuXiYu authored
131
132
133
            var result=service.GetFailureAlarmCount(projectCode, startTime, endTime);
            return Serialize(result);
        }
134
135
        #endregion
136
137
138
139
        #region 获取AGV异常故障内容下拉框数据源

        public string GetAGVAlarmList()
        {
140
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
141
142
143
144
            var result = service.GetAGVAlarmList();
            return Serialize(result);
        }
        #endregion
145
146
        #region 获取AGV异常分析(点位维度)
147
        [HttpGet]
148
149
        public string GetAGVCodePointAlarmRecord(string startTime,string endTime,string projectCode,string equipmentCode,string alarmMsg)
        {
150
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
151
152
153
154
            var result = service.GetAGVCodePointAlarmRecord(startTime, endTime, projectCode, equipmentCode, alarmMsg);
            return Serialize(result);
        }
        #endregion
155
156
157
158
159

        #region 获取AGV异常分析(时间维度)
        [HttpGet]
        public string GetAGVAbnormalRecord(string startTime, string endTime, string projectCode, string equipmentCode, string alarmMsg)
        {
160
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
161
162
163
164
165
166
167
168
169
            var result = service.GetAGVAbnormalRecord(startTime, endTime, projectCode, equipmentCode, alarmMsg);
            return Serialize(result);
        }
        #endregion

        #region 获取AGV故障任务妥善率(故障次数/任务数)
        [HttpGet]
        public string GetAGVProperRate(string startTime, string endTime, string yearOrdaySelectVal, string timeFlag, string projectCode, string equipmentCode)
        {
170
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
171
172
173
174
            var result = service.GetAGVProperRate(startTime,endTime,yearOrdaySelectVal,timeFlag,projectCode,equipmentCode);
            return Serialize(result);
        }
        #endregion
175
    }}