Browse Source

修改感知相关表桩号id

develop
zhao-meiyu 1 year ago
parent
commit
2e26f84548
  1. 6
      zc-business/src/main/java/com/zc/business/controller/DCPerceivedEventsWarningController.java
  2. 8
      zc-business/src/main/java/com/zc/business/mapper/DcPerceivedEventsWarningMapper.java
  3. 37
      zc-business/src/main/java/com/zc/business/service/impl/DcPerceivedEventsWarningServiceImpl.java
  4. 64
      zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml

6
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));

8
zc-business/src/main/java/com/zc/business/mapper/DcPerceivedEventsWarningMapper.java

@ -61,7 +61,9 @@ public interface DcPerceivedEventsWarningMapper {
List<HashMap<String,Object>> selectWarningEscalation(DcWarning dcWarning);
//修改感知事件信息
Integer updateWarning(DcWarning dcWarning);
//查询事件条数,以桩号和方向,时间作为条件
String selectWarningMarkDay(DcWarning dcWarning);
String selectWarningMarkMonth(DcWarning dcWarning);
List<HashMap<String,String>> selectWarningMarkQuarter(DcWarning dcWarning);
String selectWarningMarkYear(DcWarning dcWarning);
}

37
zc-business/src/main/java/com/zc/business/service/impl/DcPerceivedEventsWarningServiceImpl.java

@ -142,15 +142,40 @@ public class DcPerceivedEventsWarningServiceImpl implements IDCPerceivedEventsWa
@Override
public List<HashMap<String, Object>> selectSectionMark(DcWarning dcWarning) {
ArrayList numList = new ArrayList<>();
String direction = dcWarning.getDirection();
String type = dcWarning.getType();
List<HashMap<String, Object>> mapList = perceivedEventsWarningMapper.selectSectionMark(dcWarning);
for (HashMap<String,Object> list:mapList){
HashMap<String, Object> 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<HashMap<String,String>> 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;
}

64
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
<where>
<if test="warningType != null and warningType != ''"> and warning_type = #{warningType}</if>
<if test="warningSubclass != null and warningSubclass != ''"> and warning_subclass = #{warningSubclass}</if>
@ -30,7 +30,7 @@
</select>
<select id="selectSectionPerceivedEventsList" resultType="hashmap">
SELECT COUNT(1) as number,section.section_name sectionName 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
LEFT JOIN dc_road_section AS section ON mark.section_id=section.id
where DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
group by section.section_name
@ -38,7 +38,7 @@
</select>
<select id="selectSectionPerceivedNumber" resultType="java.util.HashMap">
SELECT COUNT(1) as number,section.section_name sectionName 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
LEFT JOIN dc_road_section AS section ON mark.section_id=section.id
where DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
group by section.section_name
@ -76,7 +76,7 @@
<select id="selectWarningTrendDay" resultType="java.util.HashMap">
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 id="selectWarningTrendMonth" resultType="java.util.HashMap">
SELECT DATE(warning.create_time) AS DAY, 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}
@ -103,7 +103,7 @@
MONTH(warning.create_time) AS MONTH,
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}
@ -112,16 +112,17 @@
</select>
<select id="selectWarningTrendYear" resultType="java.util.HashMap">
SELECT YEAR(warning.create_time) AS YEAR, COUNT(*) AS number
SELECT DATE_FORMAT(warning.create_time,'%Y-%m') AS YEAR, 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 mark.`section_id`=#{sectionId} AND warning.direction=#{direction}
and YEAR(warning.create_time) =DATE_FORMAT(#{createTime},'%Y')
GROUP BY YEAR
</select>
<select id="selectWarningSectionTypeDay" resultType="java.util.HashMap">
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-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
AND warning.direction=#{direction}
and mark.`section_id`=#{sectionId}
@ -131,7 +132,7 @@
<select id="selectWarningSectionTypeMonth" resultType="java.util.HashMap">
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
</select>
@ -169,18 +171,44 @@
SELECT id FROM dc_stake_mark AS mark WHERE mark.section_id=#{sectionId}
</select>
<select id="selectSectionNumber" resultType="java.lang.String">
select count(1) from dc_warning where stake_mark_id=#{stakeMarkId} AND warning.direction=#{direction}
select count(1) from dc_warning where stake_mark_id=#{stakeMarkId} AND direction=#{direction}
</select>
<select id="selectWarningEscalation" resultType="java.util.HashMap">
select org.organization_name,warning.warning_type,warning.warning_subclass,
warning_title,warning.warning_state,warning.
warning_source,DATE_FORMAT(warning.create_time,'%Y-%m-%d %H:%m:%s') createTime from dc_warning as warning
LEFT JOIN dc_stake_mark as mark on warning.stake_mark_id=mark.id
LEFT JOIN dc_organization as org on mark.id=org.stake_mark_id AND mark.direction=org.direction
select ifnull(org.organization_name,"")organizationName, ifnull(warning.warning_type,"")warningType,
ifnull(warning.warning_subclass,"")warningSubclass,ifnull(warning_title,"")warningTitle,
ifnull(warning.warning_state,"")warningState,ifnull(warning.warning_source,"")warningSource,
ifnull(DATE_FORMAT(warning.create_time,'%Y-%m-%d %H:%m:%s'),"") createTime from dc_warning as warning
LEFT JOIN dc_stake_mark as mark on warning.stake_mark_id=mark.stake_mark
LEFT JOIN dc_organization as org on mark.stake_mark=org.stake_mark_id AND mark.direction=org.direction
<where>
<if test="warningState != null and warningState != ''"> and warning.warning_state = #{warningState}</if>
</where>
</select>
<select id="selectWarningMarkDay" resultType="java.lang.String">
select count(1) from dc_warning where stake_mark_id=#{stakeMarkId}
AND direction=#{direction} and DATE(create_time)=DATE_FORMAT(#{createTime},'%Y-%m-%d')
</select>
<select id="selectWarningMarkMonth" resultType="java.lang.String">
select count(1) from dc_warning where stake_mark_id=#{stakeMarkId}
AND direction=#{direction} and DATE_FORMAT(create_time,'%Y-%m') =DATE_FORMAT(#{createTime},'%Y-%m')
</select>
<select id="selectWarningMarkYear" resultType="java.lang.String">
select count(1) from dc_warning where stake_mark_id=#{stakeMarkId}
AND direction=#{direction} and YEAR(create_time) =DATE_FORMAT(#{createTime},'%Y')
</select>
<select id="selectWarningMarkQuarter" resultType="hashmap">
select count(1) number,stake_mark_id stakeMarkId,
CASE
WHEN MONTH(create_time) BETWEEN 1 AND 3 THEN '第一季度'
WHEN MONTH(create_time) BETWEEN 4 AND 6 THEN '第二季度'
WHEN MONTH(create_time) BETWEEN 7 AND 9 THEN '第三季度'
ELSE '第四季度'
END AS QUARTER
from dc_warning where stake_mark_id=#{stakeMarkId}
AND direction=#{direction}
GROUP BY QUARTER
ORDER BY QUARTER;
</select>
<update id="updateWarning">
update dc_warning

Loading…
Cancel
Save