diff --git a/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java b/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java index 6aa9461d..660deb56 100644 --- a/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java +++ b/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java @@ -7,7 +7,6 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.utils.uuid.IdUtils; import com.zc.business.domain.DcWarning; import com.zc.business.service.IDcWarningService; import io.swagger.annotations.Api; @@ -102,12 +101,7 @@ public class NonAutomaticWarningController extends BaseController { client.setCallback(new MqttCallback() { public void connectionLost(Throwable cause) { - System.out.println("断开连接"); - //try { - // eventSubscription(); - //} catch (Exception e) { - // throw new RuntimeException(e); - //} + System.out.println("断开连接.........."); } public void messageArrived(String topic, MqttMessage message) { @@ -122,18 +116,25 @@ public class NonAutomaticWarningController extends BaseController { events.forEach(item -> { JSONObject event = JSONObject.parseObject(String.valueOf(item)); JSONObject data = event.getJSONObject("data"); - String crossingIndexCode = event.getString("crossingIndexCode"); Date happenTime = event.getDate("happenTime"); - String srcName = event.getString("srcName").split("收费站")[1]; + String srcName = event.getString("srcName").split("收费站")[0]; String illegalTrafficEvent = data.getString("illegalTrafficEvent"); String directionName = data.getString("directionName"); String crossingName = data.getString("crossingName"); - String targetPicUrl = data.getString("targetPicUrl"); + String targetPicUrl = "https://10.0.81.28" + data.getString("targetPicUrl"); + String laneNo = data.getString("laneNo"); + ArrayList pictures = new ArrayList<>(); + pictures.add(targetPicUrl); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("pictures", pictures); DcWarning dcWarning = new DcWarning(); - dcWarning.setOtherConfig(jsonObjString); + dcWarning.setOtherConfig(String.valueOf(jsonObject)); + dcWarning.setLane(laneNo); + String warningType = ""; switch (illegalTrafficEvent) { case "congestion"://拥堵 + warningType = "拥堵"; dcWarning.setWarningType(1); break; //case "laneChange"://变道 @@ -149,6 +150,7 @@ public class NonAutomaticWarningController extends BaseController { // dcWarning.setWarningType(); // break; case "llegalParking"://停车 + warningType = "停车"; dcWarning.setWarningType(4); break; //case "crossLane"://压线 @@ -158,22 +160,29 @@ public class NonAutomaticWarningController extends BaseController { // dcWarning.setWarningType(); // break; case "wrongDirection"://逆行 + warningType = "逆行"; dcWarning.setWarningType(5); break; case "pedestrian"://行人 + warningType = "行人"; dcWarning.setWarningType(2); break; case "abandonedObject"://抛洒物 + warningType = "抛洒物"; dcWarning.setWarningType(7); break; default://其他 + warningType = "其他"; dcWarning.setWarningType(99); } + String direction = ""; if (Objects.equals(directionName, "上行")) { + direction = "菏泽方向"; dcWarning.setDirection("1"); } else if (Objects.equals(directionName, "中")) { dcWarning.setDirection("2"); } else if (Objects.equals(directionName, "下行")) { + direction = "济南方向"; dcWarning.setDirection("3"); } dcWarning.setWarningTime(happenTime); @@ -199,7 +208,7 @@ public class NonAutomaticWarningController extends BaseController { } else if (crossingName.startsWith("嘉祥")) { dcWarning.setStakeMark("k190+495"); } - dcWarning.setWarningTitle(crossingName+srcName); + dcWarning.setWarningTitle(srcName + "收费站" + direction + "发生" + warningType + "事件"); dcWarning.setWarningSource(6); dcWarning.setWarningState(1); dcWarningService.insertDcWarning(dcWarning); @@ -224,10 +233,10 @@ public class NonAutomaticWarningController extends BaseController { //System.out.println("开始监听" + topicName.getString("6274883585")); client.subscribe(topicName.getString("6274879489"), 1); System.out.println("开始监听" + topicName.getString("6274879489")); - client.subscribe(topicName.getString("7768236033"), 1); - System.out.println("开始监听" + topicName.getString("7768236033")); - client.subscribe(topicName.getString("7835340801"), 1); - System.out.println("开始监听" + topicName.getString("7835340801")); + //client.subscribe(topicName.getString("7768236033"), 1); + //System.out.println("开始监听" + topicName.getString("7768236033")); + //client.subscribe(topicName.getString("7835340801"), 1); + //System.out.println("开始监听" + topicName.getString("7835340801")); } catch (Exception e) { e.printStackTrace(); } diff --git a/zc-business/src/main/java/com/zc/business/domain/DcEventTrafficControl.java b/zc-business/src/main/java/com/zc/business/domain/DcEventTrafficControl.java index a13c21e7..2b0cffc5 100644 --- a/zc-business/src/main/java/com/zc/business/domain/DcEventTrafficControl.java +++ b/zc-business/src/main/java/com/zc/business/domain/DcEventTrafficControl.java @@ -77,7 +77,7 @@ public class DcEventTrafficControl extends BaseEntity @ApiModelProperty("措施 1-临时关闭2-限行车辆3-限行车道4-限行车道且限行车辆5-间隔放行6-并道行驶 7-限速',") private Long measure; //措施 - @ApiModelProperty("分类 1-主线关闭2-主线限行3-主线间隔放行4-主线并道5-主线限速',") + @ApiModelProperty("分类 1-主线关闭 2-主线限行3-主线间隔放行 4-主线并道 5-主线限速6-收费站关闭7-收费站限行8-收费站分流9-收费站间隔放行10-立交匝道关闭11-立交限行12-立交匝道限行13-立交分流14-服务区关闭,") private Long classify; //分类 @ApiModelProperty("限制类型 1-只允许2-禁止',") private Long limitedType ;//限制类型 diff --git a/zc-business/src/main/java/com/zc/business/domain/DcEventVehicleAccident.java b/zc-business/src/main/java/com/zc/business/domain/DcEventVehicleAccident.java index 08980df8..6001d2fb 100644 --- a/zc-business/src/main/java/com/zc/business/domain/DcEventVehicleAccident.java +++ b/zc-business/src/main/java/com/zc/business/domain/DcEventVehicleAccident.java @@ -78,8 +78,10 @@ public class DcEventVehicleAccident extends BaseEntity 3-行3 4-行4 */ +/* @ApiModelProperty("车道占用:0-应急,1-行1 ,2-行2,3-行3,4-行4") private Long laneOccupancy; +*/ /** 小型车(辆) */ @ApiModelProperty("小型车(辆)") diff --git a/zc-business/src/main/java/com/zc/business/domain/DcWarning.java b/zc-business/src/main/java/com/zc/business/domain/DcWarning.java index e7afdaeb..ec4f5fd5 100644 --- a/zc-business/src/main/java/com/zc/business/domain/DcWarning.java +++ b/zc-business/src/main/java/com/zc/business/domain/DcWarning.java @@ -59,7 +59,7 @@ public class DcWarning extends BaseEntity private Integer warningType; /** 事件子类:1-1 拥堵1-2 缓行 */ - @Excel(name = "事件子类: 1-1 拥堵 1-2 缓行") + @Excel(name = "事件子类: 1-1 拥堵 1-2 缓行 2-1 普通行人") private String warningSubclass; /** 事件标题 */ @@ -69,17 +69,16 @@ public class DcWarning extends BaseEntity /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @Excel(name = "其它配置", readConverterExp = "$column.readConverterExp()") private String otherConfig; /** 车道0-应急 1-行1 2-行2 3-行3 4-行4 */ @Excel(name = "车道0-应急 1-行1 2-行2 3-行3 4-行4") private String lane; /** 所属辖区路段名称 */ - @Excel(name = "所属辖区路段名称") + private String sectionName; /** 数量 */ - @Excel(name = "数量") private int number; private String type; @@ -89,8 +88,19 @@ public class DcWarning extends BaseEntity private String latitude; /** 车辆类型 */ - @Excel(name = "车辆类型") + //@Excel(name = "车辆类型") private String vehicleType; + /** 持续时长 */ + @Excel(name = "持续时长(秒)") + private int duration; + + public int getDuration() { + return duration; + } + + public void setDuration(int duration) { + this.duration = duration; + } public String getVehicleType() { return vehicleType; @@ -295,6 +305,7 @@ public class DcWarning extends BaseEntity .append("warningSubclass", getWarningSubclass()) .append("warningTitle", getWarningTitle()) .append("otherConfig", getOtherConfig()) + .append("duration", getDuration()) .toString(); } } 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 66f8c064..74fdb412 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 @@ -35,7 +35,7 @@ public interface DcPerceivedEventsWarningMapper { List> selectWarningSourceGroup(DcWarning dcWarning); String selectWarningSourceGroupCount(DcWarning dcWarning); //当日感知事件的处置情况占比 - List> selectWarningStateDay(DcWarning dcWarning); + List> selectWarningStateDay(); //感知事件类型占比 List> selectWarningTypeDay(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 3953cd0f..633c24e4 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 @@ -96,10 +96,7 @@ public class DcPerceivedEventsWarningServiceImpl implements IDCPerceivedEventsWa //当日感知事件的处置情况占比 @Override public List> selectWarningStateDay() { - DcWarning dcWarning = new DcWarning(); - Date nowDate = DateUtils.getNowDate(); - dcWarning.setCreateTime(nowDate); - return perceivedEventsWarningMapper.selectWarningStateDay(dcWarning); + return perceivedEventsWarningMapper.selectWarningStateDay(); } //感知事件类型占比 @Override diff --git a/zc-business/src/main/resources/mapper/business/DcInfoBoardVocabularyMapper.xml b/zc-business/src/main/resources/mapper/business/DcInfoBoardVocabularyMapper.xml index 4f828c67..d841c80f 100644 --- a/zc-business/src/main/resources/mapper/business/DcInfoBoardVocabularyMapper.xml +++ b/zc-business/src/main/resources/mapper/business/DcInfoBoardVocabularyMapper.xml @@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml b/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml index 463eae16..ad43d1c9 100644 --- a/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml +++ b/zc-business/src/main/resources/mapper/business/DcPerceivedEventsWarningMapper.xml @@ -15,6 +15,7 @@ @@ -107,7 +118,7 @@ FROM dc_warning as warning LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark=mark.stake_mark WHERE DATE_FORMAT(warning.create_time,'%Y-%m') =DATE_FORMAT(#{createTime},'%Y-%m') - AND warning.direction=#{direction} + AND warning.direction=#{direction} and mark.direction=#{direction} and mark.`section_id`=#{sectionId} GROUP BY day ORDER BY day @@ -125,7 +136,7 @@ FROM dc_warning as warning LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark=mark.stake_mark WHERE YEAR(warning.create_time) =DATE_FORMAT(#{createTime},'%Y') - AND warning.direction=#{direction} + AND warning.direction=#{direction} and mark.direction=#{direction} and mark.`section_id`=#{sectionId} GROUP BY QUARTER, MONTH ORDER BY QUARTER, MONTH; @@ -135,7 +146,7 @@ SELECT 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=mark.stake_mark - where mark.`section_id`=#{sectionId} AND warning.direction=#{direction} + where mark.`section_id`=#{sectionId} AND warning.direction=#{direction} and mark.direction=#{direction} and DATE_FORMAT(warning.create_time,'%Y')=DATE_FORMAT(#{createTime},'%Y') GROUP BY month @@ -143,7 +154,7 @@ SELECT COUNT(*) AS number FROM dc_warning as warning LEFT JOIN dc_stake_mark as mark on warning.stake_mark=mark.stake_mark where DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d') - AND warning.direction=#{direction} + AND warning.direction=#{direction} and mark.direction=#{direction} and mark.`section_id`=#{sectionId} SELECT COUNT(*) AS number FROM dc_warning as warning LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark=mark.stake_mark - where mark.`section_id`=#{sectionId} AND warning.direction=#{direction} + where mark.`section_id`=#{sectionId} AND warning.direction=#{direction} and mark.direction=#{direction} and DATE_FORMAT(warning.create_time,'%Y')=DATE_FORMAT(#{createTime},'%Y') @@ -212,7 +223,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=mark.stake_mark - where mark.`section_id`=#{sectionId} AND warning.direction=#{direction} + where mark.`section_id`=#{sectionId} AND warning.direction=#{direction} and mark.direction=#{direction} and DATE_FORMAT(warning.create_time,'%Y')=DATE_FORMAT(#{createTime},'%Y') GROUP BY warningType @@ -309,6 +320,7 @@ and YEAR(w.create_time) =DATE_FORMAT(#{createTime},'%Y') AND w.direction = #{direction}) sectionNumber FROM dc_stake_mark AS m WHERE m.section_id = #{sectionId} + HAVING sectionNumber!=0 diff --git a/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml b/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml index 525b9702..df5657a4 100644 --- a/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml +++ b/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml @@ -120,7 +120,7 @@ ) t1 LEFT JOIN (SELECT - hour(create_time) hours, + hour(start_time) hours, count(*) num FROM dc_event WHERE date_format(start_time, '%Y-%m-%d') = current_date