846d57d4 张雷

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

2 个父辈 db4efa4a 3cd805b1
......@@ -45,5 +45,7 @@ public interface ReportConstant {
//水质字段
public static final String fieldSz = "JSZL,CSZL,JSCOD,CSCOD,JSAD,CSAD,JSZD,CSTN,JSPH,JSSS,CSPH,CSSS";
//出水字段
public static final String field_2119_CS = "CSZL,CSCOD,CSAD,CSTN,CSPH";
}
......
......@@ -3,6 +3,7 @@ package com.skua.modules.dataAnalysis.controller;
import com.skua.core.api.vo.Result;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.modules.dataAnalysis.service.WaterAnalysisNewService;
import com.skua.modules.dataAnalysis.vo.WaterAnalysisVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -49,9 +50,9 @@ public class WaterAnalysisNewController {
@AutoLog(value = "查询达标率厂站列表")
@ApiOperation(value = "查询达标率厂站列表", notes = "查询达标率厂站列表")
@RequestMapping(value = "/queryFacListBySummary", method = RequestMethod.GET)
public Result<List<Map<String, Object>>> queryFacListBySummary(String time) {
Result<List<Map<String, Object>>> result = new Result<>();
List<Map<String, Object>> data = waterAnalysisNewService.queryFacListBySummary(time);
public Result< List<WaterAnalysisVO>> queryFacListBySummary(String time) {
Result< List<WaterAnalysisVO>> result = new Result<>();
List<WaterAnalysisVO> data = waterAnalysisNewService.queryFacListBySummary(time);
result.setResult(data);
result.setSuccess(true);
return result;
......
package com.skua.modules.dataAnalysis.service;
import com.skua.modules.dataAnalysis.vo.WaterAnalysisVO;
import java.util.List;
import java.util.Map;
......@@ -11,7 +12,7 @@ public interface WaterAnalysisNewService {
* @Param [time]
* @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
**/
List<Map<String, Object>> queryFacListBySummary(String time);
List<WaterAnalysisVO> queryFacListBySummary(String time);
/**
*
* @Description 查询出水指标超标次数
......
......@@ -266,42 +266,42 @@ public class FactoryOperateCenterServiceImpl implements IFactoryOperateCenterSer
Map<String,Object> monthTbMap = masterDB.queryForMap("select "+ fieldSql+ " from " + dataViewName3a24MonthTb +" aaa " );
monthDataVOList.add( new YJMonthDataVO("PAC(液)","PACYT" ,"KG",ConvertUtils.getString(target.getTargetPacyt(),"0"),ConvertUtils.getString(monthMap.get("PACYT"),"0"),
monthDataVOList.add( new YJMonthDataVO("PAC(液)","PACYT" ,"kg",ConvertUtils.getString(target.getTargetPacyt(),"0"),ConvertUtils.getString(monthMap.get("PACYT"),"0"),
ConvertUtils.getString(monthHbMap.get("PACYT"),"0") ,ConvertUtils.getString(monthTbMap.get("PACYT") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("PAC(固)","PACGT" ,"KG",ConvertUtils.getString(target.getTargetPacgt(),"0"),ConvertUtils.getString(monthMap.get("PACGT"),"0"),
monthDataVOList.add( new YJMonthDataVO("PAC(固)","PACGT" ,"kg",ConvertUtils.getString(target.getTargetPacgt(),"0"),ConvertUtils.getString(monthMap.get("PACGT"),"0"),
ConvertUtils.getString(monthHbMap.get("PACGT"),"0") ,ConvertUtils.getString(monthTbMap.get("PACGT") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("NaClO","NACLO" ,"KG",ConvertUtils.getString(target.getTargetNaclo(),"0"),ConvertUtils.getString(monthMap.get("NACLO"),"0"),
monthDataVOList.add( new YJMonthDataVO("NaClO","NACLO" ,"kg",ConvertUtils.getString(target.getTargetNaclo(),"0"),ConvertUtils.getString(monthMap.get("NACLO"),"0"),
ConvertUtils.getString(monthHbMap.get("NACLO"),"0") ,ConvertUtils.getString(monthTbMap.get("NACLO") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("水处理PAM(-)","SCLPAMF" ,"KG",ConvertUtils.getString(target.getTargetSclpamf(),"0"),ConvertUtils.getString(monthMap.get("SCLPAMF"),"0"),
monthDataVOList.add( new YJMonthDataVO("水处理PAM(-)","SCLPAMF" ,"kg",ConvertUtils.getString(target.getTargetSclpamf(),"0"),ConvertUtils.getString(monthMap.get("SCLPAMF"),"0"),
ConvertUtils.getString(monthHbMap.get("SCLPAMF"),"0") ,ConvertUtils.getString(monthTbMap.get("SCLPAMF") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("污脱PAM乳剂","PAMRJ","KG" ,ConvertUtils.getString(target.getTargetPamrj(),"0"),ConvertUtils.getString(monthMap.get("PAMRJ"),"0"),
monthDataVOList.add( new YJMonthDataVO("污脱PAM乳剂","PAMRJ","kg" ,ConvertUtils.getString(target.getTargetPamrj(),"0"),ConvertUtils.getString(monthMap.get("PAMRJ"),"0"),
ConvertUtils.getString(monthHbMap.get("PAMRJ"),"0") ,ConvertUtils.getString(monthTbMap.get("PAMRJ") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("PFS","PFS" ,"KG",ConvertUtils.getString(target.getTargetPfs(),"0"),ConvertUtils.getString(monthMap.get("PFS"),"0"),
monthDataVOList.add( new YJMonthDataVO("PFS","PFS" ,"kg",ConvertUtils.getString(target.getTargetPfs(),"0"),ConvertUtils.getString(monthMap.get("PFS"),"0"),
ConvertUtils.getString(monthHbMap.get("PFS"),"0") ,ConvertUtils.getString(monthTbMap.get("PFS") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("复合铁盐","FHTY","KG" ,ConvertUtils.getString(target.getTargetFhty(),"0"),ConvertUtils.getString(monthMap.get("FHTY"),"0"),
monthDataVOList.add( new YJMonthDataVO("复合铁盐","FHTY","kg" ,ConvertUtils.getString(target.getTargetFhty(),"0"),ConvertUtils.getString(monthMap.get("FHTY"),"0"),
ConvertUtils.getString(monthHbMap.get("FHTY"),"0") ,ConvertUtils.getString(monthTbMap.get("FHTY") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("乳液絮凝剂","RYXNJ" ,"KG",ConvertUtils.getString(target.getTargetRyxnj(),"0"),ConvertUtils.getString(monthMap.get("RYXNJ"),"0"),
monthDataVOList.add( new YJMonthDataVO("乳液絮凝剂","RYXNJ" ,"kg",ConvertUtils.getString(target.getTargetRyxnj(),"0"),ConvertUtils.getString(monthMap.get("RYXNJ"),"0"),
ConvertUtils.getString(monthHbMap.get("RYXNJ"),"0") ,ConvertUtils.getString(monthTbMap.get("RYXNJ") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("益维磷","YWL" ,"KG",ConvertUtils.getString(target.getTargetYwl(),"0"),ConvertUtils.getString(monthMap.get("YWL"),"0"),
monthDataVOList.add( new YJMonthDataVO("益维磷","YWL" ,"kg",ConvertUtils.getString(target.getTargetYwl(),"0"),ConvertUtils.getString(monthMap.get("YWL"),"0"),
ConvertUtils.getString(monthHbMap.get("YWL"),"0") ,ConvertUtils.getString(monthTbMap.get("YWL") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("高效除磷剂","GXCLJ" ,"KG",ConvertUtils.getString(target.getTargetGxclj(),"0"),ConvertUtils.getString(monthMap.get("GXCLJ"),"0"),
monthDataVOList.add( new YJMonthDataVO("高效除磷剂","GXCLJ" ,"kg",ConvertUtils.getString(target.getTargetGxclj(),"0"),ConvertUtils.getString(monthMap.get("GXCLJ"),"0"),
ConvertUtils.getString(monthHbMap.get("GXCLJ"),"0") ,ConvertUtils.getString(monthTbMap.get("GXCLJ") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("CH3COONA","CH3COONA" ,"KG",ConvertUtils.getString(target.getTargetCh3coona(),"0"),ConvertUtils.getString(monthMap.get("CH3COONA"),"0"),
monthDataVOList.add( new YJMonthDataVO("CH3COONA","CH3COONA" ,"kg",ConvertUtils.getString(target.getTargetCh3coona(),"0"),ConvertUtils.getString(monthMap.get("CH3COONA"),"0"),
ConvertUtils.getString(monthHbMap.get("CH3COONA"),"0") ,ConvertUtils.getString(monthTbMap.get("CH3COONA") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("活性炭","HXT" ,"KG",ConvertUtils.getString(target.getTargetHxt(),"0"),ConvertUtils.getString(monthMap.get("HXT"),"0"),
monthDataVOList.add( new YJMonthDataVO("活性炭","HXT" ,"kg",ConvertUtils.getString(target.getTargetHxt(),"0"),ConvertUtils.getString(monthMap.get("HXT"),"0"),
ConvertUtils.getString(monthHbMap.get("HXT"),"0") ,ConvertUtils.getString(monthTbMap.get("HXT") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("FeCl3","FECL3" ,"KG",ConvertUtils.getString(target.getTargetFecl3(),"0"),ConvertUtils.getString(monthMap.get("FECL3"),"0"),
monthDataVOList.add( new YJMonthDataVO("FeCl3","FECL3" ,"kg",ConvertUtils.getString(target.getTargetFecl3(),"0"),ConvertUtils.getString(monthMap.get("FECL3"),"0"),
ConvertUtils.getString(monthHbMap.get("FECL3"),"0") ,ConvertUtils.getString(monthTbMap.get("FECL3") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("石灰","SH" ,"KG",ConvertUtils.getString(target.getTargetSh(),"0"),ConvertUtils.getString(monthMap.get("SH"),"0"),
monthDataVOList.add( new YJMonthDataVO("石灰","SH" ,"kg",ConvertUtils.getString(target.getTargetSh(),"0"),ConvertUtils.getString(monthMap.get("SH"),"0"),
ConvertUtils.getString(monthHbMap.get("SH"),"0") ,ConvertUtils.getString(monthTbMap.get("SH") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("CH3COOH","CH3COOH" ,"KG",ConvertUtils.getString(target.getTargetCh3cooh(),"0"),ConvertUtils.getString(monthMap.get("CH3COOH"),"0"),
monthDataVOList.add( new YJMonthDataVO("CH3COOH","CH3COOH" ,"kg",ConvertUtils.getString(target.getTargetCh3cooh(),"0"),ConvertUtils.getString(monthMap.get("CH3COOH"),"0"),
ConvertUtils.getString(monthHbMap.get("CH3COOH"),"0") ,ConvertUtils.getString(monthTbMap.get("CH3COOH") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("FeSO4固","FESO4G" ,"KG",ConvertUtils.getString(target.getTargetFeso4g(),"0"),ConvertUtils.getString(monthMap.get("FESO4G"),"0"),
monthDataVOList.add( new YJMonthDataVO("FeSO4固","FESO4G" ,"kg",ConvertUtils.getString(target.getTargetFeso4g(),"0"),ConvertUtils.getString(monthMap.get("FESO4G"),"0"),
ConvertUtils.getString(monthHbMap.get("FESO4G"),"0") ,ConvertUtils.getString(monthTbMap.get("FESO4G") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("FeSO4液","FESO4Y" ,"KG",ConvertUtils.getString(target.getTargetFeso4y(),"0"),ConvertUtils.getString(monthMap.get("FESO4Y"),"0"),
monthDataVOList.add( new YJMonthDataVO("FeSO4液","FESO4Y" ,"kg",ConvertUtils.getString(target.getTargetFeso4y(),"0"),ConvertUtils.getString(monthMap.get("FESO4Y"),"0"),
ConvertUtils.getString(monthHbMap.get("FESO4Y"),"0") ,ConvertUtils.getString(monthTbMap.get("FESO4Y") ,"0") ) );
monthDataVOList.add( new YJMonthDataVO("H2O2","H2O2","KG" ,ConvertUtils.getString(target.getTargetH2o2(),"0"),ConvertUtils.getString(monthMap.get("H2O2"),"0"),
monthDataVOList.add( new YJMonthDataVO("H2O2","H2O2","kg" ,ConvertUtils.getString(target.getTargetH2o2(),"0"),ConvertUtils.getString(monthMap.get("H2O2"),"0"),
ConvertUtils.getString(monthHbMap.get("H2O2"),"0") ,ConvertUtils.getString(monthTbMap.get("H2O2") ,"0") ) );
/*
......
......@@ -4,12 +4,21 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.skua.common.constant.ReportConstant;
import com.skua.common.report.ReportViewUtil;
import com.skua.common.report.vo.DataViewVO;
import com.skua.core.api.vo.DictModel;
import com.skua.core.context.BaseContextHandler;
import com.skua.core.context.SpringContextUtils;
import com.skua.core.util.ConvertUtils;
import com.skua.core.util.DateUtils;
import com.skua.modules.dataAnalysis.mapper.WaterAnalysisNewMapper;
import com.skua.modules.dataAnalysis.service.WaterAnalysisNewService;
import com.skua.modules.dataAnalysis.vo.AlarmParamStandardConfigVO;
import com.skua.modules.dataAnalysis.vo.WaterAnalysisVO;
import com.skua.tool.util.JSUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.*;
......@@ -163,88 +172,65 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService {
}
@Override
public List<Map<String, Object>> queryNoSummaryList(String time) {
Map<String, Map<String, Object>> tmpMap = Maps.newHashMap();
String startTime = time + "-01";
String endTime = time + "-31";
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) '出水氨氮'," +
"IFNULL(ccc.CSTP,0) '出水总磷',IFNULL(ccc.CSTN,0) '出水总氮',IFNULL(ccc.CSPH,0) '出水PH' ";
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";
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, ";
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 ";
sql += " from ( select mmi.metric_uid_tag , arh.* from alarm_record_history arh " +
" left join sys_monitor_metric_info mmi on (arh.alarm_param_code = mmi.id ) ";
sql += " where arh.record_time > '"+startTime+"' and arh.record_time < '"+endTime+"' and arh.alarm_rule_level_name = '重要报警' ) bbb " +
" where bbb.metric_uid_tag in ('CSCOD','CSNH3N','CSPH','CSTN','CSTP') group by bbb.depart_id ";
sql += " )ccc on ccc.depart_id = d.id WHERE d.depart_type = '1'";
String departIds = BaseContextHandler.getDeparts();
List<Map<String, Object>> facs = new ArrayList<>();
facs = waterAnalysisNewMapper.queryNewFacList(time,departIds);
return facs;
}
if(StringUtils.isNotEmpty(departIds)){
sql += " and d.id in ("+JSUtils.quoteEach(departIds,",")+")";
}
List<Map<String, Object> > valueListMap = getJdbcTemplate().queryForList(sql);
return valueListMap;
}
//查询出水指标超标次数
@Override
public Map<String, Object> queryNewSummaryCount(String time) {
String startTime = time + "-01";
String endTime = time + "-31";
String departIds = BaseContextHandler.getDeparts();
Map<String, Object> csbzCharData = Maps.newHashMap();
//上个月DateUtils.getLastMonthOfMonth(time)
List<Map<String, Object>> maps = waterAnalysisNewMapper.queryNewSummaryCount(time,departIds);
List<String> names = Lists.newArrayList();
List<Long> data = Lists.newArrayList();
//List<Map<String, Object>> maps = waterAnalysisNewMapper.queryNewSummaryCount(time,departIds);
// List<String> names = Lists.newArrayList();
List<String> names = Arrays.asList("出水COD", "出水氨氮", "出水总氮","出水总磷","出水PH"); // 初始化一个固定大小的List
List<String> ids = Arrays.asList("CSCOD", "CSNH3N", "CSTN","CSTP","CSPH"); // 初始化一个固定大小的List
List<Long> yesData = Arrays.asList(0l,0l,0l,0l,0l); // 初始化一个固定大小的List
List<String> data = Lists.newArrayList();
List<Long> max = Lists.newArrayList();
List<Long> yesData = Lists.newArrayList();
List<String> ids = Lists.newArrayList();
if (maps.size()>0) {
Map<String, Object> dataMap = maps.get(0);
//CSCOD
names.add("出水COD");
ids.add("CSCOD");
data.add(Long.parseLong(dataMap.get("CSCOD").toString()));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("30"));
//CSNH3N
names.add("出水氨氮");
ids.add("CSNH3N");
data.add(Long.parseLong(dataMap.get("CSNH3N").toString()));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("30"));
//CSTN
names.add("出水总氮");
ids.add("CSTN");
data.add(Long.parseLong(dataMap.get("CSTN").toString()));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("30"));
//CSTP
names.add("出水总磷");
ids.add("CSTP");
data.add(Long.parseLong(dataMap.get("CSTP").toString()));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("30"));
//CSPH
names.add("出水PH");
ids.add("CSPH");
data.add(Long.parseLong(dataMap.get("CSPH").toString()));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("30"));
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,";
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 ";
sql += " from ( select mmi.metric_uid_tag , arh.* from alarm_record_history arh";
sql += " left join sys_monitor_metric_info mmi on (arh.alarm_param_code = mmi.id )";
sql += " where arh.record_time >= '"+startTime+"' and arh.record_time <= '"+endTime+"' and arh.alarm_rule_level_name = '重要报警'";
if(StringUtils.isNotEmpty(departIds)){
sql += " and arh.depart_id in ("+JSUtils.quoteEach(departIds,",")+")";
}
sql += " ) bbb where bbb.metric_uid_tag in ('CSCOD','CSNH3N','CSPH','CSTN','CSTP') ";
Map<String, Object> valueMap = getJdbcTemplate().queryForMap(sql);
if(valueMap != null){
data.add(ConvertUtils.getString(valueMap.get("CSCOD"),"0"));
data.add(ConvertUtils.getString(valueMap.get("CSNH3N"),"0"));
data.add(ConvertUtils.getString(valueMap.get("CSTN"),"0"));
data.add(ConvertUtils.getString(valueMap.get("CSTP"),"0"));
data.add(ConvertUtils.getString(valueMap.get("CSPH"),"0"));
max =Arrays.asList(30l,30l,30l,30l,30l);
}else{
//CSCOD
names.add("出水COD");
ids.add("CSCOD");
data.add(Long.parseLong("0"));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("10"));
//CSNH3N
names.add("出水氨氮");
ids.add("CSNH3N");
data.add(Long.parseLong("0"));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("10"));
//CSTN
names.add("出水总氮");
ids.add("CSTN");
data.add(Long.parseLong("0"));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("10"));
//CSTP
names.add("出水总磷");
ids.add("CSTP");
data.add(Long.parseLong("0"));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("10"));
//CSPH
names.add("出水PH");
ids.add("CSPH");
data.add(Long.parseLong("0"));
yesData.add(Long.parseLong("0"));
max.add(Long.parseLong("10"));
max =Arrays.asList(10l,10l,10l,10l,10l);
}
csbzCharData.put("name", names);
csbzCharData.put("data", data);
csbzCharData.put("max", max);
......@@ -303,7 +289,106 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService {
}
//根据出水标准查询达标率
@Override
public List<Map<String, Object>> queryFacListBySummary(String time) {
//查询达标率厂站列表
public List<WaterAnalysisVO> queryFacListBySummary(String time) {
String startTime = time + "-01";
String endTime = time + "-31";
//查询部门 以及部门的日报的总天数
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";
sql += " from sys_depart d ";
sql += " left join sys_factory_info fi on fi.depart_id = d.id ";
sql += " LEFT JOIN sys_area sa ON sa.id = fi.pro_county ";
sql += " LEFT JOIN alarm_level_standard_config lsc ON lsc.id = fi.out_level ";
sql += " left join ( select aaa.depart_id ,count(aaa.depart_id) dayNum from ";
sql += " (select a.depart_id, DATE_FORMAT(data_time, '%Y-%m-%d') time from f_report_itemv a ";
sql += " left join f_report_item b on b.id=a.reit_id ";
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') ";
sql += " )aaa group by aaa.depart_id ";
sql += " )ccc on ccc.depart_id = d.id where d.depart_type = '1' ";
List<WaterAnalysisVO> departList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<WaterAnalysisVO>(WaterAnalysisVO.class));
// 以及部门的出水标准
sql = "select aaa.* ,bbb.* from ";
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 , ";
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 , ";
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 ";
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 , ";
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 , ";
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 ";
sql += " FROM alarm_param_standard_config)bbb on aaa.alarm_level_standard_id = bbb.alarm_level_standard_id ";
List<AlarmParamStandardConfigVO> alarmParamStandardConfigList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<AlarmParamStandardConfigVO>(AlarmParamStandardConfigVO.class));
//查询 日报数据:部门+时间(yyyy-MM-dd)
String dataViewName_CS = ReportViewUtil.buildView(ReportConstant.view2119,ReportConstant.field_2119_CS, null, startTime, endTime);//出水量
//public static final String field_2119_CS = "CSZL,CSCOD,CSAD,CSTN,CSPH";
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";
List<DataViewVO> cs_dataList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<DataViewVO>(DataViewVO.class));
AlarmParamStandardConfigVO standardConfigVO = null;//标准
Integer errorDay = 0;//异常天数
for( WaterAnalysisVO departVO : departList){
departVO.setDb("100");//默认百分比为100
errorDay = 0;
standardConfigVO = null;//初始化
String remark = "";
// System.out.println("***********************************************************"+departVO.getFactoryName()+"********************************************************************************************");
//获取部门的出水指标
if(alarmParamStandardConfigList != null && !alarmParamStandardConfigList.isEmpty()){
for( AlarmParamStandardConfigVO standardConfigTemp : alarmParamStandardConfigList){
if(standardConfigTemp.getAlarmLevelStandardId().equals(departVO.getOut_level())) {
standardConfigVO = standardConfigTemp;
break;
}
}
}
if(standardConfigVO != null && departVO.getTotalDayNum() != null && departVO.getTotalDayNum().intValue() > 0){ //遍历数据,修改百分比
for( DataViewVO dataViewVO : cs_dataList){
if(departVO.getDepartId().equals(dataViewVO.getDepartId() )){
// csad = 10 [0,6 ] 10-6>0
// csad = -1 -1 -0 <0
//System.out.println("************************************");
// System.out.println("COD:"+dataViewVO.getCSCOD() +";[ "+standardConfigVO.getCSCOD_MIN()+","+standardConfigVO.getCSCOD_MAX()+"]");
// System.out.println("氨氮:"+dataViewVO.getCSAD() +";[ "+standardConfigVO.getCSAD_MIN()+","+standardConfigVO.getCSAD_MAX()+"]");
// System.out.println("总氮:"+dataViewVO.getCSTN() +";[ "+standardConfigVO.getCSTN_MIN()+","+standardConfigVO.getCSTN_MAX()+"]");
// System.out.println("PH:"+dataViewVO.getCSPH() +";[ "+standardConfigVO.getCSPH_MIN()+","+standardConfigVO.getCSPH_MAX()+"]");
// System.out.println("总磷:"+dataViewVO.getCSZL() +";[ "+standardConfigVO.getCSZL_MIN()+","+standardConfigVO.getCSZL_MAX()+"]");
remark += "{ COD:"+dataViewVO.getCSCOD() +",[ "+standardConfigVO.getCSCOD_MIN()+","+standardConfigVO.getCSCOD_MAX()+"];";
remark += "氨氮:"+dataViewVO.getCSAD() +";[ "+standardConfigVO.getCSAD_MIN()+","+standardConfigVO.getCSAD_MAX()+"];";
remark += "总氮:"+dataViewVO.getCSTN() +";[ "+standardConfigVO.getCSTN_MIN()+","+standardConfigVO.getCSTN_MAX()+"];";
remark += "PH:"+dataViewVO.getCSPH() +";[ "+standardConfigVO.getCSPH_MIN()+","+standardConfigVO.getCSPH_MAX()+"];";
remark += "总磷:"+dataViewVO.getCSZL() +";[ "+standardConfigVO.getCSZL_MIN()+","+standardConfigVO.getCSZL_MAX()+"]},";
if( Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSAD_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSAD_MIN() )) < 0
|| Double.parseDouble(JSUtils.subtract( dataViewVO.getCSCOD() , standardConfigVO.getCSCOD_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSCOD() , standardConfigVO.getCSCOD_MIN() )) < 0
|| Double.parseDouble(JSUtils.subtract( dataViewVO.getCSTN() , standardConfigVO.getCSTN_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSTN() , standardConfigVO.getCSTN_MIN() )) < 0
|| Double.parseDouble(JSUtils.subtract( dataViewVO.getCSPH() , standardConfigVO.getCSPH_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSPH_MIN() )) < 0
|| Double.parseDouble(JSUtils.subtract( dataViewVO.getCSZL() , standardConfigVO.getCSZL_MAX() )) > 0 || Double.parseDouble(JSUtils.subtract( dataViewVO.getCSAD() , standardConfigVO.getCSZL_MIN() )) < 0
){
errorDay ++;
}
//System.out.println("*****************errorDay**"+errorDay+"*****************");
}
}
}
if(departVO.getTotalDayNum() != null && departVO.getTotalDayNum().intValue() > 0 ){
// 达标天数 / 总天数 或 100 - 不达标天数/总天数
// System.out.println(departVO.getFactoryName()+";未达标天数:"+ (errorDay) +"; 总天数:"+departVO.getTotalDayNum());
departVO.setDb( JSUtils.format ((departVO.getTotalDayNum()-errorDay)*100/departVO.getTotalDayNum() ) );//默认百分比为100
departVO.setRemark( remark );
}
}
return departList;
}
private JdbcTemplate getJdbcTemplate(){
JdbcTemplate masterDB = (JdbcTemplate) SpringContextUtils.getBean("master");
return masterDB;
}
/* public List<Map<String, Object>> queryFacListBySummary(String time) {
String departIds = BaseContextHandler.getDeparts();
List<Map<String, Object>> maps = waterAnalysisNewMapper.queryFacListBySummary(time, DateUtils.getDayCountOfMonth(time),departIds);
maps.forEach(v -> {
......@@ -317,5 +402,5 @@ public class WaterAnalysisNewServiceImpl implements WaterAnalysisNewService {
}
});
return maps;
}
}*/
}
......
package com.skua.modules.dataAnalysis.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @auther kangwei
* @create 2024-12-17-19:03
*/
@Data
@ApiModel(value="指标库分析对象", description="指标库分析对象")
public class AlarmParamStandardConfigVO {
@ApiModelProperty(value = "指标编号")
private String alarmLevelStandardId;
@ApiModelProperty(value = "总磷-最大值")
private String CSZL_MAX;
@ApiModelProperty(value = "总氮-最大值")
private String CSTN_MAX;
@ApiModelProperty(value = "氨氮-最大值")
private String CSAD_MAX;
@ApiModelProperty(value = "PH-最大值")
private String CSPH_MAX;
@ApiModelProperty(value = "COD-最大值")
private Integer CSCOD_MAX;
@ApiModelProperty(value = "总磷-最小值")
private String CSZL_MIN;
@ApiModelProperty(value = "总氮-最小值")
private String CSTN_MIN;
@ApiModelProperty(value = "氨氮-最小值")
private String CSAD_MIN;
@ApiModelProperty(value = "PH-最小值")
private String CSPH_MIN;
@ApiModelProperty(value = "COD-最小值")
private Integer CSCOD_MIN;
}
package com.skua.modules.dataAnalysis.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang.StringUtils;
/**
* @auther kangwei
* @create 2024-12-17-18:29
*/
@Data
@ApiModel(value="水质分析对象", description="水质分析对象")
public class WaterAnalysisVO {
@ApiModelProperty(value = "部门编号")
private String factoryName;
@ApiModelProperty(value = "水厂编号")
private String departId;
@ApiModelProperty(value = "水厂编号")
private String factoryId;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "维度")
private String latitude;
@ApiModelProperty(value = "区域名称")
private String areaName;
@ApiModelProperty(value = "总天数")
private Integer totalDayNum;
@ApiModelProperty(value = "出水标准编号")
private String out_level;
@ApiModelProperty(value = "出水标准名称")
private String standard;
@ApiModelProperty(value = "百分比")
private String db;
@ApiModelProperty(value = "status")
private Integer status;
@ApiModelProperty(value = "备注")
private String remark;
public Integer getStatus() {
status = 1;
if(StringUtils.isNotEmpty(db)){
if(Double.parseDouble(db) < 90) status =-1;
if(Double.parseDouble(db) >= 90 && Double.parseDouble(db)<100) status = 0;
}
return status;
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!