Browse Source

Merge remote-tracking branch 'origin/develop' into develop

develop
wangsixiang 9 months ago
parent
commit
d9626f188b
  1. 11
      zc-business/src/main/java/com/zc/business/controller/DcEmergencyPlansController.java
  2. 11
      zc-business/src/main/java/com/zc/business/controller/DcEventController.java
  3. 7
      zc-business/src/main/java/com/zc/business/controller/DcEventProcessController.java
  4. 25
      zc-business/src/main/java/com/zc/business/enums/EventSource.java
  5. 36
      zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java
  6. 12
      zc-business/src/main/java/com/zc/business/mapper/DcEventProcessMapper.java
  7. 11
      zc-business/src/main/java/com/zc/business/mapper/EventPlanAssocMapper.java
  8. 10
      zc-business/src/main/java/com/zc/business/service/DcEmergencyPlansService.java
  9. 12
      zc-business/src/main/java/com/zc/business/service/IDcEventProcessService.java
  10. 2
      zc-business/src/main/java/com/zc/business/service/IDcEventService.java
  11. 43
      zc-business/src/main/java/com/zc/business/service/impl/DcEmergencyPlansServiceImpl.java
  12. 15
      zc-business/src/main/java/com/zc/business/service/impl/DcEventProcessServiceImpl.java
  13. 31
      zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java
  14. 8
      zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java
  15. 1
      zc-business/src/main/resources/mapper/business/DcEventMapper.xml
  16. 5
      zc-business/src/main/resources/mapper/business/DcEventProcessMapper.xml
  17. 34
      zc-business/src/main/resources/mapper/business/DcMeteorologicalDetectorDataMapper.xml
  18. 9
      zc-business/src/main/resources/mapper/business/EventPlanAssocMapper.xml

11
zc-business/src/main/java/com/zc/business/controller/DcEmergencyPlansController.java

@ -132,10 +132,19 @@ public class DcEmergencyPlansController extends BaseController {
*/
@ApiOperation("根据事件id-查询预案事件关联表")
@GetMapping("/event/assoc/{id}")
public AjaxResult eventConfirm(@PathVariable("id") String id) {
public AjaxResult eventConfirmByEventId(@PathVariable("id") String id) {
return AjaxResult.success(dcEmergencyPlansService.selectEventPlanAssocByEventId(id));
}
/**
* 根据id-查询预案事件关联表
*/
@ApiOperation("根据id-查询预案事件关联表")
@GetMapping("/event/assocId/{assocId}")
public AjaxResult eventConfirmById(@PathVariable("assocId") Long assocId) {
return AjaxResult.success(dcEmergencyPlansService.selectEventPlanAssocById(assocId));
}
/**
* 感知事件确定
*/

11
zc-business/src/main/java/com/zc/business/controller/DcEventController.java

@ -98,15 +98,12 @@ public class DcEventController extends BaseController
@ApiOperation("获取事件以及子类详细信息")
//@PreAuthorize("@ss.hasPermi('system:event:query')")
@GetMapping( "/eventSubclass/{eventType}/{id}")
@ApiImplicitParams({
@ApiImplicitParam(name = "eventType", value = "事件类型", dataType = "int"),
@ApiImplicitParam(name = "id", value = "事件id", dataType = "String"),
})
@GetMapping( "/eventSubclass/{id}")
@ApiImplicitParams(@ApiImplicitParam(name = "id", value = "事件id", dataType = "String"))
public AjaxResult getEventById(@PathVariable int eventType,@PathVariable("id") String id)
public AjaxResult getEventById(@PathVariable("id") String id)
{
DcEvent dcEvent = dcEventService.selectEventSubclassById(eventType,id);
DcEvent dcEvent = dcEventService.selectEventSubclassById(id);
return AjaxResult.success(dcEvent);
}

7
zc-business/src/main/java/com/zc/business/controller/DcEventProcessController.java

@ -2,6 +2,7 @@ package com.zc.business.controller;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.config.RuoYiConfig;
@ -100,6 +101,12 @@ public class DcEventProcessController extends BaseController
@Log(title = "事件处理流程", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DcEventProcess dcEventProcess){
if (dcEventProcess.getProcessType() != null && dcEventProcess.getProcessType() == 1){
int status = dcEventProcessService.selectPreviousNodeStatus(dcEventProcess.getEventId(),dcEventProcess.getProcessId());
if (status < 1){
return AjaxResult.error("前置节点未点亮!");
}
}
return toAjax(dcEventProcessService.insertDcEventProcess(dcEventProcess));
}

25
zc-business/src/main/java/com/zc/business/enums/EventSource.java

@ -0,0 +1,25 @@
package com.zc.business.enums;
/**
*
*/
//事件来源枚举
public enum EventSource {
VIDEO_AI(1, "视频AI");
private final Integer code;
private final String description;
EventSource(Integer code, String description) {
this.code = code;
this.description = description;
}
public Integer getCode()
{
return code;
}
public String getDescription() {
return description;
}
}

36
zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java

@ -142,7 +142,7 @@ public class OperationLogAspect {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = df.format(new Date());
String sta = "";
if (Objects.equals(state, "0") && Objects.equals(String.valueOf(((AjaxResult) jsonResult).get("code")), "200")) {
if (Objects.equals(state, "0") && Objects.equals(String.valueOf(((AjaxResult) jsonResult).get("code")), "200") && !Objects.equals(String.valueOf(((AjaxResult) jsonResult).get("msg")), "500") ) {
operLog.setStatus(0);
sta = "成功";
} else {
@ -307,8 +307,38 @@ public class OperationLogAspect {
operLog.setOperIp(IpUtils.getIpAddr(request));
operLog.setOperTime(new Date());
operLog.setDcDeviceType(deviceType);
operLog.setJsonResult(remark.toString());
dcOperLogService.addDcOperLog(operLog);
operLog.setRemark(remark.toString());
operLog.setJsonResult(jsonResult.toString());
dcOperLogService.save(operLog);
if ((Objects.equals(deviceType, "2") || Objects.equals(deviceType, "5")) && Objects.nonNull(operLog.getId())) {
DcPublishManage dcPublishManage = new DcPublishManage();
if (Objects.equals(state, "0") && Objects.equals(String.valueOf(((AjaxResult) jsonResult).get("code")), "200")) {
dcPublishManage.setPublishStatus(1);//发布状态1-成功2-失败
} else {
dcPublishManage.setPublishStatus(2);//发布状态1-成功2-失败
}
if (loginUser != null) {
dcPublishManage.setPublisher(loginUser.getUsername());//发布人
} else {
dcPublishManage.setPublisher("系统定时调用");//发布人
}
dcPublishManage.setPublishTime(new Date());//发布时间
dcPublishManage.setCreateTime(new Date());//创建时间
dcPublishManage.setLogId(Long.valueOf(operLog.getId()));//发布的如果的情报板传对应id
if (Objects.equals(deviceType, "2")) {
dcPublishManage.setPublishChannels(4);
} else {
dcPublishManage.setPublishChannels(7);
}
dcPublishManage.setContentDetails(remark.toString());
dcPublishManageService.insertDcPublishManage(dcPublishManage);
}
}
}

12
zc-business/src/main/java/com/zc/business/mapper/DcEventProcessMapper.java

@ -2,6 +2,7 @@ package com.zc.business.mapper;
import java.util.List;
import com.zc.business.domain.DcEventProcess;
import org.apache.ibatis.annotations.Param;
/**
* 事件处理流程Mapper接口
@ -75,4 +76,15 @@ public interface DcEventProcessMapper
List<DcEventProcess> selectDcDispatchByEventId(String id);
int selectFinalNode(String eventId);
/**
* @Description 查询前置节点状态
*
* @author liuwenge
* @date 2024/5/13 16:08
* @param eventId 事件id
* @param processId 节点id
* @return 状态 0未完成 1已完成
*/
int selectPreviousNodeStatus(@Param("eventId") String eventId, @Param("processId") Long processId);
}

11
zc-business/src/main/java/com/zc/business/mapper/EventPlanAssocMapper.java

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zc.business.domain.EventPlanAssoc;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 预案事件关联Mapper接口
*
@ -19,12 +21,19 @@ public interface EventPlanAssocMapper extends BaseMapper<EventPlanAssoc> {
*/
int insertEventPlanAssoc(EventPlanAssoc eventPlanAssoc);
/**
* 根据id查询事件预案关联
* @param eventPlanAssoc
* @return
*/
EventPlanAssoc selectById(EventPlanAssoc eventPlanAssoc);
/**
* 根据事件id查询事件预案关联
* @param eventPlanAssoc
* @return
*/
EventPlanAssoc selectByEventId(EventPlanAssoc eventPlanAssoc);
List<EventPlanAssoc> selectByEvent(EventPlanAssoc eventPlanAssoc);
/**
* 修改事件预案关联

10
zc-business/src/main/java/com/zc/business/service/DcEmergencyPlansService.java

@ -76,7 +76,15 @@ public interface DcEmergencyPlansService {
* @param eventId 事件id
* @return 结果
*/
EventPlanAssoc selectEventPlanAssocByEventId(String eventId);
List<EventPlanAssoc> selectEventPlanAssocByEventId(String eventId);
/**
* 根据id-查询预案事件关联表
*
* @param id id
* @return 结果
*/
EventPlanAssoc selectEventPlanAssocById(Long id);
/**
* 感知事件确定

12
zc-business/src/main/java/com/zc/business/service/IDcEventProcessService.java

@ -2,6 +2,7 @@ package com.zc.business.service;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.exception.file.InvalidExtensionException;
import com.zc.business.domain.DcEventProcess;
@ -71,4 +72,15 @@ public interface IDcEventProcessService
int deleteDcEventProcessById(Long id);
List<DcEventProcess> selectDcEventProcessListById(String id);
/**
* @Description 查询前置节点状态
*
* @author liuwenge
* @date 2024/5/13 15:57
* @param eventId 事件id
* @param processId 节点id
* @return status 0未完成 1已完成
*/
int selectPreviousNodeStatus(String eventId, Long processId);
}

2
zc-business/src/main/java/com/zc/business/service/IDcEventService.java

@ -90,7 +90,7 @@ public interface IDcEventService
* @param id
* @return
*/
DcEvent selectEventSubclassById(int eventType, String id);
DcEvent selectEventSubclassById(String id);
Map<String,Object> selectCount();

43
zc-business/src/main/java/com/zc/business/service/impl/DcEmergencyPlansServiceImpl.java

@ -557,10 +557,22 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
* @return
*/
@Override
public EventPlanAssoc selectEventPlanAssocByEventId(String eventId) {
public List<EventPlanAssoc> selectEventPlanAssocByEventId(String eventId) {
EventPlanAssoc eventPlanAssoc = new EventPlanAssoc();
eventPlanAssoc.setEventId(eventId);
return eventPlanAssocMapper.selectByEventId(eventPlanAssoc);
return eventPlanAssocMapper.selectByEvent(eventPlanAssoc);
}
/**
* 根据id-查询预案事件关联表
* @param id id
* @return
*/
@Override
public EventPlanAssoc selectEventPlanAssocById(Long id) {
EventPlanAssoc eventPlanAssoc = new EventPlanAssoc();
eventPlanAssoc.setId(id);
return eventPlanAssocMapper.selectById(eventPlanAssoc);
}
/**
@ -735,24 +747,15 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
// 事件编号
eventPlanAssoc.setEventId(id);
eventPlanAssoc.setOperationType(dcEventAnDcEmergencyPlans.getOperationType());
EventPlanAssoc selectEventPlanAssoc = eventPlanAssocMapper.selectByEventId(eventPlanAssoc);
if (selectEventPlanAssoc == null) {
// 执行新增
eventPlanAssoc.setEmergencyPlansId(dcEmergencyPlans.getId());
eventPlanAssoc.setControlDevice(deviceIds.toString().replaceFirst(";", ""));
eventPlanAssoc.setControlResult(resultArray.toJSONString());
eventPlanAssoc.setCreateTime(DateUtils.getNowDate());
eventPlanAssocMapper.insertEventPlanAssoc(eventPlanAssoc);
resultObject.put("eventPlanAssocId",eventPlanAssoc.getId());
}else {
// 执行修改操作
selectEventPlanAssoc.setUpdateTime(DateUtils.getNowDate());
selectEventPlanAssoc.setControlDevice(deviceIds.toString().replaceFirst(";", ""));
selectEventPlanAssoc.setControlResult(resultArray.toJSONString());
eventPlanAssocMapper.updateEventPlanAssoc(selectEventPlanAssoc);
resultObject.put("eventPlanAssocId",selectEventPlanAssoc.getId());
}
// 新增事件预案关联表数据
eventPlanAssoc.setEmergencyPlansId(dcEmergencyPlans.getId());
eventPlanAssoc.setControlDevice(deviceIds.toString().replaceFirst(";", ""));
eventPlanAssoc.setControlResult(resultArray.toJSONString());
eventPlanAssoc.setCreateTime(DateUtils.getNowDate());
eventPlanAssocMapper.insertEventPlanAssoc(eventPlanAssoc);
resultObject.put("eventPlanAssocId",eventPlanAssoc.getId());
DcEventProcess dcEventProcess = new DcEventProcess();
dcEventProcess.setEventId(id);
dcEventProcess.setSource(1);

15
zc-business/src/main/java/com/zc/business/service/impl/DcEventProcessServiceImpl.java

@ -148,4 +148,19 @@ public class DcEventProcessServiceImpl implements IDcEventProcessService
public List<DcEventProcess> selectDcEventProcessListById(String id) {
return dcEventProcessMapper.selectDcDispatchByEventId(id);
}
/**
* @Description 查询前置节点状态
*
* @author liuwenge
* @date 2024/5/13 16:07
* @param eventId 事件id
* @param processId 节点id
* @return 状态 0未完成 1已完成
*/
@Override
public int selectPreviousNodeStatus(String eventId, Long processId){
return dcEventProcessMapper.selectPreviousNodeStatus(eventId,processId);
}
}

31
zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java

@ -6,11 +6,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StakeMarkUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.zc.business.domain.*;
import com.zc.business.enums.EventSubclassEnum;
import com.zc.business.enums.EventTypeEnum;
import com.zc.business.enums.ValueConverter;
import com.zc.business.mapper.*;
import com.zc.business.service.IDcEventProcessService;
@ -140,7 +142,6 @@ public class DcEventServiceImpl extends ServiceImpl<DcEventMapper, DcEvent> impl
String dcEventId = dcEvent.getId();
//获取事件类型
int eventType = Math.toIntExact(dcEvent.getEventType());
@ -666,7 +667,22 @@ public class DcEventServiceImpl extends ServiceImpl<DcEventMapper, DcEvent> impl
*/
@Override
public int updateDcEvent(DcEvent dcEvent) {
DcEvent oldEvent = selectEventSubclassById(dcEvent.getEventType().intValue(), dcEvent.getId());
/* //事件类型校验
for (EventTypeEnum value : EventTypeEnum.values()) {
if (dcEvent.getEventType().toString()==value.getInfo()){
dcEvent.setEventType(Long.valueOf(value.getCode()));
}
}
// 事件子类校验
for (EventSubclassEnum value : EventSubclassEnum.values()) {
if (value.getInfo().equals(dcEvent.getEventSubclass())){
dcEvent.setEventSubclass(value.getCode());
}
}
//事件来源校验*/
DcEvent oldEvent = selectEventSubclassById(dcEvent.getId());
dcEvent.setUpdateTime(DateUtils.getNowDate());
int i7 = dcEventMapper.updateDcEvent(dcEvent);
if (i7 > 0) {
@ -752,8 +768,12 @@ public class DcEventServiceImpl extends ServiceImpl<DcEventMapper, DcEvent> impl
if (dcEvent==null){
continue;
}
// 删除信息发布记录
// todo 删除信息发布记录
dcPublishManageMapper.deleteDcPublishManageEventId(id);
// 删除调度记录资源
dcPublishManageMapper.deleteDisPathSource(id);
//删除调度记录
dcPublishManageMapper.deleteDisPath(id);
int eventType = Math.toIntExact(dcEvent.getEventType());
i7 = dcEventMapper.deleteDcEventById(id);
@ -830,14 +850,15 @@ public class DcEventServiceImpl extends ServiceImpl<DcEventMapper, DcEvent> impl
/**
* 获取事件以及子类详细信息
*
* @param eventType
* @param
* @param id
* @return
*/
@Override
public DcEvent selectEventSubclassById(int eventType, String id) {
public DcEvent selectEventSubclassById(String id) {
//
DcEvent dcEvent = dcEventMapper.selectDcEventById(id);
int eventType = Math.toIntExact(dcEvent.getEventType());
List<DcProcessConfig> processConfigList = dcProcessConfigMapper.selectDcProcessConfigByEventType(Math.toIntExact(dcEvent.getEventType()));
dcEvent.setProcessConfigList(processConfigList);
switch (eventType) {

8
zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java

@ -719,8 +719,9 @@ public class DcWarningServiceImpl implements IDcWarningService
dcWarningMapper.deleteDispatchResource(dispatchId);//删除全部属于该调度记录下的全部资源
ArrayList<Map<String,Object>> employeesArray = (ArrayList<Map<String,Object>>) map.get("employees");//取出人员
String context = "路管人员";
String context = "";
if (employeesArray!=null&&employeesArray.size()>0) {
context += "路管人员";
for (Map<String,Object> array : employeesArray) {
dcDispatchResource.setDispatchType(1);//类型
dcDispatchResource.setResourceId(Long.valueOf(array.get("id").toString()));//资源id
@ -736,7 +737,10 @@ public class DcWarningServiceImpl implements IDcWarningService
}
ArrayList<Map<String,Object>> vehicleArray = (ArrayList<Map<String,Object>>) map.get("vehicle");////取出车辆
if (vehicleArray!=null&&vehicleArray.size()>0) {
context += ",救援车辆";
if (context.length() > 0){
context += ",";
}
context += "救援车辆";
for (Map<String,Object> array : vehicleArray) {
dcDispatchResource.setDispatchType(2);
dcDispatchResource.setResourceId(Long.valueOf(array.get("id").toString()));

1
zc-business/src/main/resources/mapper/business/DcEventMapper.xml

@ -487,6 +487,7 @@
WHEN '2' THEN '已完成'
WHEN '3' THEN '已撤销'
END AS stringEventState,
dc_event.event_source,
CASE dc_event.event_source
WHEN '1' THEN '96659'
WHEN '2' THEN '交警转接'

5
zc-business/src/main/resources/mapper/business/DcEventProcessMapper.xml

@ -145,4 +145,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where t1.id = #{eventId};
</select>
<select id="selectPreviousNodeStatus" resultType="java.lang.Integer">
select count(*) from dc_event_process
where event_id = #{eventId} and process_type = '1' and process_id = #{processId} - 1
</select>
</mapper>

34
zc-business/src/main/resources/mapper/business/DcMeteorologicalDetectorDataMapper.xml

@ -175,34 +175,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
date;
</select>
<select id="selectStatisticsTime" resultMap="countMap" resultType="map">
SELECT
h.time_slot,
DATE(dc.create_time) AS date,
COALESCE(ROUND(AVG(dc.temperature), 2), 0) AS avg_temperature,
COALESCE(ROUND(AVG(dc.visibility), 2), 0) AS avg_visibility
FROM
(
SELECT 0 AS time_slot UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4
UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13
UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17
UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21
UNION ALL SELECT 22 UNION ALL SELECT 23
) AS h
LEFT JOIN
dc_meteorological_detector_data dc
ON
SELECT dc.visibility,dc.temperature,
CONCAT(
LPAD(HOUR(dc.create_time), 2, '0'),
':',
LPAD(MINUTE(dc.create_time), 2, '0')
) AS date
FROM dc_meteorological_detector_data dc
<where>
<if test="specificDate != null and specificDate !=''">
DATE(dc.create_time) = #{specificDate}
</if>
<if test="specificDate == null or specificDate=='' ">
DATE(dc.create_time) = CURDATE()
</if>
AND HOUR(dc.create_time) = h.time_slot
AND dc.device_name = #{deviceName}
GROUP BY
h.time_slot,
date;
</where>
ORDER BY
dc.create_time ASC
</select>

9
zc-business/src/main/resources/mapper/business/EventPlanAssocMapper.xml

@ -44,9 +44,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from event_plan_assoc
</sql>
<select id="selectByEventId" parameterType="EventPlanAssoc" resultType="EventPlanAssoc">
<select id="selectById" parameterType="EventPlanAssoc" resultType="EventPlanAssoc">
<include refid="selectEventPlanAssocVo"/>
where event_id = #{eventId} and operation_type = #{operationType}
where id = #{id}
</select>
<select id="selectByEvent" parameterType="EventPlanAssoc" resultType="EventPlanAssoc">
<include refid="selectEventPlanAssocVo"/>
where event_id = #{eventId}
</select>
<update id="updateEventPlanAssoc" parameterType="EventPlanAssoc">

Loading…
Cancel
Save