厂区驾驶舱接口开发
正在显示
11 个修改的文件
包含
936 行增加
和
3 行删除
... | @@ -83,7 +83,6 @@ | ... | @@ -83,7 +83,6 @@ |
83 | <select id="getYhylqs" resultType="java.util.HashMap"> | 83 | <select id="getYhylqs" resultType="java.util.HashMap"> |
84 | SELECT | 84 | SELECT |
85 | LEFT( v3.time, 7 ) time, | 85 | LEFT( v3.time, 7 ) time, |
86 | ( v3.time, 7 ) time, | ||
87 | (SUM( v3.NACLO ) + SUM( v3.PFS ) + SUM( v3.FHTY ) + SUM( v3.RYXNJ ) + SUM( v3.YWL ) + SUM( v3.GXCLJ ) + SUM( v3.CH3COONA ) | 86 | (SUM( v3.NACLO ) + SUM( v3.PFS ) + SUM( v3.FHTY ) + SUM( v3.RYXNJ ) + SUM( v3.YWL ) + SUM( v3.GXCLJ ) + SUM( v3.CH3COONA ) |
88 | + SUM( v3.HXT ) + SUM( v3.FECL3 ) + SUM( v3.SH ) + SUM( v3.CH3COOH ) + SUM( v3.FESO4G ) + SUM( v3.FESO4Y ) + SUM( v3.H2O2 ) ) AS zyl, | 87 | + SUM( v3.HXT ) + SUM( v3.FECL3 ) + SUM( v3.SH ) + SUM( v3.CH3COOH ) + SUM( v3.FESO4G ) + SUM( v3.FESO4Y ) + SUM( v3.H2O2 ) ) AS zyl, |
89 | v2.clsl, | 88 | v2.clsl, | ... | ... |
... | @@ -133,9 +133,9 @@ skua: | ... | @@ -133,9 +133,9 @@ skua: |
133 | web-url: http://103.85.171.27:8096 | 133 | web-url: http://103.85.171.27:8096 |
134 | path: | 134 | path: |
135 | #文件上传根目录 设置 | 135 | #文件上传根目录 设置 |
136 | upload: ../file | 136 | upload: /home/skboot/file |
137 | #webapp文件路径 | 137 | #webapp文件路径 |
138 | webapp: ../file | 138 | webapp: /home/skboot/file |
139 | # 断点续传路径 | 139 | # 断点续传路径 |
140 | chunk: /home/skboot/file/files | 140 | chunk: /home/skboot/file/files |
141 | #创蓝短信秘钥 | 141 | #创蓝短信秘钥 | ... | ... |
1 | package com.skua.modules.dataAnalysis.controller; | ||
2 | |||
3 | import com.skua.core.api.vo.Result; | ||
4 | import com.skua.modules.dataAnalysis.service.IFactoryCenterService; | ||
5 | import com.skua.modules.dataAnalysis.vo.StatisticsParam; | ||
6 | import com.skua.modules.dataAnalysis.vo.WaterQualityMonitoringDetailVO; | ||
7 | import com.skua.modules.dataAnalysis.vo.WaterQualityMonitoringVO; | ||
8 | import io.swagger.annotations.Api; | ||
9 | import io.swagger.annotations.ApiOperation; | ||
10 | import lombok.extern.slf4j.Slf4j; | ||
11 | import org.springframework.beans.factory.annotation.Autowired; | ||
12 | import org.springframework.web.bind.annotation.GetMapping; | ||
13 | import org.springframework.web.bind.annotation.RequestMapping; | ||
14 | import org.springframework.web.bind.annotation.RestController; | ||
15 | |||
16 | import java.util.HashMap; | ||
17 | import java.util.List; | ||
18 | import java.util.Map; | ||
19 | |||
20 | @Slf4j | ||
21 | @Api(tags = "厂区驾驶舱") | ||
22 | @RestController | ||
23 | @RequestMapping("/v1/factoryCenter") | ||
24 | public class FactoryCenterController { | ||
25 | |||
26 | @Autowired | ||
27 | private IFactoryCenterService factoryCenterService; | ||
28 | |||
29 | @ApiOperation(value="厂区驾驶舱实时数据查询", notes="厂区驾驶舱实时数据查询") | ||
30 | @GetMapping(value = "/getRealTimeData") | ||
31 | public Result<List<WaterQualityMonitoringDetailVO>> getRealTimeData(String departId) { | ||
32 | Result<List<WaterQualityMonitoringDetailVO>> result = new Result<List<WaterQualityMonitoringDetailVO>>(); | ||
33 | List<WaterQualityMonitoringDetailVO> list = factoryCenterService.queryMonitoringData(departId); | ||
34 | result.setSuccess(true); | ||
35 | result.setResult(list); | ||
36 | return result; | ||
37 | } | ||
38 | |||
39 | @ApiOperation(value="厂区驾驶舱统计数据", notes="厂区驾驶舱统计数据") | ||
40 | @GetMapping(value = "/getData") | ||
41 | public Result<Map<String,Object>> getData(String departId,String month) { | ||
42 | Result<Map<String,Object>> result = new Result<Map<String,Object>>(); | ||
43 | Map<String,Object> map = factoryCenterService.getData(departId,month); | ||
44 | result.setSuccess(true); | ||
45 | result.setResult(map); | ||
46 | return result; | ||
47 | } | ||
48 | |||
49 | @ApiOperation(value="厂区驾驶舱产泥量统计", notes="厂区驾驶舱产泥量统计") | ||
50 | @GetMapping(value = "/getCnltj") | ||
51 | public Result<List<Map<String, Object>>> getCnltj(StatisticsParam statisticsParam) { | ||
52 | Result<List<Map<String, Object>>> result = new Result<List<Map<String, Object>>>(); | ||
53 | List<Map<String, Object>> list = factoryCenterService.getCnltj(statisticsParam); | ||
54 | result.setSuccess(true); | ||
55 | result.setResult(list); | ||
56 | return result; | ||
57 | } | ||
58 | |||
59 | @ApiOperation(value="厂区驾驶舱耗电量统计", notes="厂区驾驶舱耗电量统计") | ||
60 | @GetMapping(value = "/getHdltj") | ||
61 | public Result<List<Map<String, Object>>> getHdltj(StatisticsParam statisticsParam) { | ||
62 | Result<List<Map<String, Object>>> result = new Result<List<Map<String, Object>>>(); | ||
63 | List<Map<String, Object>> list = factoryCenterService.getHdltj(statisticsParam); | ||
64 | result.setSuccess(true); | ||
65 | result.setResult(list); | ||
66 | return result; | ||
67 | } | ||
68 | |||
69 | //污水处理水量统计 | ||
70 | @ApiOperation(value="厂区驾驶舱污水处理水量统计", notes="厂区驾驶舱污水处理水量统计") | ||
71 | @GetMapping(value = "/getWssltj") | ||
72 | public Result<List<Map<String, Object>>> getWssltj(StatisticsParam statisticsParam) { | ||
73 | Result<List<Map<String, Object>>> result = new Result<List<Map<String, Object>>>(); | ||
74 | List<Map<String, Object>> list = factoryCenterService.getWssltj(statisticsParam); | ||
75 | result.setSuccess(true); | ||
76 | result.setResult(list); | ||
77 | return result; | ||
78 | } | ||
79 | |||
80 | //厂区驾驶舱药耗统计 | ||
81 | @ApiOperation(value="厂区驾驶舱药耗统计", notes="厂区驾驶舱药耗统计") | ||
82 | @GetMapping(value = "/getYhtj") | ||
83 | public Result<List<Map<String, Object>>> getYhtj(StatisticsParam statisticsParam) { | ||
84 | Result<List<Map<String, Object>>> result = new Result<List<Map<String, Object>>>(); | ||
85 | List<Map<String, Object>> list = factoryCenterService.getYhtj(statisticsParam); | ||
86 | result.setSuccess(true); | ||
87 | result.setResult(list); | ||
88 | return result; | ||
89 | } | ||
90 | |||
91 | /** | ||
92 | * <pre> | ||
93 | * <获取指定厂站报警阈值 | ||
94 | * </pre> | ||
95 | * @return | ||
96 | */ | ||
97 | @ApiOperation(value="获取指定厂站报警阈值", notes="获取指定厂站报警阈值") | ||
98 | @GetMapping(value = "/getMonitorThreshold") | ||
99 | public Result<Map<String,Object>> getMonitorThreshold(String departId) { | ||
100 | Result<Map<String,Object>> result = new Result<Map<String,Object>>(); | ||
101 | Map<String, Object> map = factoryCenterService.getMonitorThreshold(departId); | ||
102 | result.setSuccess(true); | ||
103 | result.setResult(map); | ||
104 | return result; | ||
105 | } | ||
106 | |||
107 | @ApiOperation(value="获取水质变化趋势", notes="获取水质变化趋势") | ||
108 | @GetMapping(value = "/getHourWaterData") | ||
109 | public Result<Map<String,Object>> getHourWaterData(StatisticsParam statisticsParam) { | ||
110 | Result<Map<String,Object>> result = new Result<Map<String,Object>>(); | ||
111 | Map<String,Object> map = new HashMap<>(); | ||
112 | map = factoryCenterService.getHourWaterData(statisticsParam); | ||
113 | result.setSuccess(true); | ||
114 | result.setResult(map); | ||
115 | return result; | ||
116 | } | ||
117 | } |
sk-module-datafill/src/main/java/com/skua/modules/dataAnalysis/mapper/FactoryCenterMapper.java
0 → 100644
1 | package com.skua.modules.dataAnalysis.mapper; | ||
2 | |||
3 | import com.skua.modules.system.datestandard.entity.SysMonitorMetricInfo; | ||
4 | import org.apache.ibatis.annotations.Param; | ||
5 | |||
6 | import java.util.List; | ||
7 | import java.util.Map; | ||
8 | |||
9 | public interface FactoryCenterMapper { | ||
10 | |||
11 | List<SysMonitorMetricInfo> getMonitorListByDepart(@Param("departId") String departId); | ||
12 | |||
13 | List<Map<String, Object>> getHourWaterData(@Param("departId") String departId, @Param("startDate") String startDate, @Param("endDate") String endDate); | ||
14 | } |
sk-module-datafill/src/main/java/com/skua/modules/dataAnalysis/mapper/xml/FactoryCenterMapper.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
3 | <mapper namespace="com.skua.modules.dataAnalysis.mapper.FactoryCenterMapper"> | ||
4 | |||
5 | <select id="getMonitorListByDepart" resultType="com.skua.modules.system.datestandard.entity.SysMonitorMetricInfo"> | ||
6 | SELECT | ||
7 | * | ||
8 | FROM | ||
9 | sys_monitor_metric_info | ||
10 | WHERE | ||
11 | depart_id = #{departId} | ||
12 | AND metric_uid_tag IN ( 'JSTP', 'JSTN', 'JSPH', 'JSNH3N', 'JSCOD', 'CSTP', 'CSTN', 'CSPH', 'CSNH3N', 'CSCOD' ) | ||
13 | </select> | ||
14 | <select id="getHourWaterData" resultType="java.util.HashMap"> | ||
15 | select * from sys_monitor_metric_info | ||
16 | </select> | ||
17 | |||
18 | </mapper> |
sk-module-datafill/src/main/java/com/skua/modules/dataAnalysis/service/IFactoryCenterService.java
0 → 100644
1 | package com.skua.modules.dataAnalysis.service; | ||
2 | |||
3 | import com.skua.modules.dataAnalysis.vo.StatisticsParam; | ||
4 | import com.skua.modules.dataAnalysis.vo.WaterQualityMonitoringDetailVO; | ||
5 | |||
6 | import java.util.List; | ||
7 | import java.util.Map; | ||
8 | |||
9 | public interface IFactoryCenterService { | ||
10 | |||
11 | /** | ||
12 | * 获取水质监测数据 | ||
13 | * @param departId | ||
14 | * @return | ||
15 | */ | ||
16 | List<WaterQualityMonitoringDetailVO> queryMonitoringData(String departId); | ||
17 | |||
18 | Map<String, Object> getData(String departId,String month); | ||
19 | |||
20 | List<Map<String, Object>> getCnltj(StatisticsParam statisticsParam); | ||
21 | |||
22 | List<Map<String, Object>> getHdltj(StatisticsParam statisticsParam); | ||
23 | |||
24 | List<Map<String, Object>> getWssltj(StatisticsParam statisticsParam); | ||
25 | |||
26 | List<Map<String, Object>> getYhtj(StatisticsParam statisticsParam); | ||
27 | |||
28 | Map<String, Object> getMonitorThreshold(String departId); | ||
29 | |||
30 | Map<String, Object> getHourWaterData(StatisticsParam statisticsParam); | ||
31 | } | ||
32 |
1 | package com.skua.modules.dataAnalysis.service.impl; | ||
2 | |||
3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
4 | import com.skua.core.context.SpringContextUtils; | ||
5 | import com.skua.core.service.IPgQueryService; | ||
6 | import com.skua.core.util.ConvertUtils; | ||
7 | import com.skua.core.util.DateUtils; | ||
8 | import com.skua.core.util.DoubleOperaUtils; | ||
9 | import com.skua.modules.dataAnalysis.mapper.FactoryCenterMapper; | ||
10 | import com.skua.modules.dataAnalysis.service.IFactoryCenterService; | ||
11 | import com.skua.modules.dataAnalysis.vo.StatisticsParam; | ||
12 | import com.skua.modules.dataAnalysis.vo.WaterQualityMonitoringDetailVO; | ||
13 | import com.skua.modules.system.datestandard.entity.SysMonitorMetricInfo; | ||
14 | import com.skua.modules.system.datestandard.service.ISysMonitorMetricInfoService; | ||
15 | import org.apache.commons.lang3.StringUtils; | ||
16 | import org.springframework.beans.factory.annotation.Autowired; | ||
17 | import org.springframework.jdbc.core.JdbcTemplate; | ||
18 | import org.springframework.stereotype.Service; | ||
19 | import org.springframework.util.CollectionUtils; | ||
20 | |||
21 | import javax.annotation.Resource; | ||
22 | import java.time.LocalDate; | ||
23 | import java.time.YearMonth; | ||
24 | import java.time.format.DateTimeFormatter; | ||
25 | import java.util.*; | ||
26 | import java.util.stream.Collectors; | ||
27 | |||
28 | @Service | ||
29 | public class FactoryCenterServiceImpl implements IFactoryCenterService { | ||
30 | |||
31 | @Resource | ||
32 | private FactoryCenterMapper factoryCenterMapper; | ||
33 | @Autowired | ||
34 | private IPgQueryService pgQueryService; | ||
35 | @Autowired | ||
36 | private ISysMonitorMetricInfoService sysMonitorMetricInfoService; | ||
37 | |||
38 | @Override | ||
39 | public List<WaterQualityMonitoringDetailVO> queryMonitoringData(String departId) { | ||
40 | List<WaterQualityMonitoringDetailVO> list = new ArrayList<>(); | ||
41 | Map<String, Object> monitorTagMap = new HashMap<String,Object>(); | ||
42 | monitorTagMap.put("CSCOD","BXWSCLC_PLC1_Tag386"); | ||
43 | monitorTagMap.put("CSNH3N","BXWSCLC_PLC1_Tag387"); | ||
44 | monitorTagMap.put("CSPH","BXWSCLC_PLC1_Tag385"); | ||
45 | monitorTagMap.put("CSTN","BXWSCLC_PLC1_Tag392"); | ||
46 | monitorTagMap.put("CSTP","BXWSCLC_PLC1_Tag388"); | ||
47 | monitorTagMap.put("JSCOD","BXWSCLC_PLC1_Tag381"); | ||
48 | monitorTagMap.put("JSNH3N","BXWSCLC_PLC1_Tag382"); | ||
49 | monitorTagMap.put("JSPH","BXWSCLC_PLC1_Tag1"); | ||
50 | monitorTagMap.put("JSTN","BXWSCLC_PLC1_Tag3"); | ||
51 | monitorTagMap.put("JSTP","BXWSCLC_PLC1_Tag2"); | ||
52 | // List<SysMonitorMetricInfo> monitorList = factoryCenterMapper.getMonitorListByDepart(departId); | ||
53 | //获取实时指标 | ||
54 | String fields = ""; | ||
55 | // for(SysMonitorMetricInfo monitorInfo : monitorList) { | ||
56 | // fields = fields+","+monitorInfo.getId(); | ||
57 | // } | ||
58 | // if(!StringUtils.isEmpty(fields)) { | ||
59 | // fields = fields.substring(1); | ||
60 | // } | ||
61 | fields = "BXWSCLC_PLC1_Tag386,BXWSCLC_PLC1_Tag387,BXWSCLC_PLC1_Tag385,BXWSCLC_PLC1_Tag392,BXWSCLC_PLC1_Tag388," + | ||
62 | "BXWSCLC_PLC1_Tag381,BXWSCLC_PLC1_Tag382,BXWSCLC_PLC1_Tag1,BXWSCLC_PLC1_Tag3,BXWSCLC_PLC1_Tag2,"; | ||
63 | //获取实时数据 | ||
64 | List<Map<String, Object>> pgDataList = pgQueryService.queryFactoryMonitorFromRealTimeData(departId, fields); | ||
65 | Map<String, Object> dataMap = new HashMap<String,Object>(); | ||
66 | if(pgDataList!=null&&pgDataList.size()>0) { | ||
67 | dataMap = pgDataList.get(0); | ||
68 | } | ||
69 | WaterQualityMonitoringDetailVO inVO = new WaterQualityMonitoringDetailVO(); | ||
70 | inVO.setParmType("in"); | ||
71 | inVO.setNum(1); | ||
72 | inVO.setDepartId(departId); | ||
73 | inVO.setCodUpper("150"); | ||
74 | inVO.setCodLower("0"); | ||
75 | inVO.setNh3Upper("35"); | ||
76 | inVO.setNh3Lower("0"); | ||
77 | inVO.setTpUpper("4"); | ||
78 | inVO.setTpLower("0"); | ||
79 | inVO.setTnUpper("20"); | ||
80 | inVO.setTnLower("0"); | ||
81 | inVO.setPhUpper("14"); | ||
82 | inVO.setPhLower("0"); | ||
83 | if(monitorTagMap.get("JSCOD")!=null){ | ||
84 | if(dataMap.get(monitorTagMap.get("JSCOD").toString())!=null){ | ||
85 | inVO.setCodVal(dataMap.get(monitorTagMap.get("JSCOD").toString()).toString()); | ||
86 | }else{ | ||
87 | inVO.setCodVal("0"); | ||
88 | } | ||
89 | }else{ | ||
90 | inVO.setCodVal("0"); | ||
91 | } | ||
92 | if(monitorTagMap.get("JSNH3N")!=null){ | ||
93 | if(dataMap.get(monitorTagMap.get("JSNH3N").toString())!=null){ | ||
94 | inVO.setNh3Val(dataMap.get(monitorTagMap.get("JSNH3N").toString()).toString()); | ||
95 | }else{ | ||
96 | inVO.setNh3Val("0"); | ||
97 | } | ||
98 | }else{ | ||
99 | inVO.setNh3Val("0"); | ||
100 | } | ||
101 | if(monitorTagMap.get("JSTP")!=null){ | ||
102 | if(dataMap.get(monitorTagMap.get("JSTP").toString())!=null){ | ||
103 | inVO.setTpVal(dataMap.get(monitorTagMap.get("JSTP").toString()).toString()); | ||
104 | }else{ | ||
105 | inVO.setTpVal("0"); | ||
106 | } | ||
107 | }else{ | ||
108 | inVO.setTpVal("0"); | ||
109 | } | ||
110 | if(monitorTagMap.get("JSTN")!=null){ | ||
111 | if(dataMap.get(monitorTagMap.get("JSTN").toString())!=null){ | ||
112 | inVO.setTnVal(dataMap.get(monitorTagMap.get("JSTN").toString()).toString()); | ||
113 | }else{ | ||
114 | inVO.setTnVal("0"); | ||
115 | } | ||
116 | }else{ | ||
117 | inVO.setTnVal("0"); | ||
118 | } | ||
119 | if(monitorTagMap.get("JSPH")!=null){ | ||
120 | if(dataMap.get(monitorTagMap.get("JSPH").toString())!=null){ | ||
121 | inVO.setPhVal(dataMap.get(monitorTagMap.get("JSPH").toString()).toString()); | ||
122 | }else{ | ||
123 | inVO.setPhVal("0"); | ||
124 | } | ||
125 | }else{ | ||
126 | inVO.setPhVal("0"); | ||
127 | } | ||
128 | list.add(inVO); | ||
129 | WaterQualityMonitoringDetailVO outVO = new WaterQualityMonitoringDetailVO(); | ||
130 | outVO.setParmType("out"); | ||
131 | outVO.setNum(2); | ||
132 | outVO.setDepartId(departId); | ||
133 | outVO.setCodUpper("30"); | ||
134 | outVO.setCodLower("0"); | ||
135 | outVO.setNh3Upper("1.5"); | ||
136 | outVO.setNh3Lower("0"); | ||
137 | outVO.setTpUpper("0.3"); | ||
138 | outVO.setTpLower("0"); | ||
139 | outVO.setTnUpper("10"); | ||
140 | outVO.setTnLower("0"); | ||
141 | outVO.setPhUpper("9"); | ||
142 | outVO.setPhLower("6"); | ||
143 | if(monitorTagMap.get("CSCOD")!=null){ | ||
144 | if(dataMap.get(monitorTagMap.get("CSCOD").toString())!=null){ | ||
145 | outVO.setCodVal(dataMap.get(monitorTagMap.get("CSCOD").toString()).toString()); | ||
146 | }else{ | ||
147 | outVO.setCodVal("0"); | ||
148 | } | ||
149 | }else{ | ||
150 | outVO.setCodVal("0"); | ||
151 | } | ||
152 | if(monitorTagMap.get("CSNH3N")!=null){ | ||
153 | if(dataMap.get(monitorTagMap.get("CSNH3N").toString())!=null){ | ||
154 | outVO.setNh3Val(dataMap.get(monitorTagMap.get("CSNH3N").toString()).toString()); | ||
155 | }else{ | ||
156 | outVO.setNh3Val("0"); | ||
157 | } | ||
158 | }else{ | ||
159 | outVO.setNh3Val("0"); | ||
160 | } | ||
161 | if(monitorTagMap.get("CSTP")!=null){ | ||
162 | if(dataMap.get(monitorTagMap.get("CSTP").toString())!=null){ | ||
163 | outVO.setTpVal(dataMap.get(monitorTagMap.get("CSTP").toString()).toString()); | ||
164 | }else{ | ||
165 | outVO.setTpVal("0"); | ||
166 | } | ||
167 | }else{ | ||
168 | outVO.setTpVal("0"); | ||
169 | } | ||
170 | if(monitorTagMap.get("CSTN")!=null){ | ||
171 | if(dataMap.get(monitorTagMap.get("CSTN").toString())!=null){ | ||
172 | outVO.setTnVal(dataMap.get(monitorTagMap.get("CSTN").toString()).toString()); | ||
173 | }else{ | ||
174 | outVO.setTnVal("0"); | ||
175 | } | ||
176 | }else{ | ||
177 | outVO.setTnVal("0"); | ||
178 | } | ||
179 | if(monitorTagMap.get("CSPH")!=null){ | ||
180 | if(dataMap.get(monitorTagMap.get("CSPH").toString())!=null){ | ||
181 | outVO.setPhVal(dataMap.get(monitorTagMap.get("CSPH").toString()).toString()); | ||
182 | }else{ | ||
183 | outVO.setPhVal("0"); | ||
184 | } | ||
185 | }else{ | ||
186 | outVO.setPhVal("0"); | ||
187 | } | ||
188 | list.add(outVO); | ||
189 | return list; | ||
190 | } | ||
191 | |||
192 | @Override | ||
193 | public Map<String, Object> getData(String departId,String month) { | ||
194 | Map<String, Object> map = new HashMap<>(); | ||
195 | map.put("yclsl",new HashMap<>()); | ||
196 | Map<String, Object> yclslMap = new HashMap<>(); | ||
197 | yclslMap.put("value","0"); | ||
198 | yclslMap.put("valueTb","0"); | ||
199 | yclslMap.put("valueHb","0"); | ||
200 | map.put("rjclsl",new HashMap<>()); | ||
201 | Map<String, Object> rjclslMap = new HashMap<>(); | ||
202 | rjclslMap.put("value","0"); | ||
203 | rjclslMap.put("valueTb","0"); | ||
204 | rjclslMap.put("valueHb","0"); | ||
205 | map.put("yzdl",new HashMap<>()); | ||
206 | Map<String, Object> yzdlMap = new HashMap<>(); | ||
207 | yzdlMap.put("value","0"); | ||
208 | yzdlMap.put("valueTb","0"); | ||
209 | yzdlMap.put("valueHb","0"); | ||
210 | map.put("dsdh",new HashMap<>()); | ||
211 | Map<String, Object> dsdhMap = new HashMap<>(); | ||
212 | dsdhMap.put("value","0"); | ||
213 | dsdhMap.put("valueTb","-"); | ||
214 | dsdhMap.put("valueHb","0"); | ||
215 | map.put("yzcnl",new HashMap<>()); | ||
216 | Map<String, Object> yzcnlMap = new HashMap<>(); | ||
217 | yzcnlMap.put("value","0"); | ||
218 | yzcnlMap.put("valueTb","-"); | ||
219 | yzcnlMap.put("valueHb","0"); | ||
220 | map.put("wdscnl",new HashMap<>()); | ||
221 | Map<String, Object> wdscnlMap = new HashMap<>(); | ||
222 | wdscnlMap.put("value","0"); | ||
223 | wdscnlMap.put("valueTb","-"); | ||
224 | wdscnlMap.put("valueHb","0"); | ||
225 | return map; | ||
226 | } | ||
227 | |||
228 | @Override | ||
229 | public List<Map<String, Object>> getCnltj(StatisticsParam statisticsParam) { | ||
230 | List<Map<String, Object>> list = new ArrayList<>(); | ||
231 | String startDate = statisticsParam.getStartDate(); | ||
232 | String endDate = statisticsParam.getEndDate(); | ||
233 | List<String> monthList = getMonthsBetween(startDate,endDate); | ||
234 | for ( String month : monthList ) { | ||
235 | Map<String, Object> map = new HashMap<>(); | ||
236 | map.put("time",month); | ||
237 | map.put("cnl","0"); | ||
238 | map.put("wdscnl","0"); | ||
239 | map.put("cnl_tb","0"); | ||
240 | map.put("wdscnl_tb","0"); | ||
241 | list.add(map); | ||
242 | } | ||
243 | return list; | ||
244 | } | ||
245 | |||
246 | @Override | ||
247 | public List<Map<String, Object>> getHdltj(StatisticsParam statisticsParam) { | ||
248 | List<Map<String, Object>> list = new ArrayList<>(); | ||
249 | String startDate = statisticsParam.getStartDate(); | ||
250 | String endDate = statisticsParam.getEndDate(); | ||
251 | List<String> monthList = getMonthsBetween(startDate,endDate); | ||
252 | for ( String month : monthList ) { | ||
253 | Map<String, Object> map = new HashMap<>(); | ||
254 | map.put("time",month); | ||
255 | map.put("hdl","0"); | ||
256 | map.put("dsdh","0"); | ||
257 | map.put("hdl_tb","0"); | ||
258 | map.put("dsdh_tb","0"); | ||
259 | list.add(map); | ||
260 | } | ||
261 | return list; | ||
262 | } | ||
263 | |||
264 | @Override | ||
265 | public List<Map<String, Object>> getWssltj(StatisticsParam statisticsParam) { | ||
266 | List<Map<String, Object>> list = new ArrayList<>(); | ||
267 | String startDate = statisticsParam.getStartDate(); | ||
268 | String endDate = statisticsParam.getEndDate(); | ||
269 | List<String> monthList = getMonthsBetween(startDate,endDate); | ||
270 | for ( String month : monthList ) { | ||
271 | Map<String, Object> map = new HashMap<>(); | ||
272 | map.put("time",month); | ||
273 | map.put("clsl","0"); | ||
274 | map.put("clsl_tb","0"); | ||
275 | list.add(map); | ||
276 | } | ||
277 | return list; | ||
278 | } | ||
279 | |||
280 | @Override | ||
281 | public List<Map<String, Object>> getYhtj(StatisticsParam statisticsParam) { | ||
282 | List<Map<String, Object>> list = new ArrayList<>(); | ||
283 | String startDate = statisticsParam.getStartDate(); | ||
284 | String endDate = statisticsParam.getEndDate(); | ||
285 | List<String> monthList = getMonthsBetween(startDate,endDate); | ||
286 | for ( String month : monthList ) { | ||
287 | Map<String, Object> map = new HashMap<>(); | ||
288 | map.put("time",month); | ||
289 | map.put("clyj","0"); | ||
290 | map.put("tyyj","0"); | ||
291 | list.add(map); | ||
292 | } | ||
293 | return list; | ||
294 | } | ||
295 | |||
296 | @Override | ||
297 | public Map<String, Object> getMonitorThreshold(String departId) { | ||
298 | JdbcTemplate masterDB = (JdbcTemplate) SpringContextUtils.getBean("master"); | ||
299 | Map<String,Object> resultMap = new HashMap<String,Object>(); | ||
300 | //获取进出水报警阈值 | ||
301 | String alarmSql = "SELECT * FROM " + | ||
302 | " ( " + | ||
303 | " SELECT " + | ||
304 | " a.depart_id," + | ||
305 | " a.out_level," + | ||
306 | " b.alarm_param_code AS index_code," + | ||
307 | " b.alarm_param_upper_limit AS upper" + | ||
308 | " FROM " + | ||
309 | " sys_factory_info a " + | ||
310 | " LEFT JOIN alarm_param_standard_config b ON a.out_level = b.alarm_level_standard_id " + | ||
311 | " WHERE depart_id = '"+departId+"'" + | ||
312 | " UNION ALL " + | ||
313 | " SELECT " + | ||
314 | " DISTINCT depart_id, " + | ||
315 | " '' as out_level, " + | ||
316 | " index_code, " + | ||
317 | " upper " + | ||
318 | " FROM " + | ||
319 | " water_quality_in_level " + | ||
320 | " WHERE depart_id = '"+departId+"'" + | ||
321 | " ) aa "; | ||
322 | List<Map<String,Object>> alarmList = masterDB.queryForList(alarmSql); | ||
323 | for(Map<String,Object> map : alarmList) { | ||
324 | resultMap.put(ConvertUtils.getString(map.get("index_code")), ConvertUtils.getString(map.get("upper"))); | ||
325 | } | ||
326 | return resultMap; | ||
327 | } | ||
328 | |||
329 | @Override | ||
330 | public Map<String, Object> getHourWaterData(StatisticsParam statisticsParam) { | ||
331 | Map<String, Object> map = new HashMap<>(); | ||
332 | Map<String, Object> dataMap = new HashMap<>(); | ||
333 | Map<String, Object> chartsMap = new HashMap<>(); | ||
334 | List<Object> xlist = new ArrayList<>(); | ||
335 | List<Object> jscodList = new ArrayList<>(); | ||
336 | List<Object> jsadList = new ArrayList<>(); | ||
337 | List<Object> jstnList = new ArrayList<>(); | ||
338 | List<Object> jstpList = new ArrayList<>(); | ||
339 | List<Object> jsphList = new ArrayList<>(); | ||
340 | List<Object> cscodList = new ArrayList<>(); | ||
341 | List<Object> csadList = new ArrayList<>(); | ||
342 | List<Object> cstnList = new ArrayList<>(); | ||
343 | List<Object> cstpList = new ArrayList<>(); | ||
344 | List<Object> csphList = new ArrayList<>(); | ||
345 | map.put("number",new HashMap<>()); | ||
346 | map.put("realTime",new HashMap<>()); | ||
347 | // List<Map<String, Object>> list = factoryCenterMapper.getHourWaterData(statisticsParam.getDepartId(), | ||
348 | // statisticsParam.getStartDate(), statisticsParam.getEndDate()); | ||
349 | // for (Map<String, Object> newMap: list) { | ||
350 | // xlist.add(newMap.get("dataTime")); | ||
351 | // jscodList.add(newMap.get("jscod")); | ||
352 | // jsadList.add(newMap.get("jsad")); | ||
353 | // jstnList.add(newMap.get("jstn")); | ||
354 | // jstpList.add(newMap.get("jstp")); | ||
355 | // jsphList.add(newMap.get("jsph")); | ||
356 | // cscodList.add(newMap.get("cscod")); | ||
357 | // csadList.add(newMap.get("csad")); | ||
358 | // cstnList.add(newMap.get("cstn")); | ||
359 | // cstpList.add(newMap.get("cstp")); | ||
360 | // csphList.add(newMap.get("csph")); | ||
361 | // } | ||
362 | //追加实时数据 | ||
363 | /******************************/ | ||
364 | QueryWrapper<SysMonitorMetricInfo> qw = new QueryWrapper<>(); | ||
365 | qw.in("metric_uid_tag", "CSPH,CSCOD,CSNH3N,CSTN,CSTP,JSCOD,JSNH3N,JSPH,JSTN,JSTP".split(",")); | ||
366 | qw.eq("depart_id",statisticsParam.getDepartId()); | ||
367 | qw.groupBy("depart_id","metric_uid_tag"); | ||
368 | List<SysMonitorMetricInfo> metricInfos = sysMonitorMetricInfoService.list(qw); | ||
369 | if (!CollectionUtils.isEmpty(metricInfos)){ | ||
370 | String fields = metricInfos.stream().map(SysMonitorMetricInfo::getId).collect(Collectors.joining(",")); | ||
371 | |||
372 | Map<String, String> fieldsMap = metricInfos.stream().collect(Collectors.toMap(SysMonitorMetricInfo::getMetricUidTag, SysMonitorMetricInfo::getId)); | ||
373 | |||
374 | List<Map<String, Object>> list1 = pgQueryService.queryFactoryMonitorFromRealTimeData(statisticsParam.getDepartId(), fields); | ||
375 | |||
376 | if (!CollectionUtils.isEmpty(list1)) { | ||
377 | Map<String, Object> map1 = list1.get(0); | ||
378 | String time = DateUtils.date2Str(new Date(Long.parseLong(map1.get("time").toString()) * 1000), DateUtils.datetimeFormat); | ||
379 | xlist.add(time); | ||
380 | |||
381 | String jscod; | ||
382 | if (!org.apache.commons.lang3.StringUtils.isEmpty(jscod = fieldsMap.get("JSCOD"))) { | ||
383 | jscodList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(jscod).toString()),2)); | ||
384 | |||
385 | } | ||
386 | String jsnh3n; | ||
387 | if (!org.apache.commons.lang3.StringUtils.isEmpty(jsnh3n = fieldsMap.get("JSNH3N"))) { | ||
388 | jsadList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(jsnh3n).toString()),2)); | ||
389 | } | ||
390 | String jstn; | ||
391 | if (!org.apache.commons.lang3.StringUtils.isEmpty(jstn = fieldsMap.get("JSTN"))) { | ||
392 | jstnList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(jstn).toString()),2)); | ||
393 | } | ||
394 | String jstp; | ||
395 | if (!org.apache.commons.lang3.StringUtils.isEmpty(jstp = fieldsMap.get("JSTP"))) { | ||
396 | jstpList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(jstp).toString()),2)); | ||
397 | } | ||
398 | |||
399 | String jsph; | ||
400 | if (!org.apache.commons.lang3.StringUtils.isEmpty(jsph = fieldsMap.get("JSPH"))) { | ||
401 | jsphList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(jsph).toString()),2)); | ||
402 | } | ||
403 | |||
404 | String cscod; | ||
405 | if (!org.apache.commons.lang3.StringUtils.isEmpty(cscod = fieldsMap.get("CSCOD"))) { | ||
406 | cscodList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(cscod).toString()),2)); | ||
407 | } | ||
408 | |||
409 | String csnh3n; | ||
410 | if (!org.apache.commons.lang3.StringUtils.isEmpty(csnh3n = fieldsMap.get("CSNH3N"))) { | ||
411 | csadList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(csnh3n).toString()),2)); | ||
412 | } | ||
413 | |||
414 | String cstn; | ||
415 | if (!org.apache.commons.lang3.StringUtils.isEmpty(cstn = fieldsMap.get("CSTN"))) { | ||
416 | cstnList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(cstn).toString()),2)); | ||
417 | } | ||
418 | |||
419 | String cstp; | ||
420 | if (!org.apache.commons.lang3.StringUtils.isEmpty(cstp = fieldsMap.get("CSTP"))) { | ||
421 | cstpList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(cstp).toString()),2)); | ||
422 | } | ||
423 | |||
424 | String csph; | ||
425 | if (!StringUtils.isEmpty(csph = fieldsMap.get("CSPH"))) { | ||
426 | csphList.add(DoubleOperaUtils.bigDecimalRound(Double.parseDouble(map1.get(csph).toString()),2)); | ||
427 | } | ||
428 | } | ||
429 | } | ||
430 | /******************************/ | ||
431 | dataMap.put("jscod",jscodList); | ||
432 | dataMap.put("jsad",jsadList); | ||
433 | dataMap.put("jstn",jstnList); | ||
434 | dataMap.put("jstp",jstpList); | ||
435 | dataMap.put("jsph",jsphList); | ||
436 | dataMap.put("cscod",cscodList); | ||
437 | dataMap.put("csad",csadList); | ||
438 | dataMap.put("cstn",cstnList); | ||
439 | dataMap.put("cstp",cstpList); | ||
440 | dataMap.put("csph",csphList); | ||
441 | chartsMap.put("dataMap",dataMap); | ||
442 | chartsMap.put("xline",xlist); | ||
443 | map.put("charts",chartsMap); | ||
444 | return map; | ||
445 | } | ||
446 | |||
447 | /** | ||
448 | * 获取时间之间的月份 | ||
449 | * @param start | ||
450 | * @param end | ||
451 | * @return | ||
452 | */ | ||
453 | public static List<String> getMonthsBetween(String start, String end) { | ||
454 | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); | ||
455 | // 解析日期 | ||
456 | LocalDate startDate = LocalDate.parse(start, formatter); | ||
457 | LocalDate endDate = LocalDate.parse(end, formatter); | ||
458 | List<String> months = new ArrayList<>(); | ||
459 | // 获取起始和结束月份 | ||
460 | YearMonth startMonth = YearMonth.from(startDate); | ||
461 | YearMonth endMonth = YearMonth.from(endDate); | ||
462 | // 遍历月份并添加到列表 | ||
463 | YearMonth currentMonth = startMonth; | ||
464 | while (!currentMonth.isAfter(endMonth)) { | ||
465 | months.add(currentMonth.toString()); // 格式化为 yyyy-MM | ||
466 | currentMonth = currentMonth.plusMonths(1); | ||
467 | } | ||
468 | return months; | ||
469 | } | ||
470 | } |
1 | package com.skua.modules.dataAnalysis.vo; | ||
2 | |||
3 | import io.swagger.annotations.ApiModel; | ||
4 | import io.swagger.annotations.ApiModelProperty; | ||
5 | import lombok.Data; | ||
6 | |||
7 | /** | ||
8 | * 统计功能配置表 | ||
9 | */ | ||
10 | @Data | ||
11 | @ApiModel(value="大屏接口参数", description="大屏接口参数") | ||
12 | public class StatisticsParam { | ||
13 | |||
14 | /**厂区*/ | ||
15 | @ApiModelProperty(value = "厂区") | ||
16 | private String departId; | ||
17 | /**开始时间*/ | ||
18 | @ApiModelProperty(value = "开始时间") | ||
19 | private String startDate; | ||
20 | /**结束时间*/ | ||
21 | @ApiModelProperty(value = "结束时间") | ||
22 | private String endDate; | ||
23 | } |
sk-module-datafill/src/main/java/com/skua/modules/dataAnalysis/vo/WaterQualityMonitorVO.java
0 → 100644
1 | package com.skua.modules.dataAnalysis.vo; | ||
2 | |||
3 | import io.swagger.annotations.ApiModel; | ||
4 | import io.swagger.annotations.ApiModelProperty; | ||
5 | import lombok.Data; | ||
6 | |||
7 | import java.util.List; | ||
8 | import java.util.Map; | ||
9 | |||
10 | /** | ||
11 | * 调度中心vo对象 | ||
12 | * | ||
13 | */ | ||
14 | @Data | ||
15 | @ApiModel(value="调度中心vo对象", description="调度中心vo对象") | ||
16 | public class WaterQualityMonitorVO { | ||
17 | |||
18 | /** | ||
19 | * 片区id | ||
20 | */ | ||
21 | @ApiModelProperty(value = "所属片区") | ||
22 | private String areaId; | ||
23 | /** | ||
24 | * 厂id | ||
25 | */ | ||
26 | @ApiModelProperty(value = "所属厂区") | ||
27 | private String factoryId; | ||
28 | private String factoryName; | ||
29 | /** | ||
30 | * 流量 | ||
31 | */ | ||
32 | @ApiModelProperty(value = "流量") | ||
33 | private String inFlow; | ||
34 | private String outFlow; | ||
35 | private String inFlowState; | ||
36 | private String outFlowState; | ||
37 | /** | ||
38 | * cod | ||
39 | */ | ||
40 | @ApiModelProperty(value = "cod") | ||
41 | private String inCod; | ||
42 | private String outCod; | ||
43 | private String inCodState; | ||
44 | private String outCodState; | ||
45 | /** | ||
46 | * 氨氮 | ||
47 | */ | ||
48 | @ApiModelProperty(value = "氨氮") | ||
49 | private String inNh3; | ||
50 | private String outNh3; | ||
51 | private String inNh3State; | ||
52 | private String outNh3State; | ||
53 | |||
54 | /** | ||
55 | * 总磷 | ||
56 | */ | ||
57 | @ApiModelProperty(value = "总磷") | ||
58 | private String inTp; | ||
59 | private String outTp; | ||
60 | private String inTpState; | ||
61 | private String outTpState; | ||
62 | /** | ||
63 | * 总氮 | ||
64 | */ | ||
65 | @ApiModelProperty(value = "总氮") | ||
66 | private String inTn; | ||
67 | private String outTn; | ||
68 | private String inTnState; | ||
69 | private String outTnState; | ||
70 | /** | ||
71 | * ph | ||
72 | */ | ||
73 | @ApiModelProperty(value = "ph") | ||
74 | private String inPh; | ||
75 | private String outPh; | ||
76 | private String inPhState; | ||
77 | private String outPhState; | ||
78 | |||
79 | private List<Map<String,Object>> equipList; | ||
80 | |||
81 | } |
1 | package com.skua.modules.dataAnalysis.vo; | ||
2 | |||
3 | import io.swagger.annotations.ApiModel; | ||
4 | import io.swagger.annotations.ApiModelProperty; | ||
5 | import lombok.Data; | ||
6 | |||
7 | /** | ||
8 | * 水质监测明细vo对象 | ||
9 | * @author liyy | ||
10 | * | ||
11 | */ | ||
12 | @Data | ||
13 | @ApiModel(value="水质监控明细对象", description="封装水质监控明细数据") | ||
14 | public class WaterQualityMonitoringDetailVO { | ||
15 | |||
16 | @ApiModelProperty(value = "进出水类型") | ||
17 | private Integer num; | ||
18 | /** | ||
19 | * 进出水类型 | ||
20 | */ | ||
21 | @ApiModelProperty(value = "进出水类型") | ||
22 | private String parmType; | ||
23 | /** | ||
24 | * 厂id | ||
25 | */ | ||
26 | @ApiModelProperty(value = "厂id") | ||
27 | private String departId; | ||
28 | /** | ||
29 | * 厂站名称 | ||
30 | */ | ||
31 | @ApiModelProperty(value = "厂站名称") | ||
32 | private String departName; | ||
33 | @ApiModelProperty(value = "厂区排序") | ||
34 | private int departOrder; | ||
35 | |||
36 | @ApiModelProperty(value = "厂区负责人") | ||
37 | private String proPerson; | ||
38 | |||
39 | @ApiModelProperty(value = "厂区负责人电话") | ||
40 | private String proPhone; | ||
41 | /** | ||
42 | * 监测时间 | ||
43 | */ | ||
44 | @ApiModelProperty(value = "监测时间") | ||
45 | private String monitorTime; | ||
46 | /** | ||
47 | * 流量 | ||
48 | */ | ||
49 | @ApiModelProperty(value = "流量") | ||
50 | private String flowVal; | ||
51 | private String flowUpper; | ||
52 | private String flowLower; | ||
53 | private String flowAbnormal; | ||
54 | /** | ||
55 | * cod | ||
56 | */ | ||
57 | @ApiModelProperty(value = "cod") | ||
58 | private String codVal; | ||
59 | private String codUpper; | ||
60 | private String codLower; | ||
61 | private String codAbnormal; | ||
62 | private String codWarnMessage;//预警 | ||
63 | /** | ||
64 | * 氨氮 | ||
65 | */ | ||
66 | @ApiModelProperty(value = "氨氮") | ||
67 | private String nh3Val; | ||
68 | private String nh3Upper; | ||
69 | private String nh3Lower; | ||
70 | private String nh3Abnormal; | ||
71 | private String nh3WarnMessage; | ||
72 | /** | ||
73 | * 总磷 | ||
74 | */ | ||
75 | @ApiModelProperty(value = "总磷") | ||
76 | private String tpVal; | ||
77 | private String tpUpper; | ||
78 | private String tpLower; | ||
79 | private String tpAbnormal; | ||
80 | private String tpWarnMessage; | ||
81 | /** | ||
82 | * 总氮 | ||
83 | */ | ||
84 | @ApiModelProperty(value = "总氮") | ||
85 | private String tnVal; | ||
86 | private String tnUpper; | ||
87 | private String tnLower; | ||
88 | private String tnAbnormal; | ||
89 | private String tnWarnMessage; | ||
90 | /** | ||
91 | * 温度 | ||
92 | */ | ||
93 | @ApiModelProperty(value = "温度") | ||
94 | private String temperatureVal; | ||
95 | private String temperatureWarnMessage; | ||
96 | /** | ||
97 | * ph | ||
98 | */ | ||
99 | @ApiModelProperty(value = "ph") | ||
100 | private String phVal; | ||
101 | private String phUpper; | ||
102 | private String phLower; | ||
103 | private String phAbnormal; | ||
104 | /** | ||
105 | * 摄像头 | ||
106 | */ | ||
107 | @ApiModelProperty(value = "摄像头") | ||
108 | private String cameraVal; | ||
109 | /** | ||
110 | * 出水标准 | ||
111 | */ | ||
112 | @ApiModelProperty(value = "出水标准") | ||
113 | private String outLevel; | ||
114 | |||
115 | /** | ||
116 | * 是否水质正常 | ||
117 | */ | ||
118 | private String isHaveNormal; | ||
119 | /** | ||
120 | * 是否水质超标 | ||
121 | */ | ||
122 | private String isHaveAbnormal; | ||
123 | /** | ||
124 | * 超标指标个数 | ||
125 | */ | ||
126 | private int abnormalCount; | ||
127 | /** | ||
128 | * 指标未配置 | ||
129 | */ | ||
130 | private int notConfiguredCount; | ||
131 | /** | ||
132 | * 厂站指标没有配置标记 | ||
133 | */ | ||
134 | private String isNotHaveConfigured; | ||
135 | /** | ||
136 | * 是否含有0值 | ||
137 | */ | ||
138 | private String isHaveZero; | ||
139 | /** | ||
140 | * 是否脱机 | ||
141 | */ | ||
142 | private String isHaveOffline; | ||
143 | /** | ||
144 | * 是否预警 | ||
145 | */ | ||
146 | private String isHaveWarn; | ||
147 | /** | ||
148 | * 预警个数 | ||
149 | */ | ||
150 | private int abWarnCount; | ||
151 | |||
152 | private int offLineCount; | ||
153 | } |
sk-module-datafill/src/main/java/com/skua/modules/dataAnalysis/vo/WaterQualityMonitoringVO.java
0 → 100644
1 | package com.skua.modules.dataAnalysis.vo; | ||
2 | |||
3 | import io.swagger.annotations.ApiModel; | ||
4 | import io.swagger.annotations.ApiModelProperty; | ||
5 | import lombok.Data; | ||
6 | |||
7 | import java.util.List; | ||
8 | |||
9 | @Data | ||
10 | @ApiModel(value="水质监控对象", description="封装水质监控数据") | ||
11 | public class WaterQualityMonitoringVO { | ||
12 | @ApiModelProperty(value = "总数") | ||
13 | private String all;//全部 | ||
14 | @ApiModelProperty(value = "在线") | ||
15 | private String normal;//正常 | ||
16 | @ApiModelProperty(value = "异常") | ||
17 | private String abnormal;//异常 | ||
18 | @ApiModelProperty(value = "脱机") | ||
19 | private String offline;//脱机 | ||
20 | @ApiModelProperty(value = "零值") | ||
21 | private String zeroVal;//零值 | ||
22 | @ApiModelProperty(value = "预警") | ||
23 | private String warnVal;//零值 | ||
24 | @ApiModelProperty(value = "水质监控明细") | ||
25 | private List<WaterQualityMonitoringDetailVO> list;//明细 | ||
26 | } |
-
请 注册 或 登录 后发表评论