Blame view

Hh.Mes.Api/Controllers/BulletinBoardController.cs 8.47 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
using Hh.Mes.Service;using Hh.Mes.Service.ApiService;
赖素文 authored
5
using Hh.Mes.Service.Configure;
6
using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Http.Headers;
赖素文 authored
7
8
using Microsoft.AspNetCore.Mvc;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
赖素文 authored
9
namespace Hh.Mes.Api.Controllers{
    [Route("api/[controller]/[action]")]
    [ApiController]
    [ValidateUser]
    public class BulletinBoardController : BaseController
    {
        private readonly BulletinBoardService service;
赖素文 authored
10
        private readonly BaseInfoCacheService baseInfo;
赖素文 authored
11
赖素文 authored
12
13
14
        /// <summary>
        /// 用户信息
        /// </summary>
赖素文 authored
15
        private UserAuthSession UserInfo { get; set; }

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

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

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

        #endregion

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

        /// <summary>
87
88
89
90
91
92
93
94
95
96
97
98
99
100
        /// 获取所有项目(如果是AGV报表则只查询有AGV设备的项目)
        /// </summary>
        /// <param name="agvTag"></param>
        /// <returns></returns>
        [HttpGet]
        public string GetProjects(bool agvTag = false)
        {
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
            var result = service.GetProjects(agvTag);
            return Serialize(result);
        }


        /// <summary>
HuXiYu authored
101
102
103
104
105
        /// 获取项目下的所有设备
        /// </summary>
        /// <param name="projectCode"></param>
        /// <returns></returns>
        [HttpGet]
106
        public string GetEquipmentsByProject(string projectCode,bool agvTag=false)
HuXiYu authored
107
        {
108
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
109
            var result = service.GetEquipmentsByProject(projectCode,agvTag);
HuXiYu authored
110
111
            return Serialize(result);
        }
112
113
114
        #endregion

        #region 月每周故障次数、时间
HuXiYu authored
115
116
        [HttpGet]
        public string FailureMonthWeekCountAndTime(string projectCode, DateTime currentDate)
117
        {
118
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
HuXiYu authored
119
            var result = service.GetFailureMonthWeekCountAndTime(projectCode, currentDate);
120
121
122
            return Serialize(result);
        }
        #endregion
123
124
        #region 项目某设备某天每小时故障次数
HuXiYu authored
125
126
        [HttpGet]
        public string FailureEveryHourCount(string projectCode, string equipmentCode, DateTime currentDate)
127
        {
128
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
HuXiYu authored
129
            var result = service.GetFailureEveryHourCount(projectCode, equipmentCode, currentDate);
130
131
132
            return Serialize(result);
        }
        #endregion
HuXiYu authored
133
134
        #region 故障重复次数
HuXiYu authored
135
136
137
138
139
140
141
142
143
144
        /// <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)
        {
145
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
HuXiYu authored
146
147
148
            var result=service.GetFailureAlarmCount(projectCode, startTime, endTime);
            return Serialize(result);
        }
149
150
        #endregion
151
152
        #region 获取AGV异常故障内容下拉框数据源
HuXiYu authored
153
        public string GetAGVAlarmList(string projectCode,string equipmentCode)
154
        {
155
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
HuXiYu authored
156
            var result = service.GetAGVAlarmList(projectCode,equipmentCode);
157
158
159
            return Serialize(result);
        }
        #endregion
160
161
        #region 获取AGV异常分析(点位维度)
162
        [HttpGet]
163
164
        public string GetAGVCodePointAlarmRecord(string startTime,string endTime,string projectCode,string equipmentCode,string alarmMsg)
        {
165
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
166
167
168
169
            var result = service.GetAGVCodePointAlarmRecord(startTime, endTime, projectCode, equipmentCode, alarmMsg);
            return Serialize(result);
        }
        #endregion
170
171
172
173
174

        #region 获取AGV异常分析(时间维度)
        [HttpGet]
        public string GetAGVAbnormalRecord(string startTime, string endTime, string projectCode, string equipmentCode, string alarmMsg)
        {
175
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
176
177
178
179
180
181
182
183
184
            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)
        {
185
            this.service.sysUserApiAccount = HttpContext.Items["Account"] as string;
186
187
188
189
            var result = service.GetAGVProperRate(startTime,endTime,yearOrdaySelectVal,timeFlag,projectCode,equipmentCode);
            return Serialize(result);
        }
        #endregion
190
    }}