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'";
Stringsql="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') ";
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' ";
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 ";
//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";