隐患数据统计分析--行政区域统计和上报部门统计可查询指定月份隐患数量

main
15036302109 3 months ago
parent 6059f6eee0
commit 54d1e1e92a

@ -90,6 +90,7 @@ public class EhsIndexStatisticsController extends BaseController {
{ {
DateTime dateTime = null; DateTime dateTime = null;
if (targetTime != null) { if (targetTime != null) {
targetTime = targetTime + "-01 00:00:00";
dateTime = DateUtil.parse(targetTime, "yyyy-MM-dd HH:mm:ss"); dateTime = DateUtil.parse(targetTime, "yyyy-MM-dd HH:mm:ss");
} }
if (targetTime == null) { if (targetTime == null) {
@ -104,9 +105,17 @@ public class EhsIndexStatisticsController extends BaseController {
*/ */
@ApiOperation("按地址统计") @ApiOperation("按地址统计")
@GetMapping("/getHiddenDangerSituationByEnterpriseNameList") @GetMapping("/getHiddenDangerSituationByEnterpriseNameList")
public AjaxResult getHiddenDangerSituationByEnterpriseNameList() public AjaxResult getHiddenDangerSituationByEnterpriseNameList(String targetTime)
{ {
List<HiddenDangerStatisticsVo> list = ehsIndexStatisticsService.getHiddenDangerSituationByEnterpriseNameList(); DateTime dateTime = null;
if (targetTime != null) {
targetTime = targetTime + "-01 00:00:00";
dateTime = DateUtil.parse(targetTime, "yyyy-MM-dd HH:mm:ss");
}
if(targetTime == null) {
dateTime = DateTime.now();
}
List<HiddenDangerStatisticsVo> list = ehsIndexStatisticsService.getHiddenDangerSituationByEnterpriseNameList(dateTime);
return AjaxResult.success(list); return AjaxResult.success(list);
} }
/** /**

@ -19,7 +19,7 @@ public interface EhsIndexStatisticsMapper {
List<HiddenDangerVo> getHiddenDangerVoList(@Param("vo") HiddenDangerVo vo); List<HiddenDangerVo> getHiddenDangerVoList(@Param("vo") HiddenDangerVo vo);
List<HiddenDangerStatisticsVo> getHiddenDangerSituationList(@Param("targetTime") Date targetTime); List<HiddenDangerStatisticsVo> getHiddenDangerSituationList(@Param("targetTime") Date targetTime);
List<HiddenDangerStatisticsVo> getHiddenDangerSituationByEnterpriseNameList(); List<HiddenDangerStatisticsVo> getHiddenDangerSituationByEnterpriseNameList(@Param("targetTime") Date targetTime);
List<HiddenDangerRankVo> getHiddenDangerRankVoList(); List<HiddenDangerRankVo> getHiddenDangerRankVoList();
List<HiddenDangerRankVo> getHiddenDangerRankVoByDeptIdList(@Param("targetTime") Date targetTime); List<HiddenDangerRankVo> getHiddenDangerRankVoByDeptIdList(@Param("targetTime") Date targetTime);
List<Map<String,Object>> getEnterpriseMapList(@Param("targetTime") Date targetTime, @Param("deptId") Long deptId); List<Map<String,Object>> getEnterpriseMapList(@Param("targetTime") Date targetTime, @Param("deptId") Long deptId);

@ -25,7 +25,7 @@ public interface EhsIndexStatisticsService {
/** /**
* *
*/ */
List<HiddenDangerStatisticsVo> getHiddenDangerSituationByEnterpriseNameList(); List<HiddenDangerStatisticsVo> getHiddenDangerSituationByEnterpriseNameList(Date targetTime);
/** /**
* *
*/ */

@ -91,8 +91,8 @@ public class EhsIndexStatisticsServiceImpl implements EhsIndexStatisticsService
return mapper.getHiddenDangerSituationList(targetTime); return mapper.getHiddenDangerSituationList(targetTime);
} }
@Override @Override
public List<HiddenDangerStatisticsVo> getHiddenDangerSituationByEnterpriseNameList() { public List<HiddenDangerStatisticsVo> getHiddenDangerSituationByEnterpriseNameList(Date targetTime) {
return mapper.getHiddenDangerSituationByEnterpriseNameList(); return mapper.getHiddenDangerSituationByEnterpriseNameList(targetTime);
} }
@Override @Override

@ -90,17 +90,15 @@ select c.dict_label 'name',c.dict_value dept_id,ifnull(a.thisUnitNum,0) thisUnit
from sys_dict_data c left join( from sys_dict_data c left join(
SELECT SELECT
r.area_id , r.area_id ,
-- (select count(1) from ehs_enterprise e where e.area_id = d.dict_value and e.create_time>= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' )) thisUnitNum,
(SELECT count(1) FROM ehs_enterprise e WHERE e.area_id = d.dict_value AND e.create_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59')) thisUnitNum, (SELECT count(1) FROM ehs_enterprise e WHERE e.area_id = d.dict_value AND e.create_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59')) thisUnitNum,
(select count(1) from ehs_enterprise e where e.area_id = d.dict_value) totalUnitNum, (select count(1) from ehs_enterprise e where e.area_id = d.dict_value) totalUnitNum,
-- sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) THEN r.hd_count ELSE 0 END ) 'thisReportNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL AND r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') THEN r.hd_count ELSE 0 END ) 'thisReportNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL AND r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') THEN r.hd_count ELSE 0 END ) 'thisReportNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ) 'totalReportNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ) 'totalReportNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) and r.status = 10 THEN r.hd_count ELSE 0 END ) 'thisHaveNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') and r.status = 10 THEN r.hd_count ELSE 0 END ) 'thisHaveNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END ) 'totalHaveNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END ) 'totalHaveNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) and r.status != 10 THEN r.hd_count ELSE 0 END ) 'thisNotNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') and r.status != 10 THEN r.hd_count ELSE 0 END ) 'thisNotNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status != 10 THEN r.hd_count ELSE 0 END ) 'totalNotNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status != 10 THEN r.hd_count ELSE 0 END ) 'totalNotNum',
CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'thisRate', CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'thisRate',
CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'totalRate' CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'totalRate'
FROM FROM
sys_dict_data d sys_dict_data d
@ -116,13 +114,13 @@ SELECT
resultType="com.ruoyi.ehsIndexStatistics.vo.HiddenDangerStatisticsVo"> resultType="com.ruoyi.ehsIndexStatistics.vo.HiddenDangerStatisticsVo">
SELECT SELECT
d.dept_name 'name', d.dept_name 'name',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) THEN r.hd_count ELSE 0 END ) 'thisReportNum', sum(CASE WHEN r.hidden_danger_id IS NOT NULL AND r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') THEN r.hd_count ELSE 0 END ) 'thisReportNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ) 'totalReportNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ) 'totalReportNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) and r.status = 10 THEN r.hd_count ELSE 0 END ) 'thisHaveNum', sum(CASE WHEN r.hidden_danger_id IS NOT NULL AND r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') AND r.STATUS = 10 THEN r.hd_count ELSE 0 END) 'thisHaveNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END ) 'totalHaveNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END ) 'totalHaveNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) and r.status != 10 THEN r.hd_count ELSE 0 END ) 'thisNotNum', sum(CASE WHEN r.hidden_danger_id IS NOT NULL AND r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') AND r.STATUS != 10 THEN r.hd_count ELSE 0 END) 'thisNotNum',
sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status != 10 THEN r.hd_count ELSE 0 END ) 'totalNotNum', sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status != 10 THEN r.hd_count ELSE 0 END ) 'totalNotNum',
CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time >= DATE_FORMAT( now(), '%Y-%m-01 00:00:00' ) THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'thisRate', CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.check_time BETWEEN DATE_FORMAT( #{targetTime}, '%Y-%m-01 00:00:00' ) AND CONCAT(LAST_DAY(#{targetTime}), ' 23:59:59') THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'thisRate',
CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'totalRate' CONCAT(round(ifnull(sum( CASE WHEN r.hidden_danger_id IS NOT NULL and r.status = 10 THEN r.hd_count ELSE 0 END )/sum( CASE WHEN r.hidden_danger_id IS NOT NULL THEN r.hd_count ELSE 0 END ),0)*100,2),'%') 'totalRate'
FROM FROM
sys_dept d left join ehs_hidden_danger r on r.dept_id = d.dept_id sys_dept d left join ehs_hidden_danger r on r.dept_id = d.dept_id

Loading…
Cancel
Save