846d57d4 张雷

Merge remote-tracking branch 'origin/master' into master

2 个父辈 db4efa4a 3cd805b1
...@@ -45,5 +45,7 @@ public interface ReportConstant { ...@@ -45,5 +45,7 @@ public interface ReportConstant {
45 45
46 //水质字段 46 //水质字段
47 public static final String fieldSz = "JSZL,CSZL,JSCOD,CSCOD,JSAD,CSAD,JSZD,CSTN,JSPH,JSSS,CSPH,CSSS"; 47 public static final String fieldSz = "JSZL,CSZL,JSCOD,CSCOD,JSAD,CSAD,JSZD,CSTN,JSPH,JSSS,CSPH,CSSS";
48 //出水字段
49 public static final String field_2119_CS = "CSZL,CSCOD,CSAD,CSTN,CSPH";
48 50
49 } 51 }
......
...@@ -3,6 +3,7 @@ package com.skua.modules.dataAnalysis.controller; ...@@ -3,6 +3,7 @@ package com.skua.modules.dataAnalysis.controller;
3 import com.skua.core.api.vo.Result; 3 import com.skua.core.api.vo.Result;
4 import com.skua.core.aspect.annotation.AutoLog; 4 import com.skua.core.aspect.annotation.AutoLog;
5 import com.skua.modules.dataAnalysis.service.WaterAnalysisNewService; 5 import com.skua.modules.dataAnalysis.service.WaterAnalysisNewService;
6 import com.skua.modules.dataAnalysis.vo.WaterAnalysisVO;
6 import io.swagger.annotations.Api; 7 import io.swagger.annotations.Api;
7 import io.swagger.annotations.ApiOperation; 8 import io.swagger.annotations.ApiOperation;
8 import lombok.extern.slf4j.Slf4j; 9 import lombok.extern.slf4j.Slf4j;
...@@ -49,9 +50,9 @@ public class WaterAnalysisNewController { ...@@ -49,9 +50,9 @@ public class WaterAnalysisNewController {
49 @AutoLog(value = "查询达标率厂站列表") 50 @AutoLog(value = "查询达标率厂站列表")
50 @ApiOperation(value = "查询达标率厂站列表", notes = "查询达标率厂站列表") 51 @ApiOperation(value = "查询达标率厂站列表", notes = "查询达标率厂站列表")
51 @RequestMapping(value = "/queryFacListBySummary", method = RequestMethod.GET) 52 @RequestMapping(value = "/queryFacListBySummary", method = RequestMethod.GET)
52 public Result<List<Map<String, Object>>> queryFacListBySummary(String time) { 53 public Result< List<WaterAnalysisVO>> queryFacListBySummary(String time) {
53 Result<List<Map<String, Object>>> result = new Result<>(); 54 Result< List<WaterAnalysisVO>> result = new Result<>();
54 List<Map<String, Object>> data = waterAnalysisNewService.queryFacListBySummary(time); 55 List<WaterAnalysisVO> data = waterAnalysisNewService.queryFacListBySummary(time);
55 result.setResult(data); 56 result.setResult(data);
56 result.setSuccess(true); 57 result.setSuccess(true);
57 return result; 58 return result;
......
1 package com.skua.modules.dataAnalysis.service; 1 package com.skua.modules.dataAnalysis.service;
2 2
3 import com.skua.modules.dataAnalysis.vo.WaterAnalysisVO;
3 import java.util.List; 4 import java.util.List;
4 import java.util.Map; 5 import java.util.Map;
5 6
...@@ -11,7 +12,7 @@ public interface WaterAnalysisNewService { ...@@ -11,7 +12,7 @@ public interface WaterAnalysisNewService {
11 * @Param [time] 12 * @Param [time]
12 * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>> 13 * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
13 **/ 14 **/
14 List<Map<String, Object>> queryFacListBySummary(String time); 15 List<WaterAnalysisVO> queryFacListBySummary(String time);
15 /** 16 /**
16 * 17 *
17 * @Description 查询出水指标超标次数 18 * @Description 查询出水指标超标次数
......
...@@ -266,42 +266,42 @@ public class FactoryOperateCenterServiceImpl implements IFactoryOperateCenterSer ...@@ -266,42 +266,42 @@ public class FactoryOperateCenterServiceImpl implements IFactoryOperateCenterSer
266 Map<String,Object> monthTbMap = masterDB.queryForMap("select "+ fieldSql+ " from " + dataViewName3a24MonthTb +" aaa " ); 266 Map<String,Object> monthTbMap = masterDB.queryForMap("select "+ fieldSql+ " from " + dataViewName3a24MonthTb +" aaa " );
267 267
268 268
269 monthDataVOList.add( new YJMonthDataVO("PAC(液)","PACYT" ,"KG",ConvertUtils.getString(target.getTargetPacyt(),"0"),ConvertUtils.getString(monthMap.get("PACYT"),"0"), 269 monthDataVOList.add( new YJMonthDataVO("PAC(液)","PACYT" ,"kg",ConvertUtils.getString(target.getTargetPacyt(),"0"),ConvertUtils.getString(monthMap.get("PACYT"),"0"),
270 ConvertUtils.getString(monthHbMap.get("PACYT"),"0") ,ConvertUtils.getString(monthTbMap.get("PACYT") ,"0") ) ); 270 ConvertUtils.getString(monthHbMap.get("PACYT"),"0") ,ConvertUtils.getString(monthTbMap.get("PACYT") ,"0") ) );
271 monthDataVOList.add( new YJMonthDataVO("PAC(固)","PACGT" ,"KG",ConvertUtils.getString(target.getTargetPacgt(),"0"),ConvertUtils.getString(monthMap.get("PACGT"),"0"), 271 monthDataVOList.add( new YJMonthDataVO("PAC(固)","PACGT" ,"kg",ConvertUtils.getString(target.getTargetPacgt(),"0"),ConvertUtils.getString(monthMap.get("PACGT"),"0"),
272 ConvertUtils.getString(monthHbMap.get("PACGT"),"0") ,ConvertUtils.getString(monthTbMap.get("PACGT") ,"0") ) ); 272 ConvertUtils.getString(monthHbMap.get("PACGT"),"0") ,ConvertUtils.getString(monthTbMap.get("PACGT") ,"0") ) );
273 monthDataVOList.add( new YJMonthDataVO("NaClO","NACLO" ,"KG",ConvertUtils.getString(target.getTargetNaclo(),"0"),ConvertUtils.getString(monthMap.get("NACLO"),"0"), 273 monthDataVOList.add( new YJMonthDataVO("NaClO","NACLO" ,"kg",ConvertUtils.getString(target.getTargetNaclo(),"0"),ConvertUtils.getString(monthMap.get("NACLO"),"0"),
274 ConvertUtils.getString(monthHbMap.get("NACLO"),"0") ,ConvertUtils.getString(monthTbMap.get("NACLO") ,"0") ) ); 274 ConvertUtils.getString(monthHbMap.get("NACLO"),"0") ,ConvertUtils.getString(monthTbMap.get("NACLO") ,"0") ) );
275 monthDataVOList.add( new YJMonthDataVO("水处理PAM(-)","SCLPAMF" ,"KG",ConvertUtils.getString(target.getTargetSclpamf(),"0"),ConvertUtils.getString(monthMap.get("SCLPAMF"),"0"), 275 monthDataVOList.add( new YJMonthDataVO("水处理PAM(-)","SCLPAMF" ,"kg",ConvertUtils.getString(target.getTargetSclpamf(),"0"),ConvertUtils.getString(monthMap.get("SCLPAMF"),"0"),
276 ConvertUtils.getString(monthHbMap.get("SCLPAMF"),"0") ,ConvertUtils.getString(monthTbMap.get("SCLPAMF") ,"0") ) ); 276 ConvertUtils.getString(monthHbMap.get("SCLPAMF"),"0") ,ConvertUtils.getString(monthTbMap.get("SCLPAMF") ,"0") ) );
277 277
278 monthDataVOList.add( new YJMonthDataVO("污脱PAM乳剂","PAMRJ","KG" ,ConvertUtils.getString(target.getTargetPamrj(),"0"),ConvertUtils.getString(monthMap.get("PAMRJ"),"0"), 278 monthDataVOList.add( new YJMonthDataVO("污脱PAM乳剂","PAMRJ","kg" ,ConvertUtils.getString(target.getTargetPamrj(),"0"),ConvertUtils.getString(monthMap.get("PAMRJ"),"0"),
279 ConvertUtils.getString(monthHbMap.get("PAMRJ"),"0") ,ConvertUtils.getString(monthTbMap.get("PAMRJ") ,"0") ) ); 279 ConvertUtils.getString(monthHbMap.get("PAMRJ"),"0") ,ConvertUtils.getString(monthTbMap.get("PAMRJ") ,"0") ) );
280 monthDataVOList.add( new YJMonthDataVO("PFS","PFS" ,"KG",ConvertUtils.getString(target.getTargetPfs(),"0"),ConvertUtils.getString(monthMap.get("PFS"),"0"), 280 monthDataVOList.add( new YJMonthDataVO("PFS","PFS" ,"kg",ConvertUtils.getString(target.getTargetPfs(),"0"),ConvertUtils.getString(monthMap.get("PFS"),"0"),
281 ConvertUtils.getString(monthHbMap.get("PFS"),"0") ,ConvertUtils.getString(monthTbMap.get("PFS") ,"0") ) ); 281 ConvertUtils.getString(monthHbMap.get("PFS"),"0") ,ConvertUtils.getString(monthTbMap.get("PFS") ,"0") ) );
282 monthDataVOList.add( new YJMonthDataVO("复合铁盐","FHTY","KG" ,ConvertUtils.getString(target.getTargetFhty(),"0"),ConvertUtils.getString(monthMap.get("FHTY"),"0"), 282 monthDataVOList.add( new YJMonthDataVO("复合铁盐","FHTY","kg" ,ConvertUtils.getString(target.getTargetFhty(),"0"),ConvertUtils.getString(monthMap.get("FHTY"),"0"),
283 ConvertUtils.getString(monthHbMap.get("FHTY"),"0") ,ConvertUtils.getString(monthTbMap.get("FHTY") ,"0") ) ); 283 ConvertUtils.getString(monthHbMap.get("FHTY"),"0") ,ConvertUtils.getString(monthTbMap.get("FHTY") ,"0") ) );
284 monthDataVOList.add( new YJMonthDataVO("乳液絮凝剂","RYXNJ" ,"KG",ConvertUtils.getString(target.getTargetRyxnj(),"0"),ConvertUtils.getString(monthMap.get("RYXNJ"),"0"), 284 monthDataVOList.add( new YJMonthDataVO("乳液絮凝剂","RYXNJ" ,"kg",ConvertUtils.getString(target.getTargetRyxnj(),"0"),ConvertUtils.getString(monthMap.get("RYXNJ"),"0"),
285 ConvertUtils.getString(monthHbMap.get("RYXNJ"),"0") ,ConvertUtils.getString(monthTbMap.get("RYXNJ") ,"0") ) ); 285 ConvertUtils.getString(monthHbMap.get("RYXNJ"),"0") ,ConvertUtils.getString(monthTbMap.get("RYXNJ") ,"0") ) );
286 monthDataVOList.add( new YJMonthDataVO("益维磷","YWL" ,"KG",ConvertUtils.getString(target.getTargetYwl(),"0"),ConvertUtils.getString(monthMap.get("YWL"),"0"), 286 monthDataVOList.add( new YJMonthDataVO("益维磷","YWL" ,"kg",ConvertUtils.getString(target.getTargetYwl(),"0"),ConvertUtils.getString(monthMap.get("YWL"),"0"),
287 ConvertUtils.getString(monthHbMap.get("YWL"),"0") ,ConvertUtils.getString(monthTbMap.get("YWL") ,"0") ) ); 287 ConvertUtils.getString(monthHbMap.get("YWL"),"0") ,ConvertUtils.getString(monthTbMap.get("YWL") ,"0") ) );
288 monthDataVOList.add( new YJMonthDataVO("高效除磷剂","GXCLJ" ,"KG",ConvertUtils.getString(target.getTargetGxclj(),"0"),ConvertUtils.getString(monthMap.get("GXCLJ"),"0"), 288 monthDataVOList.add( new YJMonthDataVO("高效除磷剂","GXCLJ" ,"kg",ConvertUtils.getString(target.getTargetGxclj(),"0"),ConvertUtils.getString(monthMap.get("GXCLJ"),"0"),
289 ConvertUtils.getString(monthHbMap.get("GXCLJ"),"0") ,ConvertUtils.getString(monthTbMap.get("GXCLJ") ,"0") ) ); 289 ConvertUtils.getString(monthHbMap.get("GXCLJ"),"0") ,ConvertUtils.getString(monthTbMap.get("GXCLJ") ,"0") ) );
290 monthDataVOList.add( new YJMonthDataVO("CH3COONA","CH3COONA" ,"KG",ConvertUtils.getString(target.getTargetCh3coona(),"0"),ConvertUtils.getString(monthMap.get("CH3COONA"),"0"), 290 monthDataVOList.add( new YJMonthDataVO("CH3COONA","CH3COONA" ,"kg",ConvertUtils.getString(target.getTargetCh3coona(),"0"),ConvertUtils.getString(monthMap.get("CH3COONA"),"0"),
291 ConvertUtils.getString(monthHbMap.get("CH3COONA"),"0") ,ConvertUtils.getString(monthTbMap.get("CH3COONA") ,"0") ) ); 291 ConvertUtils.getString(monthHbMap.get("CH3COONA"),"0") ,ConvertUtils.getString(monthTbMap.get("CH3COONA") ,"0") ) );
292 monthDataVOList.add( new YJMonthDataVO("活性炭","HXT" ,"KG",ConvertUtils.getString(target.getTargetHxt(),"0"),ConvertUtils.getString(monthMap.get("HXT"),"0"), 292 monthDataVOList.add( new YJMonthDataVO("活性炭","HXT" ,"kg",ConvertUtils.getString(target.getTargetHxt(),"0"),ConvertUtils.getString(monthMap.get("HXT"),"0"),
293 ConvertUtils.getString(monthHbMap.get("HXT"),"0") ,ConvertUtils.getString(monthTbMap.get("HXT") ,"0") ) ); 293 ConvertUtils.getString(monthHbMap.get("HXT"),"0") ,ConvertUtils.getString(monthTbMap.get("HXT") ,"0") ) );
294 monthDataVOList.add( new YJMonthDataVO("FeCl3","FECL3" ,"KG",ConvertUtils.getString(target.getTargetFecl3(),"0"),ConvertUtils.getString(monthMap.get("FECL3"),"0"), 294 monthDataVOList.add( new YJMonthDataVO("FeCl3","FECL3" ,"kg",ConvertUtils.getString(target.getTargetFecl3(),"0"),ConvertUtils.getString(monthMap.get("FECL3"),"0"),
295 ConvertUtils.getString(monthHbMap.get("FECL3"),"0") ,ConvertUtils.getString(monthTbMap.get("FECL3") ,"0") ) ); 295 ConvertUtils.getString(monthHbMap.get("FECL3"),"0") ,ConvertUtils.getString(monthTbMap.get("FECL3") ,"0") ) );
296 monthDataVOList.add( new YJMonthDataVO("石灰","SH" ,"KG",ConvertUtils.getString(target.getTargetSh(),"0"),ConvertUtils.getString(monthMap.get("SH"),"0"), 296 monthDataVOList.add( new YJMonthDataVO("石灰","SH" ,"kg",ConvertUtils.getString(target.getTargetSh(),"0"),ConvertUtils.getString(monthMap.get("SH"),"0"),
297 ConvertUtils.getString(monthHbMap.get("SH"),"0") ,ConvertUtils.getString(monthTbMap.get("SH") ,"0") ) ); 297 ConvertUtils.getString(monthHbMap.get("SH"),"0") ,ConvertUtils.getString(monthTbMap.get("SH") ,"0") ) );
298 monthDataVOList.add( new YJMonthDataVO("CH3COOH","CH3COOH" ,"KG",ConvertUtils.getString(target.getTargetCh3cooh(),"0"),ConvertUtils.getString(monthMap.get("CH3COOH"),"0"), 298 monthDataVOList.add( new YJMonthDataVO("CH3COOH","CH3COOH" ,"kg",ConvertUtils.getString(target.getTargetCh3cooh(),"0"),ConvertUtils.getString(monthMap.get("CH3COOH"),"0"),
299 ConvertUtils.getString(monthHbMap.get("CH3COOH"),"0") ,ConvertUtils.getString(monthTbMap.get("CH3COOH") ,"0") ) ); 299 ConvertUtils.getString(monthHbMap.get("CH3COOH"),"0") ,ConvertUtils.getString(monthTbMap.get("CH3COOH") ,"0") ) );
300 monthDataVOList.add( new YJMonthDataVO("FeSO4固","FESO4G" ,"KG",ConvertUtils.getString(target.getTargetFeso4g(),"0"),ConvertUtils.getString(monthMap.get("FESO4G"),"0"), 300 monthDataVOList.add( new YJMonthDataVO("FeSO4固","FESO4G" ,"kg",ConvertUtils.getString(target.getTargetFeso4g(),"0"),ConvertUtils.getString(monthMap.get("FESO4G"),"0"),
301 ConvertUtils.getString(monthHbMap.get("FESO4G"),"0") ,ConvertUtils.getString(monthTbMap.get("FESO4G") ,"0") ) ); 301 ConvertUtils.getString(monthHbMap.get("FESO4G"),"0") ,ConvertUtils.getString(monthTbMap.get("FESO4G") ,"0") ) );
302 monthDataVOList.add( new YJMonthDataVO("FeSO4液","FESO4Y" ,"KG",ConvertUtils.getString(target.getTargetFeso4y(),"0"),ConvertUtils.getString(monthMap.get("FESO4Y"),"0"), 302 monthDataVOList.add( new YJMonthDataVO("FeSO4液","FESO4Y" ,"kg",ConvertUtils.getString(target.getTargetFeso4y(),"0"),ConvertUtils.getString(monthMap.get("FESO4Y"),"0"),
303 ConvertUtils.getString(monthHbMap.get("FESO4Y"),"0") ,ConvertUtils.getString(monthTbMap.get("FESO4Y") ,"0") ) ); 303 ConvertUtils.getString(monthHbMap.get("FESO4Y"),"0") ,ConvertUtils.getString(monthTbMap.get("FESO4Y") ,"0") ) );
304 monthDataVOList.add( new YJMonthDataVO("H2O2","H2O2","KG" ,ConvertUtils.getString(target.getTargetH2o2(),"0"),ConvertUtils.getString(monthMap.get("H2O2"),"0"), 304 monthDataVOList.add( new YJMonthDataVO("H2O2","H2O2","kg" ,ConvertUtils.getString(target.getTargetH2o2(),"0"),ConvertUtils.getString(monthMap.get("H2O2"),"0"),
305 ConvertUtils.getString(monthHbMap.get("H2O2"),"0") ,ConvertUtils.getString(monthTbMap.get("H2O2") ,"0") ) ); 305 ConvertUtils.getString(monthHbMap.get("H2O2"),"0") ,ConvertUtils.getString(monthTbMap.get("H2O2") ,"0") ) );
306 306
307 /* 307 /*
......
...@@ -4,12 +4,21 @@ import com.google.common.collect.Lists; ...@@ -4,12 +4,21 @@ import com.google.common.collect.Lists;
4 import com.google.common.collect.Maps; 4 import com.google.common.collect.Maps;
5 import com.skua.common.constant.ReportConstant; 5 import com.skua.common.constant.ReportConstant;
6 import com.skua.common.report.ReportViewUtil; 6 import com.skua.common.report.ReportViewUtil;
7 import com.skua.common.report.vo.DataViewVO;
7 import com.skua.core.api.vo.DictModel; 8 import com.skua.core.api.vo.DictModel;
8 import com.skua.core.context.BaseContextHandler; 9 import com.skua.core.context.BaseContextHandler;
10 import com.skua.core.context.SpringContextUtils;
11 import com.skua.core.util.ConvertUtils;
9 import com.skua.core.util.DateUtils; 12 import com.skua.core.util.DateUtils;
10 import com.skua.modules.dataAnalysis.mapper.WaterAnalysisNewMapper; 13 import com.skua.modules.dataAnalysis.mapper.WaterAnalysisNewMapper;
11 import com.skua.modules.dataAnalysis.service.WaterAnalysisNewService; 14 import com.skua.modules.dataAnalysis.service.WaterAnalysisNewService;
15 import com.skua.modules.dataAnalysis.vo.AlarmParamStandardConfigVO;
16 import com.skua.modules.dataAnalysis.vo.WaterAnalysisVO;
17 import com.skua.tool.util.JSUtils;
18 import org.apache.commons.lang.StringUtils;
12 import org.springframework.beans.factory.annotation.Autowired; 19 import org.springframework.beans.factory.annotation.Autowired;
20 import org.springframework.jdbc.core.BeanPropertyRowMapper;
21 import org.springframework.jdbc.core.JdbcTemplate;
13 import org.springframework.stereotype.Service; 22 import org.springframework.stereotype.Service;
14 23
15 import java.util.*; 24 import java.util.*;
...@@ -163,88 +172,65 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService { ...@@ -163,88 +172,65 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService {
163 } 172 }
164 @Override 173 @Override
165 public List<Map<String, Object>> queryNoSummaryList(String time) { 174 public List<Map<String, Object>> queryNoSummaryList(String time) {
166 Map<String, Map<String, Object>> tmpMap = Maps.newHashMap(); 175 String startTime = time + "-01";
176 String endTime = time + "-31";
177 String sql = "SELECT d.depart_name factoryName,d.id factoryId,lsc.alarm_standard_level_name standard ,IFNULL(ccc.totalCount,0) 'totalCount',IFNULL(ccc.CSCOD,0) '出水COD',IFNULL(ccc.CSNH3N,0) '出水氨氮'," +
178 "IFNULL(ccc.CSTP,0) '出水总磷',IFNULL(ccc.CSTN,0) '出水总氮',IFNULL(ccc.CSPH,0) '出水PH' ";
179 sql += " from sys_depart d LEFT JOIN sys_factory_info fi ON fi.depart_id = d.id LEFT JOIN alarm_level_standard_config lsc ON lsc.id = fi.out_level";
180 sql += " left join ( select bbb.depart_id ,count(bbb.depart_id ) totalCount, SUM(CASE WHEN metric_uid_tag = 'CSCOD' THEN 1 ELSE 0 END) AS CSCOD,SUM(CASE WHEN metric_uid_tag = 'CSNH3N' THEN 1 ELSE 0 END) AS CSNH3N, ";
181 sql += " SUM(CASE WHEN metric_uid_tag = 'CSPH' THEN 1 ELSE 0 END) AS CSPH,SUM(CASE WHEN metric_uid_tag = 'CSTN' THEN 1 ELSE 0 END) AS CSTN,SUM(CASE WHEN metric_uid_tag = 'CSTP' THEN 1 ELSE 0 END) AS CSTP ";
182 sql += " from ( select mmi.metric_uid_tag , arh.* from alarm_record_history arh " +
183 " left join sys_monitor_metric_info mmi on (arh.alarm_param_code = mmi.id ) ";
184 sql += " where arh.record_time > '"+startTime+"' and arh.record_time < '"+endTime+"' and arh.alarm_rule_level_name = '重要报警' ) bbb " +
185 " where bbb.metric_uid_tag in ('CSCOD','CSNH3N','CSPH','CSTN','CSTP') group by bbb.depart_id ";
186 sql += " )ccc on ccc.depart_id = d.id WHERE d.depart_type = '1'";
187
167 String departIds = BaseContextHandler.getDeparts(); 188 String departIds = BaseContextHandler.getDeparts();
168 List<Map<String, Object>> facs = new ArrayList<>(); 189 if(StringUtils.isNotEmpty(departIds)){
169 facs = waterAnalysisNewMapper.queryNewFacList(time,departIds); 190 sql += " and d.id in ("+JSUtils.quoteEach(departIds,",")+")";
170 return facs; 191 }
171 }
172 192
193 List<Map<String, Object> > valueListMap = getJdbcTemplate().queryForList(sql);
194 return valueListMap;
195 }
196 //查询出水指标超标次数
173 @Override 197 @Override
174 public Map<String, Object> queryNewSummaryCount(String time) { 198 public Map<String, Object> queryNewSummaryCount(String time) {
199 String startTime = time + "-01";
200 String endTime = time + "-31";
175 String departIds = BaseContextHandler.getDeparts(); 201 String departIds = BaseContextHandler.getDeparts();
176 Map<String, Object> csbzCharData = Maps.newHashMap(); 202 Map<String, Object> csbzCharData = Maps.newHashMap();
177 //上个月DateUtils.getLastMonthOfMonth(time) 203 //上个月DateUtils.getLastMonthOfMonth(time)
178 List<Map<String, Object>> maps = waterAnalysisNewMapper.queryNewSummaryCount(time,departIds); 204 //List<Map<String, Object>> maps = waterAnalysisNewMapper.queryNewSummaryCount(time,departIds);
179 List<String> names = Lists.newArrayList(); 205 // List<String> names = Lists.newArrayList();
180 List<Long> data = Lists.newArrayList(); 206 List<String> names = Arrays.asList("出水COD", "出水氨氮", "出水总氮","出水总磷","出水PH"); // 初始化一个固定大小的List
207 List<String> ids = Arrays.asList("CSCOD", "CSNH3N", "CSTN","CSTP","CSPH"); // 初始化一个固定大小的List
208 List<Long> yesData = Arrays.asList(0l,0l,0l,0l,0l); // 初始化一个固定大小的List
209 List<String> data = Lists.newArrayList();
181 List<Long> max = Lists.newArrayList(); 210 List<Long> max = Lists.newArrayList();
182 List<Long> yesData = Lists.newArrayList(); 211
183 List<String> ids = Lists.newArrayList(); 212 String sql = "select SUM(CASE WHEN metric_uid_tag = 'CSCOD' THEN 1 ELSE 0 END) AS CSCOD,SUM(CASE WHEN metric_uid_tag = 'CSNH3N' THEN 1 ELSE 0 END) AS CSNH3N,";
184 if (maps.size()>0) { 213 sql += " SUM(CASE WHEN metric_uid_tag = 'CSTN' THEN 1 ELSE 0 END) AS CSTN,SUM(CASE WHEN metric_uid_tag = 'CSTP' THEN 1 ELSE 0 END) AS CSTP,SUM(CASE WHEN metric_uid_tag = 'CSPH' THEN 1 ELSE 0 END) AS CSPH ";
185 Map<String, Object> dataMap = maps.get(0); 214 sql += " from ( select mmi.metric_uid_tag , arh.* from alarm_record_history arh";
186 //CSCOD 215 sql += " left join sys_monitor_metric_info mmi on (arh.alarm_param_code = mmi.id )";
187 names.add("出水COD"); 216 sql += " where arh.record_time >= '"+startTime+"' and arh.record_time <= '"+endTime+"' and arh.alarm_rule_level_name = '重要报警'";
188 ids.add("CSCOD"); 217 if(StringUtils.isNotEmpty(departIds)){
189 data.add(Long.parseLong(dataMap.get("CSCOD").toString())); 218 sql += " and arh.depart_id in ("+JSUtils.quoteEach(departIds,",")+")";
190 yesData.add(Long.parseLong("0")); 219 }
191 max.add(Long.parseLong("30")); 220 sql += " ) bbb where bbb.metric_uid_tag in ('CSCOD','CSNH3N','CSPH','CSTN','CSTP') ";
192 //CSNH3N 221 Map<String, Object> valueMap = getJdbcTemplate().queryForMap(sql);
193 names.add("出水氨氮"); 222
194 ids.add("CSNH3N"); 223 if(valueMap != null){
195 data.add(Long.parseLong(dataMap.get("CSNH3N").toString())); 224 data.add(ConvertUtils.getString(valueMap.get("CSCOD"),"0"));
196 yesData.add(Long.parseLong("0")); 225 data.add(ConvertUtils.getString(valueMap.get("CSNH3N"),"0"));
197 max.add(Long.parseLong("30")); 226 data.add(ConvertUtils.getString(valueMap.get("CSTN"),"0"));
198 //CSTN 227 data.add(ConvertUtils.getString(valueMap.get("CSTP"),"0"));
199 names.add("出水总氮"); 228 data.add(ConvertUtils.getString(valueMap.get("CSPH"),"0"));
200 ids.add("CSTN"); 229 max =Arrays.asList(30l,30l,30l,30l,30l);
201 data.add(Long.parseLong(dataMap.get("CSTN").toString()));
202 yesData.add(Long.parseLong("0"));
203 max.add(Long.parseLong("30"));
204 //CSTP
205 names.add("出水总磷");
206 ids.add("CSTP");
207 data.add(Long.parseLong(dataMap.get("CSTP").toString()));
208 yesData.add(Long.parseLong("0"));
209 max.add(Long.parseLong("30"));
210 //CSPH
211 names.add("出水PH");
212 ids.add("CSPH");
213 data.add(Long.parseLong(dataMap.get("CSPH").toString()));
214 yesData.add(Long.parseLong("0"));
215 max.add(Long.parseLong("30"));
216 }else{ 230 }else{
217 //CSCOD 231 max =Arrays.asList(10l,10l,10l,10l,10l);
218 names.add("出水COD");
219 ids.add("CSCOD");
220 data.add(Long.parseLong("0"));
221 yesData.add(Long.parseLong("0"));
222 max.add(Long.parseLong("10"));
223 //CSNH3N
224 names.add("出水氨氮");
225 ids.add("CSNH3N");
226 data.add(Long.parseLong("0"));
227 yesData.add(Long.parseLong("0"));
228 max.add(Long.parseLong("10"));
229 //CSTN
230 names.add("出水总氮");
231 ids.add("CSTN");
232 data.add(Long.parseLong("0"));
233 yesData.add(Long.parseLong("0"));
234 max.add(Long.parseLong("10"));
235 //CSTP
236 names.add("出水总磷");
237 ids.add("CSTP");
238 data.add(Long.parseLong("0"));
239 yesData.add(Long.parseLong("0"));
240 max.add(Long.parseLong("10"));
241 //CSPH
242 names.add("出水PH");
243 ids.add("CSPH");
244 data.add(Long.parseLong("0"));
245 yesData.add(Long.parseLong("0"));
246 max.add(Long.parseLong("10"));
247 } 232 }
233
248 csbzCharData.put("name", names); 234 csbzCharData.put("name", names);
249 csbzCharData.put("data", data); 235 csbzCharData.put("data", data);
250 csbzCharData.put("max", max); 236 csbzCharData.put("max", max);
...@@ -303,7 +289,106 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService { ...@@ -303,7 +289,106 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService {
303 } 289 }
304 //根据出水标准查询达标率 290 //根据出水标准查询达标率
305 @Override 291 @Override
306 public List<Map<String, Object>> queryFacListBySummary(String time) { 292 //查询达标率厂站列表
293 public List<WaterAnalysisVO> queryFacListBySummary(String time) {
294 String startTime = time + "-01";
295 String endTime = time + "-31";
296 //查询部门 以及部门的日报的总天数
297 String sql = "select d.id depart_id, d.depart_name factoryName , d.id factoryId,fi.pro_longitude longitude, fi.pro_latitude latitude,sa.area_name areaName ,IFNULL(ccc.dayNum,0) totalDayNum , fi.out_level , lsc.alarm_standard_level_name standard";
298 sql += " from sys_depart d ";
299 sql += " left join sys_factory_info fi on fi.depart_id = d.id ";
300 sql += " LEFT JOIN sys_area sa ON sa.id = fi.pro_county ";
301 sql += " LEFT JOIN alarm_level_standard_config lsc ON lsc.id = fi.out_level ";
302
303 sql += " left join ( select aaa.depart_id ,count(aaa.depart_id) dayNum from ";
304 sql += " (select a.depart_id, DATE_FORMAT(data_time, '%Y-%m-%d') time from f_report_itemv a ";
305 sql += " left join f_report_item b on b.id=a.reit_id ";
306 sql += " where b.item_code in ("+ JSUtils.quoteEach( ReportConstant.field_2119_CS,"," ) +") and a.data_time >='"+startTime+"' and a.data_time <='"+endTime+"' group by a.depart_id ,DATE_FORMAT(data_time, '%Y-%m-%d') ";
307 sql += " )aaa group by aaa.depart_id ";
308 sql += " )ccc on ccc.depart_id = d.id where d.depart_type = '1' ";
309
310 List<WaterAnalysisVO> departList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<WaterAnalysisVO>(WaterAnalysisVO.class));
311
312 // 以及部门的出水标准
313 sql = "select aaa.* ,bbb.* from ";
314 sql += " (SELECT alarm_level_standard_id,max(CASE WHEN alarm_param_code = 'CSTP' THEN alarm_param_upper_limit ELSE 0 END) AS CSZL_MAX , max(CASE WHEN alarm_param_code = 'CSTN' THEN alarm_param_upper_limit ELSE 0 END) AS CSTN_MAX , ";
315 sql += " max(CASE WHEN alarm_param_code = 'CSNH3N' THEN alarm_param_upper_limit ELSE 0 END) AS CSAD_MAX , max(CASE WHEN alarm_param_code = 'CSPH' THEN alarm_param_upper_limit ELSE 0 END) AS CSPH_MAX , ";
316 sql += " max(CASE WHEN alarm_param_code = 'CSCOD' THEN alarm_param_upper_limit ELSE 0 END) AS CSCOD_MAX FROM alarm_param_standard_config )aaa ";
317 sql += " left join ( SELECT alarm_level_standard_id ,max(CASE WHEN alarm_param_code = 'CSTP' THEN alarm_param_lower_limit ELSE 0 END) AS CSZL_MIN , ";
318 sql += " max(CASE WHEN alarm_param_code = 'CSTN' THEN alarm_param_lower_limit ELSE 0 END) AS CSTN_MIN , max(CASE WHEN alarm_param_code = 'CSNH3N' THEN alarm_param_lower_limit ELSE 0 END) AS CSAD_MIN , ";
319 sql += " max(CASE WHEN alarm_param_code = 'CSPH' THEN alarm_param_lower_limit ELSE 0 END) AS CSPH_MIN , max(CASE WHEN alarm_param_code = 'CSCOD' THEN alarm_param_lower_limit ELSE 0 END) AS CSCOD_MIN ";
320 sql += " FROM alarm_param_standard_config)bbb on aaa.alarm_level_standard_id = bbb.alarm_level_standard_id ";
321
322 List<AlarmParamStandardConfigVO> alarmParamStandardConfigList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<AlarmParamStandardConfigVO>(AlarmParamStandardConfigVO.class));
323 //查询 日报数据:部门+时间(yyyy-MM-dd)
324 String dataViewName_CS = ReportViewUtil.buildView(ReportConstant.view2119,ReportConstant.field_2119_CS, null, startTime, endTime);//出水量
325 //public static final String field_2119_CS = "CSZL,CSCOD,CSAD,CSTN,CSPH";
326 sql = "select aaa.time,aaa.depart_id , max(ifnull(aaa.CSZL,0)) CSZL ,max(ifnull(aaa.CSCOD,0)) CSCOD ,max(ifnull(aaa.CSAD,0)) CSAD ,max(ifnull(aaa.CSTN,0)) CSTN ,max(ifnull(aaa.CSPH,0)) CSPH from "+dataViewName_CS +" aaa group by aaa.depart_id,aaa.time order by aaa.depart_id";
327 List<DataViewVO> cs_dataList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<DataViewVO>(DataViewVO.class));
328
329
330 AlarmParamStandardConfigVO standardConfigVO = null;//标准
331 Integer errorDay = 0;//异常天数
332
333 for( WaterAnalysisVO departVO : departList){
334 departVO.setDb("100");//默认百分比为100
335 errorDay = 0;
336 standardConfigVO = null;//初始化
337 String remark = "";
338 // System.out.println("***********************************************************"+departVO.getFactoryName()+"********************************************************************************************");
339 //获取部门的出水指标
340 if(alarmParamStandardConfigList != null && !alarmParamStandardConfigList.isEmpty()){
341 for( AlarmParamStandardConfigVO standardConfigTemp : alarmParamStandardConfigList){
342 if(standardConfigTemp.getAlarmLevelStandardId().equals(departVO.getOut_level())) {
343 standardConfigVO = standardConfigTemp;
344 break;
345 }
346 }
347 }
348 if(standardConfigVO != null && departVO.getTotalDayNum() != null && departVO.getTotalDayNum().intValue() > 0){ //遍历数据,修改百分比
349 for( DataViewVO dataViewVO : cs_dataList){
350 if(departVO.getDepartId().equals(dataViewVO.getDepartId() )){
351 // csad = 10 [0,6 ] 10-6>0
352 // csad = -1 -1 -0 <0
353 //System.out.println("************************************");
354 // System.out.println("COD:"+dataViewVO.getCSCOD() +";[ "+standardConfigVO.getCSCOD_MIN()+","+standardConfigVO.getCSCOD_MAX()+"]");
355 // System.out.println("氨氮:"+dataViewVO.getCSAD() +";[ "+standardConfigVO.getCSAD_MIN()+","+standardConfigVO.getCSAD_MAX()+"]");
356 // System.out.println("总氮:"+dataViewVO.getCSTN() +";[ "+standardConfigVO.getCSTN_MIN()+","+standardConfigVO.getCSTN_MAX()+"]");
357 // System.out.println("PH:"+dataViewVO.getCSPH() +";[ "+standardConfigVO.getCSPH_MIN()+","+standardConfigVO.getCSPH_MAX()+"]");
358 // System.out.println("总磷:"+dataViewVO.getCSZL() +";[ "+standardConfigVO.getCSZL_MIN()+","+standardConfigVO.getCSZL_MAX()+"]");
359 remark += "{ COD:"+dataViewVO.getCSCOD() +",[ "+standardConfigVO.getCSCOD_MIN()+","+standardConfigVO.getCSCOD_MAX()+"];";
360 remark += "氨氮:"+dataViewVO.getCSAD() +";[ "+standardConfigVO.getCSAD_MIN()+","+standardConfigVO.getCSAD_MAX()+"];";
361 remark += "总氮:"+dataViewVO.getCSTN() +";[ "+standardConfigVO.getCSTN_MIN()+","+standardConfigVO.getCSTN_MAX()+"];";
362 remark += "PH:"+dataViewVO.getCSPH() +";[ "+standardConfigVO.getCSPH_MIN()+","+standardConfigVO.getCSPH_MAX()+"];";
363 remark += "总磷:"+dataViewVO.getCSZL() +";[ "+standardConfigVO.getCSZL_MIN()+","+standardConfigVO.getCSZL_MAX()+"]},";
364 if( Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSAD_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSAD_MIN() )) < 0
365 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSCOD() , standardConfigVO.getCSCOD_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSCOD() , standardConfigVO.getCSCOD_MIN() )) < 0
366 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSTN() , standardConfigVO.getCSTN_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSTN() , standardConfigVO.getCSTN_MIN() )) < 0
367 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSPH() , standardConfigVO.getCSPH_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSPH_MIN() )) < 0
368 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSZL() , standardConfigVO.getCSZL_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSZL_MIN() )) < 0
369 ){
370 errorDay ++;
371 }
372 //System.out.println("*****************errorDay**"+errorDay+"*****************");
373 }
374 }
375 }
376 if(departVO.getTotalDayNum() != null && departVO.getTotalDayNum().intValue() > 0 ){
377 // 达标天数 / 总天数 或 100 - 不达标天数/总天数
378 // System.out.println(departVO.getFactoryName()+";未达标天数:"+ (errorDay) +"; 总天数:"+departVO.getTotalDayNum());
379 departVO.setDb( JSUtils.format ((departVO.getTotalDayNum()-errorDay)*100/departVO.getTotalDayNum() ) );//默认百分比为100
380 departVO.setRemark( remark );
381 }
382
383 }
384 return departList;
385 }
386
387 private JdbcTemplate getJdbcTemplate(){
388 JdbcTemplate masterDB = (JdbcTemplate) SpringContextUtils.getBean("master");
389 return masterDB;
390 }
391 /* public List<Map<String, Object>> queryFacListBySummary(String time) {
307 String departIds = BaseContextHandler.getDeparts(); 392 String departIds = BaseContextHandler.getDeparts();
308 List<Map<String, Object>> maps = waterAnalysisNewMapper.queryFacListBySummary(time, DateUtils.getDayCountOfMonth(time),departIds); 393 List<Map<String, Object>> maps = waterAnalysisNewMapper.queryFacListBySummary(time, DateUtils.getDayCountOfMonth(time),departIds);
309 maps.forEach(v -> { 394 maps.forEach(v -> {
...@@ -317,5 +402,5 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService { ...@@ -317,5 +402,5 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService {
317 } 402 }
318 }); 403 });
319 return maps; 404 return maps;
320 } 405 }*/
321 } 406 }
......
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 * @auther kangwei
9 * @create 2024-12-17-19:03
10 */
11 @Data
12 @ApiModel(value="指标库分析对象", description="指标库分析对象")
13 public class AlarmParamStandardConfigVO {
14
15 @ApiModelProperty(value = "指标编号")
16 private String alarmLevelStandardId;
17 @ApiModelProperty(value = "总磷-最大值")
18 private String CSZL_MAX;
19 @ApiModelProperty(value = "总氮-最大值")
20 private String CSTN_MAX;
21 @ApiModelProperty(value = "氨氮-最大值")
22 private String CSAD_MAX;
23 @ApiModelProperty(value = "PH-最大值")
24 private String CSPH_MAX;
25 @ApiModelProperty(value = "COD-最大值")
26 private Integer CSCOD_MAX;
27
28
29 @ApiModelProperty(value = "总磷-最小值")
30 private String CSZL_MIN;
31 @ApiModelProperty(value = "总氮-最小值")
32 private String CSTN_MIN;
33 @ApiModelProperty(value = "氨氮-最小值")
34 private String CSAD_MIN;
35 @ApiModelProperty(value = "PH-最小值")
36 private String CSPH_MIN;
37 @ApiModelProperty(value = "COD-最小值")
38 private Integer CSCOD_MIN;
39 }
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 import org.apache.commons.lang.StringUtils;
7
8 /**
9 * @auther kangwei
10 * @create 2024-12-17-18:29
11 */
12 @Data
13 @ApiModel(value="水质分析对象", description="水质分析对象")
14 public class WaterAnalysisVO {
15 @ApiModelProperty(value = "部门编号")
16 private String factoryName;
17 @ApiModelProperty(value = "水厂编号")
18 private String departId;
19 @ApiModelProperty(value = "水厂编号")
20 private String factoryId;
21 @ApiModelProperty(value = "经度")
22 private String longitude;
23 @ApiModelProperty(value = "维度")
24 private String latitude;
25 @ApiModelProperty(value = "区域名称")
26 private String areaName;
27
28
29 @ApiModelProperty(value = "总天数")
30 private Integer totalDayNum;
31
32 @ApiModelProperty(value = "出水标准编号")
33 private String out_level;
34
35 @ApiModelProperty(value = "出水标准名称")
36 private String standard;
37
38 @ApiModelProperty(value = "百分比")
39 private String db;
40
41 @ApiModelProperty(value = "status")
42 private Integer status;
43 @ApiModelProperty(value = "备注")
44 private String remark;
45
46
47 public Integer getStatus() {
48 status = 1;
49 if(StringUtils.isNotEmpty(db)){
50 if(Double.parseDouble(db) < 90) status =-1;
51 if(Double.parseDouble(db) >= 90 && Double.parseDouble(db)<100) status = 0;
52 }
53 return status;
54 }
55 }
56
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!