From 2e26f84548307dac660ec1784498c71970a76567 Mon Sep 17 00:00:00 2001 From: zhao-meiyu <2970484253@qq.com> Date: Thu, 25 Jan 2024 11:41:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=84=9F=E7=9F=A5=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E8=A1=A8=E6=A1=A9=E5=8F=B7id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DCPerceivedEventsWarningController.java | 6 +- .../DcPerceivedEventsWarningMapper.java | 8 ++- .../DcPerceivedEventsWarningServiceImpl.java | 37 +++++++++-- .../DcPerceivedEventsWarningMapper.xml | 64 +++++++++++++------ 4 files changed, 86 insertions(+), 29 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/controller/DCPerceivedEventsWarningController.java b/zc-business/src/main/java/com/zc/business/controller/DCPerceivedEventsWarningController.java index 8ef25c96..fea2d5c4 100644 --- a/zc-business/src/main/java/com/zc/business/controller/DCPerceivedEventsWarningController.java +++ b/zc-business/src/main/java/com/zc/business/controller/DCPerceivedEventsWarningController.java @@ -87,7 +87,8 @@ public class DCPerceivedEventsWarningController extends BaseController { String type = dcWarning.getType();//类型 String sectionId = dcWarning.getSectionId();//路段辖区id Date createTime = dcWarning.getCreateTime();//时间参数,参数根据类型配置,比如2022年,传值2022-00-00 00:00:00 - if (StringUtils.isBlank(type)||StringUtils.isBlank(sectionId)||createTime==null){ + String direction = dcWarning.getDirection();//方向 + if (StringUtils.isBlank(type)||StringUtils.isBlank(sectionId)||createTime==null||StringUtils.isBlank(direction)){ return AjaxResult.error("参数数据异常"); } return AjaxResult.success(perceivedEventsWarningService.selectWarningTrend(dcWarning)); @@ -98,7 +99,8 @@ public class DCPerceivedEventsWarningController extends BaseController { String type = dcWarning.getType();//类型 String sectionId = dcWarning.getSectionId();//路段辖区id Date createTime = dcWarning.getCreateTime();//时间参数,参数根据类型配置,比如2022年,传值2022-00-00 00:00:00 - if (StringUtils.isBlank(type)||StringUtils.isBlank(sectionId)||createTime==null){ + String direction = dcWarning.getDirection();//方向 + if (StringUtils.isBlank(type)||StringUtils.isBlank(sectionId)||createTime==null||StringUtils.isBlank(direction)){ return AjaxResult.error("参数数据异常"); } return AjaxResult.success(perceivedEventsWarningService.selectWarningSectionType(dcWarning)); diff --git a/zc-business/src/main/java/com/zc/business/mapper/DcPerceivedEventsWarningMapper.java b/zc-business/src/main/java/com/zc/business/mapper/DcPerceivedEventsWarningMapper.java index 4393be4a..ab3b42c6 100644 --- a/zc-business/src/main/java/com/zc/business/mapper/DcPerceivedEventsWarningMapper.java +++ b/zc-business/src/main/java/com/zc/business/mapper/DcPerceivedEventsWarningMapper.java @@ -61,7 +61,9 @@ public interface DcPerceivedEventsWarningMapper { List> selectWarningEscalation(DcWarning dcWarning); //修改感知事件信息 Integer updateWarning(DcWarning dcWarning); - - - + //查询事件条数,以桩号和方向,时间作为条件 + String selectWarningMarkDay(DcWarning dcWarning); + String selectWarningMarkMonth(DcWarning dcWarning); + List> selectWarningMarkQuarter(DcWarning dcWarning); + String selectWarningMarkYear(DcWarning dcWarning); } diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcPerceivedEventsWarningServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcPerceivedEventsWarningServiceImpl.java index e1263b7e..963597c8 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcPerceivedEventsWarningServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcPerceivedEventsWarningServiceImpl.java @@ -142,15 +142,40 @@ public class DcPerceivedEventsWarningServiceImpl implements IDCPerceivedEventsWa @Override public List> selectSectionMark(DcWarning dcWarning) { ArrayList numList = new ArrayList<>(); - String direction = dcWarning.getDirection(); + String type = dcWarning.getType(); List> mapList = perceivedEventsWarningMapper.selectSectionMark(dcWarning); for (HashMap list:mapList){ HashMap mapNum = new HashMap<>(); - String id = (String) list.get("id"); - String sectionNumber = perceivedEventsWarningMapper.selectSectionNumber(id,direction); - mapNum.put("markId",id); - mapNum.put("sectionNumber",sectionNumber); - numList.add(mapNum); + String markId = (String) list.get("id"); + dcWarning.setStakeMarkId(markId); + String sectionNumber=""; + switch (type) { + case "day": + sectionNumber = perceivedEventsWarningMapper.selectWarningMarkDay(dcWarning); + mapNum.put("stakeMarkId",markId); + mapNum.put("sectionNumber",sectionNumber); + numList.add(mapNum); + break; + case "month": + sectionNumber = perceivedEventsWarningMapper.selectWarningMarkMonth(dcWarning); + mapNum.put("stakeMarkId",markId); + mapNum.put("sectionNumber",sectionNumber); + numList.add(mapNum); + break; + case "quarter": + List> map= perceivedEventsWarningMapper.selectWarningMarkQuarter(dcWarning); + numList.add(map); + break; + case "year": + sectionNumber = perceivedEventsWarningMapper.selectWarningMarkYear(dcWarning); + mapNum.put("stakeMarkId",markId); + mapNum.put("sectionNumber",sectionNumber); + numList.add(mapNum); + break; + default: + numList.add(""); + } + } return numList; } diff --git a/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml b/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml index 83aebdd1..01e52d66 100644 --- a/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml +++ b/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml @@ -22,7 +22,7 @@ warning.`remark`, warning.`create_time`,warning.`update_time`, warning.`warning_type`,warning.`warning_subclass`,warning.`warning_title`, warning.`other_config` FROM dc_warning AS warning - LEFT JOIN dc_stake_mark AS mark ON mark.id=warning.stake_mark_id + LEFT JOIN dc_stake_mark AS mark ON mark.stake_mark=warning.stake_mark_id and warning_type = #{warningType} and warning_subclass = #{warningSubclass} @@ -30,7 +30,7 @@ SELECT DATE_FORMAT(warning.create_time, '%Y-%m-%d %H') AS time, COUNT(*) AS number FROM dc_warning AS warning - LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id + LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.stake_mark WHERE DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d') AND warning.direction=#{direction} AND mark.`section_id`=#{sectionId} @@ -85,7 +85,7 @@ SELECT warning.warning_type warningType,COUNT(*) AS number FROM dc_warning as warning - LEFT JOIN dc_stake_mark as mark on warning.stake_mark_id=mark.id + LEFT JOIN dc_stake_mark as mark on warning.stake_mark_id=mark.stake_mark where DATE_FORMAT(warning.create_time,'%Y-%m') =DATE_FORMAT(#{createTime},'%Y-%m') AND warning.direction=#{direction} and mark.`section_id`=#{sectionId} @@ -149,7 +150,7 @@ warning.warning_type warningType, COUNT(*) AS number FROM dc_warning as warning - LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id + LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.stake_mark WHERE YEAR(warning.create_time) =DATE_FORMAT(#{createTime},'%Y') AND warning.direction=#{direction} and mark.`section_id`=#{sectionId} @@ -160,8 +161,9 @@ SELECT warning.warning_type warningType, COUNT(*) AS number, DATE_FORMAT(warning.create_time, '%Y') as createTime FROM dc_warning as warning - LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id + LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.stake_mark where mark.`section_id`=#{sectionId} AND warning.direction=#{direction} + and YEAR(warning.create_time) =DATE_FORMAT(#{createTime},'%Y') GROUP BY warningType @@ -169,18 +171,44 @@ SELECT id FROM dc_stake_mark AS mark WHERE mark.section_id=#{sectionId} + + + + update dc_warning