diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
index b67b57b9..b6f7bd65 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -8,6 +8,7 @@ import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
+import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
@@ -184,4 +185,15 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
return Date.from(zdt.toInstant());
}
+ /**
+ * 获取当前时间,time分钟后的时间
+ */
+ public static Date getObtainDateAfter(int time){
+ Date now = new Date();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(now);
+ calendar.add(Calendar.MINUTE, time);
+ Date fiveMinutesLater = calendar.getTime();
+ return fiveMinutesLater;
+ }
}
diff --git a/zc-business/pom.xml b/zc-business/pom.xml
index 6b870a73..6f82f0b0 100644
--- a/zc-business/pom.xml
+++ b/zc-business/pom.xml
@@ -71,6 +71,18 @@
poi-tl
1.9.1
+
+
+ com.aliyun
+ aliyun-java-sdk-core
+ 4.6.3
+
+
+
+ com.aliyun
+ aliyun-java-sdk-dysmsapi
+ 2.2.1
+
com.zc
diff --git a/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java b/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java
index d3aed00c..2afa2dc7 100644
--- a/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java
+++ b/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java
@@ -19,6 +19,7 @@ import com.zc.common.core.httpclient.exception.HttpException;
import com.zc.common.core.httpclient.request.RequestParams;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Parameter;
import okhttp3.Response;
import org.springframework.beans.factory.annotation.Value;
@@ -574,4 +575,21 @@ public class DcDeviceController extends BaseController {
return JSON.parseObject(response.body().string(), AjaxResult.class);
}
+
+
+ /**
+ * @Description 查询上游10公里内的情报板
+ *
+ * @author liuwenge
+ * @date 2024/4/15 14:22
+ * @param stakeMark
+ * @param direction
+ * @return com.ruoyi.common.core.domain.AjaxResult
+ */
+ @ApiOperation("查询上游10公里内的情报板")
+ @PostMapping("/selectNearBoard")
+ public AjaxResult selectNearBoard(@ApiParam(value="桩号", name="stakeMark", required=true) @RequestParam ("stakeMark") String stakeMark,
+ @ApiParam(value="方向", name="direction", required=true) @RequestParam ("direction") String direction){
+ return dcDeviceService.selectNearBoard(stakeMark,direction);
+ }
}
diff --git a/zc-business/src/main/java/com/zc/business/controller/DcEmergencyPlansController.java b/zc-business/src/main/java/com/zc/business/controller/DcEmergencyPlansController.java
index f260969a..9f5b213f 100644
--- a/zc-business/src/main/java/com/zc/business/controller/DcEmergencyPlansController.java
+++ b/zc-business/src/main/java/com/zc/business/controller/DcEmergencyPlansController.java
@@ -63,13 +63,14 @@ public class DcEmergencyPlansController extends BaseController {
public AjaxResult listByEventType(@RequestBody DcEvent dcEvent) {
List dcEmergencyPlansList = dcEmergencyPlansService.selectDcEmergencyPlansByEventType(dcEvent);
+ dcEmergencyPlansService.dispositionDeviceContent(dcEmergencyPlansList,dcEvent);
return AjaxResult.success(dcEmergencyPlansList);
}
/**
* 感知事件-根据事件数据查询事件预案列表
*/
- @ApiOperation("感知事件-根据事件数据查询事件预案列表")
+// @ApiOperation("感知事件-根据事件数据查询事件预案列表")
@PreAuthorize("@ss.hasPermi('business:plans:list')")
@PostMapping("/list/warning/type")
public AjaxResult listByEventType(@RequestBody DcWarning dcWarning) {
@@ -91,7 +92,7 @@ public class DcEmergencyPlansController extends BaseController {
/**
* 感知事件-情报板确认回显原始模板
*/
- @ApiOperation("感知事件-情报板确认回显原始模板")
+// @ApiOperation("感知事件-情报板确认回显原始模板")
@PreAuthorize("@ss.hasPermi('business:plans:list')")
@PostMapping("/warning/board/confirm")
public AjaxResult warningBoardConfirm(@RequestBody DcEventAnDcEmergencyPlans dcEventAnDcEmergencyPlans) {
@@ -101,7 +102,7 @@ public class DcEmergencyPlansController extends BaseController {
/**
* 感知事件-情报板自动生成文字
*/
- @ApiOperation("感知事件-情报板自动生成文字")
+// @ApiOperation("感知事件-情报板自动生成文字")
@PostMapping("/warning/automatic")
public AjaxResult warningAutomaticGeneration(@RequestBody DcEventAnDcEmergencyPlans dcEventAnDcEmergencyPlans) {
return AjaxResult.success(dcEmergencyPlansService.warningAutomaticGeneration(dcEventAnDcEmergencyPlans));
@@ -110,7 +111,7 @@ public class DcEmergencyPlansController extends BaseController {
/**
* 交通事件-情报板自动生成文字
*/
- @ApiOperation("交通事件-情报板自动生成文字")
+// @ApiOperation("交通事件-情报板自动生成文字")
@PostMapping("/event/automatic")
public AjaxResult eventAutomaticGeneration(@RequestBody DcEventAnDcEmergencyPlans dcEventAnDcEmergencyPlans) {
return AjaxResult.success(dcEmergencyPlansService.eventAutomaticGeneration(dcEventAnDcEmergencyPlans));
@@ -138,7 +139,7 @@ public class DcEmergencyPlansController extends BaseController {
/**
* 感知事件确定
*/
- @ApiOperation("感知事件确认")
+// @ApiOperation("感知事件确认")
@PreAuthorize("@ss.hasPermi('business:plans:edit')")
@PostMapping("/warning/confirm")
public AjaxResult warningConfirm(@RequestBody DcEventAnDcEmergencyPlans dcEventAnDcEmergencyPlans) {
@@ -149,7 +150,7 @@ public class DcEmergencyPlansController extends BaseController {
* 新增事件预案
*/
@ApiOperation("新增预案")
-// @PreAuthorize("@ss.hasPermi('business:plans:add')")
+ @PreAuthorize("@ss.hasPermi('business:plans:add')")
@PostMapping
public AjaxResult add(@RequestBody DcEmergencyPlans dcEmergencyPlans) {
return toAjax(dcEmergencyPlansService.insertDcEmergencyPlans(dcEmergencyPlans));
@@ -159,7 +160,7 @@ public class DcEmergencyPlansController extends BaseController {
* 修改事件预案
*/
@ApiOperation("修改预案")
-// @PreAuthorize("@ss.hasPermi('business:plans:edit')")
+ @PreAuthorize("@ss.hasPermi('business:plans:edit')")
@PutMapping
public AjaxResult update(@RequestBody DcEmergencyPlans dcEmergencyPlans) {
return toAjax(dcEmergencyPlansService.updateDcEmergencyPlans(dcEmergencyPlans));
diff --git a/zc-business/src/main/java/com/zc/business/controller/DcEventController.java b/zc-business/src/main/java/com/zc/business/controller/DcEventController.java
index 6d5d060b..7a2899a7 100644
--- a/zc-business/src/main/java/com/zc/business/controller/DcEventController.java
+++ b/zc-business/src/main/java/com/zc/business/controller/DcEventController.java
@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse;
import com.zc.business.domain.DcEvent;
import com.zc.business.service.IDcEventService;
+import com.zc.common.core.websocket.WebSocketService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -94,6 +95,7 @@ public class DcEventController extends BaseController
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
+
DcEvent dcEvent = dcEventService.selectDcEventById(id);
return AjaxResult.success(dcEvent);
}
@@ -122,10 +124,8 @@ public class DcEventController extends BaseController
//@PreAuthorize("@ss.hasPermi('system:event:add')")
@Log(title = "事件信息", businessType = BusinessType.INSERT)
@PostMapping
-
public AjaxResult add(@RequestBody DcEvent dcEvent)
{
-
return toAjax(dcEventService.insertDcEvent(dcEvent));
}
@@ -161,5 +161,57 @@ public class DcEventController extends BaseController
return map;
}
+ @ApiOperation("根据事件id修改事件状态")
+ // @PreAuthorize("@ss.hasPermi('system:event:edit')")
+ @Log(title = "事件信息", businessType = BusinessType.UPDATE)
+ @PutMapping("/dcEventState/{id}/{state}")
+ public AjaxResult dcEventState(@PathVariable("id") String id,@PathVariable("state") int state)
+ {
+
+ return toAjax(dcEventService.updateDcEventState(id,state));
+ }
+
+
+ /**
+ * @Description 查询事件流程状态
+ *
+ * @author liuwenge
+ * @date 2024/4/11 11:19
+ * @param eventId 事件id
+ * @return com.ruoyi.common.core.domain.AjaxResult
+ */
+ @ApiOperation("查询事件流程状态")
+ @GetMapping( "/getProcessNode/{eventId}")
+ public AjaxResult getProcessNode(@ApiParam(name = "eventId", value = "事件id", required = true) @PathVariable("eventId") String eventId){
+ return dcEventService.getProcessNode(eventId);
+ }
+
+ /**
+ * @Description 解除事件
+ *
+ * @author liuwenge
+ * @date 2024/4/11 14:12
+ * @param eventId
+ * @return com.ruoyi.common.core.domain.AjaxResult
+ */
+ @ApiOperation("解除事件")
+ @PostMapping("/completeEvent")
+ public AjaxResult completeEvent(String eventId){
+ return dcEventService.completeEvent(eventId);
+ }
+
+ /**
+ * @Description 解除事件
+ *
+ * @author liuwenge
+ * @date 2024/4/11 14:12
+ * @param eventId
+ * @return com.ruoyi.common.core.domain.AjaxResult
+ */
+ @ApiOperation("无需清障")
+ @PostMapping("/skipClear")
+ public AjaxResult skipClear(String eventId){
+ return dcEventService.skipClear(eventId);
+ }
}
diff --git a/zc-business/src/main/java/com/zc/business/controller/DcEventImportantController.java b/zc-business/src/main/java/com/zc/business/controller/DcEventImportantController.java
new file mode 100644
index 00000000..f1fb84bc
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/controller/DcEventImportantController.java
@@ -0,0 +1,98 @@
+package com.zc.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.zc.business.domain.DcEventImportant;
+import com.zc.business.service.IDcEventImportantService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 事件侧重要素Controller
+ *
+ * @author ruoyi
+ * @date 2024-04-11
+ */
+@RestController
+@RequestMapping("/business/eventImportant")
+public class DcEventImportantController extends BaseController
+{
+ @Autowired
+ private IDcEventImportantService dcEventImportantService;
+
+ /**
+ * 查询事件侧重要素列表
+ */
+ @GetMapping("/list")
+ public TableDataInfo list(DcEventImportant dcEventImportant)
+ {
+ startPage();
+ List list = dcEventImportantService.selectDcEventImportantList(dcEventImportant);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出事件侧重要素列表
+ */
+ @Log(title = "事件侧重要素", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, DcEventImportant dcEventImportant)
+ {
+ List list = dcEventImportantService.selectDcEventImportantList(dcEventImportant);
+ ExcelUtil util = new ExcelUtil<>(DcEventImportant.class);
+ util.exportExcel(response, list, "事件侧重要素数据");
+ }
+
+ /**
+ * 获取事件侧重要素详细信息
+ */
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") String id)
+ {
+ return AjaxResult.success(dcEventImportantService.selectDcEventImportantByEventId(id));
+ }
+
+ /**
+ * 新增事件侧重要素
+ */
+ @Log(title = "事件侧重要素", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody DcEventImportant dcEventImportant)
+ {
+ return toAjax(dcEventImportantService.insertDcEventImportant(dcEventImportant));
+ }
+
+ /**
+ * 修改事件侧重要素
+ */
+ @Log(title = "事件侧重要素", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody DcEventImportant dcEventImportant)
+ {
+ return toAjax(dcEventImportantService.updateDcEventImportant(dcEventImportant));
+ }
+
+ /**
+ * 删除事件侧重要素
+ */
+ @Log(title = "事件侧重要素", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable String[] ids)
+ {
+ return toAjax(dcEventImportantService.deleteDcEventImportantByEventIds(ids));
+ }
+}
diff --git a/zc-business/src/main/java/com/zc/business/controller/DcEventImportantFileController.java b/zc-business/src/main/java/com/zc/business/controller/DcEventImportantFileController.java
new file mode 100644
index 00000000..2ea37c94
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/controller/DcEventImportantFileController.java
@@ -0,0 +1,174 @@
+package com.zc.business.controller;
+
+import java.io.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.servlet.http.HttpServletResponse;
+
+import com.zc.business.utils.PoiUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.zc.business.domain.DcEventImportantFile;
+import com.zc.business.service.IDcEventImportantFileService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 重要事件文件内容Controller
+ *
+ * @author ruoyi
+ * @date 2024-04-12
+ */
+@Api(tags = "重要事件文件内容")
+@RestController
+@RequestMapping("/business/eventImportantFile")
+public class DcEventImportantFileController extends BaseController
+{
+ @Autowired
+ private IDcEventImportantFileService dcEventImportantFileService;
+
+ /**
+ * 分页查询重要事件文件内容
+ */
+ @ApiOperation("分页查询重要事件文件内容")
+ @GetMapping("/page")
+ public TableDataInfo page(DcEventImportantFile dcEventImportantFile)
+ {
+ startPage();
+ List list = dcEventImportantFileService.selectDcEventImportantFileList(dcEventImportantFile);
+ return getDataTable(list);
+ }
+
+ /**
+ * 无分页查询重要事件文件内容列表
+ */
+ @ApiOperation("无分页查询重要事件文件内容列表")
+ @GetMapping("/list")
+ public List list(DcEventImportantFile dcEventImportantFile)
+ {
+ return dcEventImportantFileService.selectDcEventImportantFileList(dcEventImportantFile);
+ }
+
+ /**
+ * 导出重要事件文件内容列表
+ */
+ @Log(title = "重要事件文件内容", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, DcEventImportantFile dcEventImportantFile)
+ {
+ List list = dcEventImportantFileService.selectDcEventImportantFileList(dcEventImportantFile);
+ ExcelUtil util = new ExcelUtil<>(DcEventImportantFile.class);
+ util.exportExcel(response, list, "重要事件文件内容数据");
+ }
+
+ /**
+ * 下载重要事件文件
+ */
+ @ApiOperation("下载重要事件文件")
+ @Log(title = "下载重要事件文件", businessType = BusinessType.EXPORT)
+ @PostMapping("/download")
+ public void download(HttpServletResponse response, DcEventImportantFile dcEventImportantFile)
+ {
+ InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("wordTemplate/importantTemplate.docx");
+
+ XWPFDocument document = null;
+ try {
+
+
+ //获取docx解析对象
+ document = new XWPFDocument(inputStream);
+ Map textMap = new HashMap<>();
+ textMap.put("${fromDept}",dcEventImportantFile.getFromDept());
+ textMap.put("${createTime}",dcEventImportantFile.getCreateTime());
+ textMap.put("${title}",dcEventImportantFile.getTitle());
+ textMap.put("${toDept}",dcEventImportantFile.getToDept());
+ textMap.put("${content}",dcEventImportantFile.getContent());
+ textMap.put("${createName}",dcEventImportantFile.getCreateName());
+ textMap.put("${phoneNumber}",dcEventImportantFile.getPhoneNumber());
+ textMap.put("${issued}",dcEventImportantFile.getIssued());
+
+ //解析替换文本段落对象
+ PoiUtil.changeText(document, textMap);
+
+ document.write(response.getOutputStream());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }finally {
+ if (inputStream != null) {
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ }
+
+ /**
+ * 获取重要事件文件内容详细信息
+ */
+ @ApiOperation("获取重要事件文件内容详细信息")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") String id)
+ {
+ return AjaxResult.success(dcEventImportantFileService.selectDcEventImportantFileByEventId(id));
+ }
+
+ /**
+ * 新增重要事件文件内容
+ */
+ @ApiOperation("新增重要事件文件内容")
+ @Log(title = "重要事件文件内容", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody DcEventImportantFile dcEventImportantFile)
+ {
+ return toAjax(dcEventImportantFileService.insertDcEventImportantFile(dcEventImportantFile));
+ }
+
+ /**
+ * 修改重要事件文件内容
+ */
+ @ApiOperation("修改重要事件文件内容")
+ @Log(title = "重要事件文件内容", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody DcEventImportantFile dcEventImportantFile)
+ {
+ return toAjax(dcEventImportantFileService.updateDcEventImportantFile(dcEventImportantFile));
+ }
+
+ /**
+ * 删除重要事件文件内容
+ */
+ @ApiOperation("删除重要事件文件内容")
+ @Log(title = "重要事件文件内容", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable String[] ids)
+ {
+ return toAjax(dcEventImportantFileService.deleteDcEventImportantFileByEventIds(ids));
+ }
+
+ /**
+ * 获取重要事件状态
+ */
+ @ApiOperation("获取重要事件状态")
+ @GetMapping("/getImportantFileStatus/{eventId}")
+ public AjaxResult getImportantFileStatus(@PathVariable("eventId") String eventId){
+ return dcEventImportantFileService.getImportantFileStatus(eventId);
+ }
+}
diff --git a/zc-business/src/main/java/com/zc/business/controller/DcEventProcessController.java b/zc-business/src/main/java/com/zc/business/controller/DcEventProcessController.java
index 275ee8ce..79e0fcf7 100644
--- a/zc-business/src/main/java/com/zc/business/controller/DcEventProcessController.java
+++ b/zc-business/src/main/java/com/zc/business/controller/DcEventProcessController.java
@@ -47,9 +47,18 @@ public class DcEventProcessController extends BaseController
* 查询事件处理流程列表
*/
@ApiOperation("查询事件处理流程列表")
- // @PreAuthorize("@ss.hasPermi('system:process:list')")
@GetMapping("/list")
- public TableDataInfo list(DcEventProcess dcEventProcess)
+ public List list(DcEventProcess dcEventProcess)
+ {
+ return dcEventProcessService.selectDcEventProcessList(dcEventProcess);
+ }
+
+ /**
+ * 分页查询事件处理流程列表
+ */
+ @ApiOperation("分页查询事件处理流程列表")
+ @GetMapping("/page")
+ public TableDataInfo page(DcEventProcess dcEventProcess)
{
startPage();
List list = dcEventProcessService.selectDcEventProcessList(dcEventProcess);
@@ -90,12 +99,7 @@ public class DcEventProcessController extends BaseController
// @PreAuthorize("@ss.hasPermi('system:process:add')")
@Log(title = "事件处理流程", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@RequestBody DcEventProcess dcEventProcess) throws IOException, InvalidExtensionException {
- //如果有文件传入
- if(!dcEventProcess.getFile().isEmpty()){
- String address =FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), dcEventProcess.getFile(), MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
- dcEventProcess.setContext(address);
- }
+ public AjaxResult add(@RequestBody DcEventProcess dcEventProcess){
return toAjax(dcEventProcessService.insertDcEventProcess(dcEventProcess));
}
diff --git a/zc-business/src/main/java/com/zc/business/controller/DcWarningController.java b/zc-business/src/main/java/com/zc/business/controller/DcWarningController.java
index 29c9a7c9..aa45c5f4 100644
--- a/zc-business/src/main/java/com/zc/business/controller/DcWarningController.java
+++ b/zc-business/src/main/java/com/zc/business/controller/DcWarningController.java
@@ -1,6 +1,9 @@
package com.zc.business.controller;
+import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
+import com.zc.business.domain.DcDispatch;
+import com.zc.business.domain.DcDispatchResource;
import com.zc.business.domain.DcWarningBatchConvert;
import com.zc.business.service.IDcWarningService;
import com.ruoyi.common.annotation.Log;
@@ -10,12 +13,16 @@ import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.zc.business.domain.DcWarning;
+import com.zc.business.service.IDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -29,6 +36,7 @@ import java.util.List;
* @date 2024-01-26
*/
@Api(tags = "感知事件")
+@Component
@RestController
@RequestMapping("/business/warning")
public class DcWarningController extends BaseController
@@ -36,6 +44,11 @@ public class DcWarningController extends BaseController
@Autowired
private IDcWarningService dcWarningService;
+ //定时任务,定时结束部分事件
+ public void updateEndSection(){
+ IDcWarningService ben = SpringUtils.getBean(IDcWarningService.class);
+ ben.updateEndSection();
+ }
/**
* 查询预警信息列表
*/
@@ -136,4 +149,23 @@ public class DcWarningController extends BaseController
return dcWarningService.batchConvert(dcWarningBatchConvert);
}
+
+ //指挥调度
+ @PostMapping("/commandAndDispatch")
+ public AjaxResult commandAndDispatch(@RequestBody DcWarning dcWarning){
+ if (StringUtils.isBlank(dcWarning.getStakeMark())){
+ return AjaxResult.error("参数错误");
+ }
+ return (dcWarningService.commandAndDispatch(dcWarning));
+ }
+ //指挥调度记录新增
+ @PostMapping("/insertDispatch")
+ public AjaxResult insertDispatch(@RequestBody DcDispatch dcDispatch){
+ return AjaxResult.success(dcWarningService.insertDispatch(dcDispatch));
+ }
+ //指挥调度资源新增
+ @PostMapping("/insertSource")
+ public AjaxResult insertDispatchSource(@RequestBody DcDispatchResource dcDispatchResource){
+ return toAjax(dcWarningService.insertDispatchSource(dcDispatchResource));
+ }
}
diff --git a/zc-business/src/main/java/com/zc/business/controller/MsmController.java b/zc-business/src/main/java/com/zc/business/controller/MsmController.java
new file mode 100644
index 00000000..10a3070d
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/controller/MsmController.java
@@ -0,0 +1,103 @@
+package com.zc.business.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.zc.business.domain.DcWarning;
+import com.zc.business.service.IMsmService;
+import com.zc.business.utils.HttpUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.omg.CORBA.INTERNAL;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.lang.reflect.Array;
+import java.rmi.MarshalledObject;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * 王思祥
+ * 推送业务
+ */
+@RestController
+@RequestMapping("/business/sms")
+public class MsmController extends BaseController {
+ @Autowired
+ private IMsmService msmService;
+
+ /**
+ * 短信推送业务,阿里云短信业务
+ */
+ @PostMapping("/push")
+ public Boolean alibabaCloudSms(@RequestBody HashMap map)
+ {
+ String type = map.get("type").toString();
+ if (map==null|| StringUtils.isBlank(map.get("phone").toString())){
+ return false;
+ }
+ String string = map.get("phone").toString();
+ return msmService.send(string);
+ }
+
+ //调用微信推送
+ @PostMapping("/wenXinPush")
+ public AjaxResult commandAndDispatch(@RequestBody HashMap map){
+ return AjaxResult.success(msmService.wenXinSend("wx9ee0e3babfd8d2af","de2ecb80b30d63135918ba3ae6ffb711"));
+ }
+ //整合推送
+ @PostMapping("/pushAll")
+ public AjaxResult pushAll(@RequestBody HashMap map)
+ {
+ if (map == null || StringUtils.isBlank(map.get("type").toString())) {
+ return AjaxResult.error("参数错误");
+ }
+ ArrayList array = (ArrayList) map.get("type");
+ Boolean send = null;
+ Integer data = null;
+ String weiXin = "微信推送失败"; // 初始化为成功状态
+ String message = "短信推送失败"; // 初始化为失败状态
+ for (String type : array) {
+ if ("1".equals(type)) { //短信
+ if (map == null || StringUtils.isBlank(map.get("phone").toString())) {
+ return AjaxResult.error("手机号为空");
+ }
+ String string = map.get("phone").toString();
+ send = msmService.send(string);
+ continue;
+ }
+ if ("2".equals(type)) { //微信
+ JSONArray objects = msmService.wenXinSend("wx9ee0e3babfd8d2af", "de2ecb80b30d63135918ba3ae6ffb711");
+ data = (Integer) objects.get(0);
+ continue;
+ }
+ }
+ if (send==null){
+ message=null;
+ }else if (send){
+ message = "短信推送成功"; // 如果 send 为 true,则短信推送成功
+ }
+ if (data==null){
+ weiXin=null;
+ }else if (data==0){
+ weiXin = "微信推送成功"; // 如果所有 dateValue 都为0,则微信推送成功
+ }
+ if (message!=null&&"短信推送成功".equals(message) &&weiXin!=null&&"微信推送成功".equals(weiXin)) {
+ return AjaxResult.success(message +","+ weiXin);
+ } else if (message==null&&weiXin!=null&&"微信推送成功".equals(weiXin)){
+ return AjaxResult.success(weiXin);
+ }else if (message!=null&&"短信推送成功".equals(message)&&weiXin==null){
+ return AjaxResult.success(message);
+ }else if (message!=null&&"短信推送失败".equals(message)&&weiXin==null){
+ return AjaxResult.error(message);
+ }else if (message==null&&"微信推送失败".equals(weiXin)){
+ return AjaxResult.error(weiXin);
+ }else {
+ return AjaxResult.error(message +","+ weiXin);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/zc-business/src/main/java/com/zc/business/controller/VideoController.java b/zc-business/src/main/java/com/zc/business/controller/VideoController.java
index 7c374ad6..9365d7f6 100644
--- a/zc-business/src/main/java/com/zc/business/controller/VideoController.java
+++ b/zc-business/src/main/java/com/zc/business/controller/VideoController.java
@@ -401,7 +401,7 @@ public class VideoController extends BaseController {
public Object nearCamPileNum(@ApiParam(value = "桩号", name = "pileNum", required = true) String pileNum) throws HttpException, IOException {
// 获取济菏运管中心相机信息
- JSONObject camInfo = getCamByDept("1301730");
+ /*JSONObject camInfo = getCamByDept("1301730");
if (!camInfo.containsKey("data")) {
return camInfo;
@@ -435,8 +435,17 @@ public class VideoController extends BaseController {
.filter(item -> "1".equals(item.get("camOrientation")) && Integer.parseInt(item.get("distance").toString()) < 2000)
.sorted(comparing(item -> Integer.parseInt(item.get("distance").toString())))
.collect(Collectors.toList());
- result.put("downCamera",downCameraList);
+ result.put("downCamera",downCameraList);*/
+
+ Map result = new HashMap<>();
+ Integer pileNumDistance = pileNumTransformMetre(pileNum);
+ String startMileage = String.valueOf(pileNumDistance - 2000);
+ String endMileage = String.valueOf(pileNumDistance + 2000);
+ List upCameraList = iDcDeviceService.selectNearCamPile("1",startMileage,endMileage);
+ List downCameraList = iDcDeviceService.selectNearCamPile("3",startMileage,endMileage);
+ result.put("upCamera",upCameraList);
+ result.put("downCamera",downCameraList);
return AjaxResult.success(result);
}
diff --git a/zc-business/src/main/java/com/zc/business/controller/WeiboAuthUtil.java b/zc-business/src/main/java/com/zc/business/controller/WeiboAuthUtil.java
new file mode 100644
index 00000000..d1d03258
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/controller/WeiboAuthUtil.java
@@ -0,0 +1,95 @@
+package com.zc.business.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+/**
+ * @author 王思祥
+ * @ClassName DcWarningPush 微博推送
+ */
+
+public class WeiboAuthUtil {
+ //1.登录传入重定向的url,用户授权后返回授权的code,2.使用code取得认证权限token 3.调用接口参数
+ //1.登录获取用户的回调code
+ private static final String APP_KEY = "你的App Key";
+ private static final String AUTH_URL = "https://api.weibo.com/oauth2/authorize";
+ private static final String APP_SECRET = "你的App Secret";
+ private static final String REDIRECT_URI = "你的回调URL";
+ //获取授权后的code
+ public String tokenCode(){
+ String url="https://api.weibo.com/oauth2/authorize?client_id="+APP_KEY+"&redirect_uri="+AUTH_URL;
+ String token=null;
+ try {
+ URL urlGet = new URL(url); //创建链接
+ HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
+ http.setRequestMethod("GET");
+ http.setDoInput(true); //打开获取返回数据
+ http.connect(); //发送链接
+ InputStream is = http.getInputStream(); //
+ int size = is.available();
+ byte[] jsonBytes = new byte[size];
+ is.read(jsonBytes);
+ token = new String(jsonBytes, "UTF-8");
+ System.err.println(token);
+ JSONObject jsonObject = JSONObject.parseObject(token);
+ is.close();
+ return jsonObject.get("code").toString();
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return "";
+ }
+ //获取toke
+ public String token(String code)throws IOException {
+ HttpClient httpClient = HttpClients.createDefault();
+ String tokenUrl = REDIRECT_URI + "?client_id=" + APP_KEY
+ + "&client_secret=" + APP_SECRET
+ + "&grant_type=authorization_code"
+ + "&code=" + code
+ + "&redirect_uri=" + URLEncoder.encode(REDIRECT_URI, "UTF-8");
+ HttpGet httpGet = new HttpGet(tokenUrl);
+ HttpResponse response = httpClient.execute(httpGet);
+ HttpEntity entity = response.getEntity();
+ if (entity != null) {
+ String responseBody = EntityUtils.toString(entity, "UTF-8");
+ org.json.JSONObject jsonObject = new org.json.JSONObject(responseBody);
+ return jsonObject.optString("access_token");
+ }
+ return null;
+ }
+
+ //执行调用推送api
+ public static void main(String[] args) throws Exception {
+ WeiboAuthUtil weiboAuthUtil = new WeiboAuthUtil();
+ String code = weiboAuthUtil.tokenCode();
+ String accessToken = weiboAuthUtil.token(code);//认证后的code放入,获取token
+ // 创建HttpClient实例
+ try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
+ // 构建请求URL,这里以获取用户信息为例
+ String url = "https://api.weibo.com/2/users/show.json?access_token=" + accessToken + "&uid=用户UID";
+ // 创建HttpGet请求
+ HttpGet httpGet = new HttpGet(url);
+ // 执行请求并获取响应
+ try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
+ HttpEntity entity = response.getEntity();
+ if (entity != null) {
+ // 读取响应内容
+ String responseString = EntityUtils.toString(entity, "UTF-8");
+ System.out.println(responseString);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcDispatch.java b/zc-business/src/main/java/com/zc/business/domain/DcDispatch.java
index c128c2e5..6a2e9ed8 100644
--- a/zc-business/src/main/java/com/zc/business/domain/DcDispatch.java
+++ b/zc-business/src/main/java/com/zc/business/domain/DcDispatch.java
@@ -52,6 +52,42 @@ private String organizationName;
private Date endTime;
+ /** 1-人员2-车辆 */
+ @Excel(name = "1-人员 2-车辆")
+ private Integer dispatchType;
+
+ /** $column.columnComment */
+ @Excel(name = "资源id", readConverterExp = "$column.readConverterExp()")
+ private Long resourceId;
+
+ /** $column.columnComment */
+ @Excel(name = "调度记录id", readConverterExp = "$column.readConverterExp()")
+ private Long dispatchId;
+
+ public Integer getDispatchType() {
+ return dispatchType;
+ }
+
+ public void setDispatchType(Integer dispatchType) {
+ this.dispatchType = dispatchType;
+ }
+
+ public Long getResourceId() {
+ return resourceId;
+ }
+
+ public void setResourceId(Long resourceId) {
+ this.resourceId = resourceId;
+ }
+
+ public Long getDispatchId() {
+ return dispatchId;
+ }
+
+ public void setDispatchId(Long dispatchId) {
+ this.dispatchId = dispatchId;
+ }
+
public String getOrganizationName() {
return organizationName;
}
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcDispatchResource.java b/zc-business/src/main/java/com/zc/business/domain/DcDispatchResource.java
new file mode 100644
index 00000000..7f9f318d
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/domain/DcDispatchResource.java
@@ -0,0 +1,79 @@
+package com.zc.business.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 调度信息记录对象 dc_dispatch_resource
+ *
+ * @author ruoyi
+ * @date 2024-04-15
+ */
+public class DcDispatchResource extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** $column.columnComment */
+ private Long id;
+
+ /** 1-人员2-车辆 */
+ @Excel(name = "1-人员 2-车辆")
+ private Integer dispatchType;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Long resourceId;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Long dispatchId;
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+ public void setDispatchType(Integer dispatchType)
+ {
+ this.dispatchType = dispatchType;
+ }
+
+ public Integer getDispatchType()
+ {
+ return dispatchType;
+ }
+ public void setResourceId(Long resourceId)
+ {
+ this.resourceId = resourceId;
+ }
+
+ public Long getResourceId()
+ {
+ return resourceId;
+ }
+ public void setDispatchId(Long dispatchId)
+ {
+ this.dispatchId = dispatchId;
+ }
+
+ public Long getDispatchId()
+ {
+ return dispatchId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("dispatchType", getDispatchType())
+ .append("resourceId", getResourceId())
+ .append("dispatchId", getDispatchId())
+ .toString();
+ }
+}
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcEmployees.java b/zc-business/src/main/java/com/zc/business/domain/DcEmployees.java
index a5fe4c71..ef2635f2 100644
--- a/zc-business/src/main/java/com/zc/business/domain/DcEmployees.java
+++ b/zc-business/src/main/java/com/zc/business/domain/DcEmployees.java
@@ -49,6 +49,27 @@ public class DcEmployees extends BaseEntity
private String organizationName;
private Long parentId;
+ //人员类型1为路管人员2为应急人员
+ @Excel(name = "人员类型 1-路管人员 2-交警人员")
+ private Long employeesType;
+ //类型参数
+ private String type;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public Long getEmployeesType() {
+ return employeesType;
+ }
+
+ public void setEmployeesType(Long employeesType) {
+ this.employeesType = employeesType;
+ }
public Long getParentId() {
return parentId;
@@ -130,6 +151,7 @@ public class DcEmployees extends BaseEntity
.append("contactNumber", getContactNumber())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
+ .append("employeesType", getEmployeesType())
.toString();
}
}
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcEvent.java b/zc-business/src/main/java/com/zc/business/domain/DcEvent.java
index 172107f8..aa171517 100644
--- a/zc-business/src/main/java/com/zc/business/domain/DcEvent.java
+++ b/zc-business/src/main/java/com/zc/business/domain/DcEvent.java
@@ -229,6 +229,10 @@ public class DcEvent {
private List processConfigList;
@ApiModelProperty("事件标题")
private String eventTitle;
+@ApiModelProperty("维度")
+ private String dimension;
+@ApiModelProperty("经度")
+ private String longitude;
/**
* 2014/2/21新增
*/
@@ -298,6 +302,6 @@ public class DcEvent {
private String remark;
private String subclass;
-
-
+@ApiModelProperty("关联管制事件id")
+private String linkId;
}
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcEventImportant.java b/zc-business/src/main/java/com/zc/business/domain/DcEventImportant.java
new file mode 100644
index 00000000..39a73626
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/domain/DcEventImportant.java
@@ -0,0 +1,183 @@
+package com.zc.business.domain;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description 事件侧重要素
+ *
+ * @author liuwenge
+ * @date 2024/4/11 18:28
+ */
+@ApiModel("事件侧重要素")
+public class DcEventImportant
+{
+
+ @ApiModelProperty(value = "事件id")
+ private String id;
+
+ @ApiModelProperty(value = "事件id")
+ private String eventId;
+
+ @ApiModelProperty(value = "车型及车牌号")
+ private String plateNumber;
+
+ @ApiModelProperty(value = "分流点名称及桩号")
+ private String diversionPoint;
+
+ @ApiModelProperty(value = "目前进度")
+ private String currentProgress;
+
+ @ApiModelProperty(value = "已采取措施")
+ private String takeSteps;
+
+ @ApiModelProperty(value = "是否启动预案")
+ private Integer planStatus;
+
+ @ApiModelProperty(value = "交警是否到达")
+ private Integer trafficPoliceStatus;
+
+ @ApiModelProperty(value = "医疗是否到达")
+ private Integer medicalStatus;
+
+ @ApiModelProperty(value = "消防是否到达")
+ private Integer fireStatus;
+
+ @ApiModelProperty(value = "是否做好情报板提示工作")
+ private Integer boardStatus;
+
+ @ApiModelProperty(value = "是否有危化品泄漏")
+ private Integer chemicalsStatus;
+
+ @ApiModelProperty(value = "预案等级")
+ private String planLevel;
+
+ @ApiModelProperty(value = "危化品名称")
+ private String chemicalsName;
+
+ @ApiModelProperty(value = "危化品泄露程度")
+ private String leakageLevel;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getEventId() {
+ return eventId;
+ }
+
+ public void setEventId(String eventId) {
+ this.eventId = eventId;
+ }
+
+ public String getPlateNumber() {
+ return plateNumber;
+ }
+
+ public void setPlateNumber(String plateNumber) {
+ this.plateNumber = plateNumber;
+ }
+
+ public String getDiversionPoint() {
+ return diversionPoint;
+ }
+
+ public void setDiversionPoint(String diversionPoint) {
+ this.diversionPoint = diversionPoint;
+ }
+
+ public String getCurrentProgress() {
+ return currentProgress;
+ }
+
+ public void setCurrentProgress(String currentProgress) {
+ this.currentProgress = currentProgress;
+ }
+
+ public String getTakeSteps() {
+ return takeSteps;
+ }
+
+ public void setTakeSteps(String takeSteps) {
+ this.takeSteps = takeSteps;
+ }
+
+ public Integer getPlanStatus() {
+ return planStatus;
+ }
+
+ public void setPlanStatus(Integer planStatus) {
+ this.planStatus = planStatus;
+ }
+
+ public Integer getTrafficPoliceStatus() {
+ return trafficPoliceStatus;
+ }
+
+ public void setTrafficPoliceStatus(Integer trafficPoliceStatus) {
+ this.trafficPoliceStatus = trafficPoliceStatus;
+ }
+
+ public Integer getMedicalStatus() {
+ return medicalStatus;
+ }
+
+ public void setMedicalStatus(Integer medicalStatus) {
+ this.medicalStatus = medicalStatus;
+ }
+
+ public Integer getFireStatus() {
+ return fireStatus;
+ }
+
+ public void setFireStatus(Integer fireStatus) {
+ this.fireStatus = fireStatus;
+ }
+
+ public Integer getBoardStatus() {
+ return boardStatus;
+ }
+
+ public void setBoardStatus(Integer boardStatus) {
+ this.boardStatus = boardStatus;
+ }
+
+ public Integer getChemicalsStatus() {
+ return chemicalsStatus;
+ }
+
+ public void setChemicalsStatus(Integer chemicalsStatus) {
+ this.chemicalsStatus = chemicalsStatus;
+ }
+
+ public String getPlanLevel() {
+ return planLevel;
+ }
+
+ public void setPlanLevel(String planLevel) {
+ this.planLevel = planLevel;
+ }
+
+ public String getChemicalsName() {
+ return chemicalsName;
+ }
+
+ public void setChemicalsName(String chemicalsName) {
+ this.chemicalsName = chemicalsName;
+ }
+
+ public String getLeakageLevel() {
+ return leakageLevel;
+ }
+
+ public void setLeakageLevel(String leakageLevel) {
+ this.leakageLevel = leakageLevel;
+ }
+}
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcEventImportantFile.java b/zc-business/src/main/java/com/zc/business/domain/DcEventImportantFile.java
new file mode 100644
index 00000000..400dbb98
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/domain/DcEventImportantFile.java
@@ -0,0 +1,173 @@
+package com.zc.business.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 重要事件文件内容对象 dc_event_important_file
+ *
+ * @author ruoyi
+ * @date 2024-04-12
+ */
+public class DcEventImportantFile
+{
+ private static final long serialVersionUID = 1L;
+
+ private Long id;
+
+ /** 事件id */
+ private String eventId;
+
+ /** 报送单位 */
+ @Excel(name = "报送单位")
+ private String fromDept;
+
+ /** 报送时间 */
+ @Excel(name = "报送时间")
+ private String createTime;
+
+ /** 标题 */
+ @Excel(name = "标题")
+ private String title;
+
+ /** 发至单位 */
+ @Excel(name = "发至单位")
+ private String toDept;
+
+ /** 内容 */
+ @Excel(name = "内容")
+ private String content;
+
+ /** 填报人 */
+ @Excel(name = "填报人")
+ private String createName;
+
+ /** 联系电话 */
+ @Excel(name = "联系电话")
+ private String phoneNumber;
+
+ /** 签发人 */
+ @Excel(name = "签发人")
+ private String issued;
+
+ /** 类型 1:初报,2续报,3终报 */
+ @Excel(name = "类型 1:初报,2续报,3终报")
+ private String type;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public void setEventId(String eventId)
+ {
+ this.eventId = eventId;
+ }
+
+ public String getEventId()
+ {
+ return eventId;
+ }
+ public void setFromDept(String fromDept)
+ {
+ this.fromDept = fromDept;
+ }
+
+ public String getFromDept()
+ {
+ return fromDept;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public void setTitle(String title)
+ {
+ this.title = title;
+ }
+
+ public String getTitle()
+ {
+ return title;
+ }
+ public void setToDept(String toDept)
+ {
+ this.toDept = toDept;
+ }
+
+ public String getToDept()
+ {
+ return toDept;
+ }
+ public void setContent(String content)
+ {
+ this.content = content;
+ }
+
+ public String getContent()
+ {
+ return content;
+ }
+ public void setCreateName(String createName)
+ {
+ this.createName = createName;
+ }
+
+ public String getCreateName()
+ {
+ return createName;
+ }
+ public void setPhoneNumber(String phoneNumber)
+ {
+ this.phoneNumber = phoneNumber;
+ }
+
+ public String getPhoneNumber()
+ {
+ return phoneNumber;
+ }
+ public void setIssued(String issued)
+ {
+ this.issued = issued;
+ }
+
+ public String getIssued()
+ {
+ return issued;
+ }
+ public void setType(String type)
+ {
+ this.type = type;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("eventId", getEventId())
+ .append("fromDept", getFromDept())
+ .append("createTime", getCreateTime())
+ .append("title", getTitle())
+ .append("toDept", getToDept())
+ .append("content", getContent())
+ .append("createName", getCreateName())
+ .append("phoneNumber", getPhoneNumber())
+ .append("issued", getIssued())
+ .append("type", getType())
+ .toString();
+ }
+}
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcEventProcess.java b/zc-business/src/main/java/com/zc/business/domain/DcEventProcess.java
index 4295717d..be0ab666 100644
--- a/zc-business/src/main/java/com/zc/business/domain/DcEventProcess.java
+++ b/zc-business/src/main/java/com/zc/business/domain/DcEventProcess.java
@@ -47,17 +47,14 @@ public class DcEventProcess
private Integer source;
/** 1-节点
- 2-信息发布
+ 2-信息发布
+ 3-设备管控
+ 4-文件生成
*/
- @ApiModelProperty(value="流程类型")
- @Excel(name = "1-节点 2-信息发布 ")
+ @ApiModelProperty(value="流程类型 1-节点,2-信息发布,3-设备管控,4-文件生成")
+ @Excel(name = "流程类型")
private Integer processType;
- /** $column.columnComment */
- @ApiModelProperty("内容")
- @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
- private String context;
-
/** $column.columnComment */
@ApiModelProperty("流程ID")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@@ -68,6 +65,20 @@ public class DcEventProcess
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String processName;
+ /** $column.columnComment */
+ @ApiModelProperty("内容")
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String context;
+
+ /** $column.type */
+ @ApiModelProperty("内容类型")
+ @Excel(name = "${type}", readConverterExp = "$column.readConverterExp()")
+ private String type;
+
+ @ApiModelProperty("上传文件")
+ private MultipartFile file;
+
+
public MultipartFile getFile() {
return file;
}
@@ -76,9 +87,6 @@ public class DcEventProcess
this.file = file;
}
- @ApiModelProperty("上传文件")
- private MultipartFile file;
-
public void setId(Long id)
{
this.id = id;
@@ -161,6 +169,14 @@ public class DcEventProcess
return processName;
}
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -173,6 +189,7 @@ public class DcEventProcess
.append("context", getContext())
.append("processId", getProcessId())
.append("processName", getProcessName())
+ .append("type", getType())
.toString();
}
}
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 2b0cffc5..32c2b6fa 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
@@ -97,4 +97,6 @@ public class DcEventTrafficControl extends BaseEntity
@TableField(exist = false)
private DcFacility dcFacility;
+ @TableField(exist = false)
+ private Long[] facilityIds; // 数组存储多个设备ID
}
diff --git a/zc-business/src/main/java/com/zc/business/domain/DcVehicles.java b/zc-business/src/main/java/com/zc/business/domain/DcVehicles.java
index db198893..14b314e7 100644
--- a/zc-business/src/main/java/com/zc/business/domain/DcVehicles.java
+++ b/zc-business/src/main/java/com/zc/business/domain/DcVehicles.java
@@ -27,7 +27,7 @@ public class DcVehicles extends BaseEntity
private String vehiclePlate;
/** 车辆类型 */
- @Excel(name = "车辆类型")
+ @Excel(name = "车辆类型",readConverterExp = "1=吊车,2=清障车,3=高空作业车,4=水车,5=除雪车")
private Integer vehicleType;
/** 1-可用2-使用中 */
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 e67f7faa..311ca679 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
@@ -98,7 +98,7 @@ public class DcWarning extends BaseEntity
//事件原因
private String eventCause;
//完结时间
- @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date endTime;
//操作员
private String userName;
diff --git a/zc-business/src/main/java/com/zc/business/domain/EventPlanAssoc.java b/zc-business/src/main/java/com/zc/business/domain/EventPlanAssoc.java
index 162d32e4..d41b8c5d 100644
--- a/zc-business/src/main/java/com/zc/business/domain/EventPlanAssoc.java
+++ b/zc-business/src/main/java/com/zc/business/domain/EventPlanAssoc.java
@@ -36,16 +36,17 @@ public class EventPlanAssoc {
private Integer emergencyPlansId;
/**
- * 执行控制设备 (设备id用逗号隔开)
+ * 控制类型 1执行此操作 2恢复操作
*/
- @ApiModelProperty("执行控制设备")
- private String executingControlDevice;
+ @ApiModelProperty("控制类型")
+ private Integer operationType;
/**
- * 恢复控制设备 (设备id用逗号隔开)
+ * 控制设备 (设备id用逗号隔开)
*/
- @ApiModelProperty("恢复控制设备")
- private String recoveredControlDevice;
+ @ApiModelProperty("控制设备")
+ private String controlDevice;
+
@ApiModelProperty("创建时间")
private Date createTime;
@@ -56,11 +57,5 @@ public class EventPlanAssoc {
* 执行操作结果
*/
@ApiModelProperty("执行操作结果")
- private String executingControlResult;
-
- /**
- * 恢复操作结果
- */
- @ApiModelProperty("恢复操作结果")
- private String recoveredControlResult;
+ private String controlResult;
}
diff --git a/zc-business/src/main/java/com/zc/business/enums/EventSubclassEnum.java b/zc-business/src/main/java/com/zc/business/enums/EventSubclassEnum.java
index 061e773d..68e8059b 100644
--- a/zc-business/src/main/java/com/zc/business/enums/EventSubclassEnum.java
+++ b/zc-business/src/main/java/com/zc/business/enums/EventSubclassEnum.java
@@ -5,28 +5,34 @@ package com.zc.business.enums;
* @author wangjiabao
*/
public enum EventSubclassEnum {
- REAR_END_COLLISION("1-1", "追尾","前方发生追尾 注意避让"),
- ROLLOVER("1-2", "侧翻","前方发生侧翻 注意避让"),
- COLLISION_WITH_GUARDRAIL("1-3", "撞护栏","前方车撞击护栏注意避让"),
- NATURAL("1-4", "自然","前方发生自然现象请注意"),
- OTHER_ACCIDENTS("1-5", "其他事故","前方发生事故谨慎驾驶"),
- VEHICLE_MALFUNCTION("2-1", "车辆故障","前方发生故障注意避让"),
- ROAD_CONGESTION("4-1", "道路拥堵","前方道路拥堵"),
- OVERPASS_CONGESTION("4-2", "立交拥堵","前方立交拥堵"),
- TOLL_STATION_CONGESTION("4-3", "收费站拥堵","前方收费站拥堵"),
- SERVICE_AREA_CONGESTION("4-4", "服务区拥堵","前方服务区拥堵"),
- PEDESTRIAN("5-1", "行人","有行人穿行请注意"),
- NON_MOTOR_VEHICLES("5-2", "非机动车","有非机动车上路请注意"),
- MOTORCYCLE("5-3", "摩托车","有摩托车上路请注意"),
- OTHER("5-4", "其他","有非法上路车辆"),
- SMOKE("6-1", "烟雾","烟雾道路请注意驾驶"),
- FALLEN_TREES("6-2", "倒伏树木","有倒伏树木请注意"),
- SCATTERED_MATERIALS("6-3", "洒落物","有洒落物请注意"),
- ANIMAL("6-4", "动物","有动物请注意"),
- OTHER_OBSTACLES("6-5", "其他障碍","有不明障碍请注意"),
- CLOSED_OR_SUSPENDED_OPERATIONS("8-1", "封闭、暂停营业","服务区封闭、暂停营业"),
- SHUTDOWN_OF_IMPORTANT_FACILITIES("8-2", "重要设施停用","服务区重要设施停用"),
- OTHER_ABNORMALITIES_IN_THE_SERVICE_AREA("8-3", "服务区其他异常","服务区设备停用"),
+ REAR_END_COLLISION("1-1", "追尾","前方*发生追尾 注意避让"),
+ ROLLOVER("1-2", "侧翻","前方*发生侧翻 注意避让"),
+ COLLISION_WITH_GUARDRAIL("1-3", "撞护栏","前方*车撞击护栏注意避让"),
+ NATURAL("1-4", "自然","前方*发生自然现象请注意"),
+ OTHER_ACCIDENTS("1-5", "其他事故","前方*发生事故谨慎驾驶"),
+ VEHICLE_MALFUNCTION("2-1", "车辆故障","前方*发生故障注意避让"),
+ THE_MAIN_LINE_IS_CLOSED_AND_RESTRICTED("3-1", "主线封闭和限行","前方*主线封闭和限行"),
+ TOLL_BOOTHS_ARE_CLOSED_AND_RESTRICTED("3-2", "收费站封闭和限行","前方*收费站封闭和限行"),
+ THE_INTERCHANGE_IS_CLOSED_AND_RESTRICTED("3-3", "立交封闭和限行","前方*立交封闭和限行"),
+ THE_SERVICE_AREA_IS_CLOSED_AND_RESTRICTED("3-4", "服务区封闭和限行","前方*服务区封闭和限行"),
+
+
+ ROAD_CONGESTION("4-1", "道路拥堵","前方*道路拥堵"),
+ OVERPASS_CONGESTION("4-2", "立交拥堵","前方*立交拥堵"),
+ TOLL_STATION_CONGESTION("4-3", "收费站拥堵","前方*收费站拥堵"),
+ SERVICE_AREA_CONGESTION("4-4", "服务区拥堵","前方*服务区拥堵"),
+ PEDESTRIAN("5-1", "行人","前方*有行人穿行请注意"),
+ NON_MOTOR_VEHICLES("5-2", "非机动车","前方*有非机动车上路请注意"),
+ MOTORCYCLE("5-3", "摩托车","前方*有摩托车上路请注意"),
+ OTHER("5-4", "其他","前方*有非法上路车辆"),
+ SMOKE("6-1", "烟雾","前方*烟雾道路请注意驾驶"),
+ FALLEN_TREES("6-2", "倒伏树木","前方*有倒伏树木请注意"),
+ SCATTERED_MATERIALS("6-3", "洒落物","前方*有洒落物请注意"),
+ ANIMAL("6-4", "动物","前方*有动物请注意"),
+ OTHER_OBSTACLES("6-5", "其他障碍","前方*有不明障碍请注意"),
+ CLOSED_OR_SUSPENDED_OPERATIONS("8-1", "封闭、暂停营业","前方*服务区封闭、暂停营业"),
+ SHUTDOWN_OF_IMPORTANT_FACILITIES("8-2", "重要设施停用","前方*服务区重要设施停用"),
+ OTHER_ABNORMALITIES_IN_THE_SERVICE_AREA("8-3", "服务区其他异常","前方*服务区设备停用"),
RAIN("10-1", "雨","雨天请谨慎驾驶"),
SNOW("10-2", "雪","雪天路滑请谨慎驾驶"),
HEAVY_FOG("10-3", "大雾","大雾天气请谨慎驾驶"),
diff --git a/zc-business/src/main/java/com/zc/business/enums/ValueConverter.java b/zc-business/src/main/java/com/zc/business/enums/ValueConverter.java
index 8409dd4e..5af2c2d5 100644
--- a/zc-business/src/main/java/com/zc/business/enums/ValueConverter.java
+++ b/zc-business/src/main/java/com/zc/business/enums/ValueConverter.java
@@ -22,6 +22,13 @@ public class ValueConverter {
private static final Map valueMappingSon = new HashMap<>();
// 静态映射,用于存储转换关系 事件源转换
private static final Map valueMappingSource = new HashMap<>();
+ // 事件来源名称
+ private static final Map eventSourceName = new HashMap<>();
+ // 事件类型名称
+ private static final Map eventTypeName = new HashMap<>();
+ // 事件字段
+ private static final Map eventLabel = new HashMap<>();
+
static {
valueMappingSource.put(1,5);
valueMappingSource.put(4,7);
@@ -87,6 +94,135 @@ public class ValueConverter {
valueMappingSon.put("11-2", "2-1");
valueMappingSon.put("11-3", "2-1");
valueMappingSon.put("99-1", "11-1");
+
+ eventSourceName.put("1","96659");
+ eventSourceName.put("2","交警转接");
+ eventSourceName.put("3","道路巡查");
+ eventSourceName.put("4","视频巡查");
+ eventSourceName.put("5","视频AI");
+ eventSourceName.put("6","一键救援");
+ eventSourceName.put("7","其他");
+
+ eventTypeName.put("1","交通事故");
+ eventTypeName.put("2","车辆故障");
+ eventTypeName.put("3","交通管制");
+ eventTypeName.put("4","交通拥堵");
+ eventTypeName.put("5","非法上路");
+ eventTypeName.put("6","路障清除");
+ eventTypeName.put("7","施工建设");
+ eventTypeName.put("8","服务区异常");
+ eventTypeName.put("9","设施设备隐患");
+ eventTypeName.put("10","异常天气");
+ eventTypeName.put("11","其他事件");
+
+ eventLabel.put("id","事件编号");
+ eventLabel.put("deptId","所属部门");
+ eventLabel.put("stakeMark","桩号");
+ eventLabel.put("direction","方向");
+ eventLabel.put("userId","处理人员");
+ eventLabel.put("startTime","开始时间");
+ eventLabel.put("endTime","结束时间");
+ eventLabel.put("estimatedEndTime","预计解除时间");
+ eventLabel.put("eventLevel","事件等级");
+// eventLabel.put("eventType","事件类型");
+ eventLabel.put("eventCause","事件原因");
+ eventLabel.put("description","描述");
+ eventLabel.put("eventState","状态");
+ eventLabel.put("eventSource","来源");
+// eventLabel.put("eventNature","事件性质");
+ eventLabel.put("eventSourceTips","来源补充说明");
+ eventLabel.put("occurrenceTime","发生时间");
+// eventLabel.put("isPerceived","是否感知事件");
+ eventLabel.put("lang","影响车道");
+ eventLabel.put("roadName","高速名称");
+ eventLabel.put("eventTitle","时间标题");
+ eventLabel.put("remark","备注");
+ eventLabel.put("dcEventAbnormalWeather.weatherSituation","天气情况");
+ eventLabel.put("dcEventAbnormalWeather.emergencyLevel","紧急级别");
+ eventLabel.put("dcEventAbnormalWeather.endStakeMark","终止桩号");
+ eventLabel.put("dcEventAbnormalWeather.numericalValue","异常天气数值");
+ eventLabel.put("dcEventAccident.reporterName","报警人姓名");
+ eventLabel.put("dcEventAccident.reporterPhoneNumber","报警人电话");
+ eventLabel.put("dcEventAccident.locationType","地点");
+ eventLabel.put("dcEventAccident.trafficJam","压车(公里)");
+ eventLabel.put("dcEventAccident.weatherCondition","天气情况");
+ eventLabel.put("dcEventAccident.impactLevel","影响");
+ eventLabel.put("dcEventAccident.isReverseCargo","是否倒货");
+ eventLabel.put("dcEventAccident.isMaintenance","是否养护事故");
+ eventLabel.put("dcEventAccident.policeContact","交警电话");
+ eventLabel.put("dcEventAccident.towingServiceContact","清障电话");
+ eventLabel.put("dcEventAccident.congestionAhead","前方是否拥堵");
+ eventLabel.put("dcEventAccident.atIntersection","是否分岔口");
+ eventLabel.put("dcEventAccident.onCurve","是否处在弯道");
+ eventLabel.put("dcEventAccident.spillageItem","洒落物名称");
+ eventLabel.put("dcEventAccident.vehicleOwnerPhone","车主电话");
+ eventLabel.put("dcEventAccident.smallCar","小型车(辆)");
+ eventLabel.put("dcEventAccident.trucks","货车(辆)");
+ eventLabel.put("dcEventAccident.buses","客车(辆)");
+ eventLabel.put("dcEventAccident.tankers","罐车(辆)");
+ eventLabel.put("dcEventAccident.minorInjuries","轻伤(人)");
+ eventLabel.put("dcEventAccident.seriousInjuries","重伤(人)");
+ eventLabel.put("dcEventAccident.fatalities","死亡(人)");
+ eventLabel.put("dcEventAccident.isPrivate","私密事件");
+ eventLabel.put("dcEventAccident.facilityId","设施关联");
+ eventLabel.put("dcEventAccident.rampId","匝道id");
+ eventLabel.put("dcEventAccident.location","地点");
+ eventLabel.put("dcEventConstruction.controlMode","管制方式");
+ eventLabel.put("dcEventConstruction.locationType","地点类型");
+ eventLabel.put("dcEventConstruction.specialPlaceDescription","特殊地点描述");
+ eventLabel.put("dcEventConstruction.specialConstruction","专项施工");
+ eventLabel.put("dcEventConstruction.otherConstructionName","其他施工名称");
+ eventLabel.put("dcEventConstruction.constructionMeasurement","施工措施");
+ eventLabel.put("dcEventConstruction.facilityId","设施id");
+ eventLabel.put("dcEventConstruction.exitsInlets","出入口");
+ eventLabel.put("dcEventConstruction.laneOccupancy","占用车道");
+ eventLabel.put("dcEventConstruction.trafficCondition","通行情况");
+ eventLabel.put("dcEventConstruction.constructionMethod","施工方式");
+ eventLabel.put("dcEventConstruction.localRoadName","地方道路名称");
+ eventLabel.put("dcEventConstruction.endStakeMark","结束桩号");
+ eventLabel.put("dcEventConstruction.location","地点");
+ eventLabel.put("dcEventServiceArea.exitsInlets","出入口");
+ eventLabel.put("dcEventServiceArea.facilityId","服务区");
+ eventLabel.put("dcEventServiceArea.disableFacility","停用设施");
+ eventLabel.put("dcEventTrafficCongestion.congestionMileage","拥堵里程(公里)");
+ eventLabel.put("dcEventTrafficCongestion.maxCongestionMileage","最大拥堵里程(公里)");
+ eventLabel.put("dcEventTrafficCongestion.congestionCause","拥堵原因");
+ eventLabel.put("dcEventTrafficCongestion.facilityId","设施id");
+ eventLabel.put("dcEventTrafficCongestion.rampId","匝道");
+ eventLabel.put("dcEventTrafficCongestion.location","地点");
+ eventLabel.put("dcEventTrafficCongestion.detailedReasons","详细原因");
+ eventLabel.put("dcEventTrafficCongestion.locationType","地点类型");
+ eventLabel.put("dcEventTrafficCongestion.locationDescription","地点描述");
+ eventLabel.put("dcEventTrafficCongestion.endStakeMark","终止桩号");
+ eventLabel.put("dcEventVehicleAccident.reporterName","报警人姓名");
+ eventLabel.put("dcEventVehicleAccident.reporterPhoneNumber","报警人电话");
+ eventLabel.put("dcEventVehicleAccident.locationType","地点方式");
+ eventLabel.put("dcEventVehicleAccident.trafficJam","压车(公里)");
+ eventLabel.put("dcEventVehicleAccident.weatherCondition","天气情况");
+ eventLabel.put("dcEventVehicleAccident.congestionAhead","前方是否拥堵");
+ eventLabel.put("dcEventVehicleAccident.atIntersection","是否分岔口");
+ eventLabel.put("dcEventVehicleAccident.onCurve","是否处在弯道");
+ eventLabel.put("dcEventVehicleAccident.smallCar","小型车(辆)");
+ eventLabel.put("dcEventVehicleAccident.trucks","货车(辆)");
+ eventLabel.put("dcEventVehicleAccident.buses","客车(辆)");
+ eventLabel.put("dcEventVehicleAccident.tankers","罐车(辆)");
+ eventLabel.put("dcEventVehicleAccident.minorInjuries","轻伤(人)");
+ eventLabel.put("dcEventVehicleAccident.seriousInjuries","重伤(人)");
+ eventLabel.put("dcEventVehicleAccident.fatalities","死亡(人)");
+ eventLabel.put("dcEventVehicleAccident.isPrivate","私密事件");
+ eventLabel.put("dcEventVehicleAccident.facilityId","设施id");
+ eventLabel.put("dcEventVehicleAccident.rampId","匝道");
+ eventLabel.put("dcEventVehicleAccident.location","地点");
+ eventLabel.put("dcEventTrafficControl.controlType","管制分类");
+ eventLabel.put("dcEventTrafficControl.controlCause","管制原因");
+ eventLabel.put("dcEventTrafficControl.exitsInlets","出入口");
+ eventLabel.put("dcEventTrafficControl.facilityId","设施id");
+ eventLabel.put("dcEventTrafficControl.rampId","匝道");
+ eventLabel.put("dcEventTrafficControl.causeType","原因类型");
+ eventLabel.put("dcEventTrafficControl.measure","措施");
+ eventLabel.put("dcEventTrafficControl.classify","分类");
+ eventLabel.put("dcEventTrafficControl.limitedType","限制类型");
+// eventLabel.put("dcEventTrafficControl.vehicleType","车辆类型");
}
}
@@ -100,6 +236,18 @@ public class ValueConverter {
public static Map getValueMappingSource() {
return ValueMappingHolder.valueMappingSource;
}
+
+ public static Map getEventSourceName() {
+ return ValueMappingHolder.eventSourceName;
+ }
+
+ public static Map getEventTypeName() {
+ return ValueMappingHolder.eventTypeName;
+ }
+
+ public static Map getEventLabel() {
+ return ValueMappingHolder.eventLabel;
+ }
/**
* 根据输入值返回转换后的值
* 如果输入值不在映射中,则返回输入值本身
@@ -118,6 +266,22 @@ public class ValueConverter {
Map mapping = getValueMappingSource();
return mapping.getOrDefault(inputValue, inputValue);
}
+
+
+ public static String eventSourceName(String inputValue) {
+ Map mapping = getEventSourceName();
+ return mapping.getOrDefault(inputValue, inputValue);
+ }
+
+ public static String eventTypeName(String inputValue) {
+ Map mapping = getEventTypeName();
+ return mapping.getOrDefault(inputValue, inputValue);
+ }
+ public static String eventLabel(String inputValue) {
+ Map mapping = getEventLabel();
+ return mapping.getOrDefault(inputValue, inputValue);
+ }
+
//测试
// @Test
// public void text(){
diff --git a/zc-business/src/main/java/com/zc/business/enums/WarningSubclassEnum.java b/zc-business/src/main/java/com/zc/business/enums/WarningSubclassEnum.java
index 6a3e4c19..02bbb6ec 100644
--- a/zc-business/src/main/java/com/zc/business/enums/WarningSubclassEnum.java
+++ b/zc-business/src/main/java/com/zc/business/enums/WarningSubclassEnum.java
@@ -27,7 +27,7 @@ public enum WarningSubclassEnum {
EMERGENCY_LANE_BLOCKED("4-7", "应急车道被占用", "发生"),
VEHICLE_EXIT_EMERGENCY_LANE("4-8", "车离开应急车道", "发生"),
OTHER_CONDITION("4-9", "其他", "发生停车"),
- OTHER_UNKNOWN("4-10", "未知车俩", "发生停车"),
+ OTHER_UNKNOWN("4-10", "未知车辆", "发生停车"),
REVERSING_OR_GOING_BACKWARDS("5-1", "倒车/逆行", "发生"),
LINEBALL("5-2", "压线", "发生压线"),
TURNROUND("5-3", "掉头", "发生掉头"),
diff --git a/zc-business/src/main/java/com/zc/business/mapper/DcDeviceMapper.java b/zc-business/src/main/java/com/zc/business/mapper/DcDeviceMapper.java
index 13576c48..83ec034d 100644
--- a/zc-business/src/main/java/com/zc/business/mapper/DcDeviceMapper.java
+++ b/zc-business/src/main/java/com/zc/business/mapper/DcDeviceMapper.java
@@ -3,8 +3,10 @@ package com.zc.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zc.business.domain.DcDevice;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
* 设备Mapper接口
@@ -18,5 +20,7 @@ public interface DcDeviceMapper extends BaseMapper {
List numberOfDevicesByType(DcDevice dcDevice);
List numberOfDevicesByType();
+ List selectNearCamPile(@Param("direction") String direction,@Param("startMileage") String startMileage,@Param("endMileage") String endMileage);
+ List selectNearBoard(@Param("direction") String direction,@Param("startMileage") Integer startMileage,@Param("endMileage") Integer endMileage);
}
diff --git a/zc-business/src/main/java/com/zc/business/mapper/DcEventImportantFileMapper.java b/zc-business/src/main/java/com/zc/business/mapper/DcEventImportantFileMapper.java
new file mode 100644
index 00000000..56e388eb
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/mapper/DcEventImportantFileMapper.java
@@ -0,0 +1,71 @@
+package com.zc.business.mapper;
+
+import java.util.List;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.zc.business.domain.DcEventImportantFile;
+
+/**
+ * 重要事件文件内容Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-04-12
+ */
+public interface DcEventImportantFileMapper
+{
+ /**
+ * 查询重要事件文件内容
+ *
+ * @param id 重要事件文件内容主键
+ * @return 重要事件文件内容
+ */
+ public DcEventImportantFile selectDcEventImportantFileByEventId(String id);
+
+ /**
+ * 查询重要事件文件内容列表
+ *
+ * @param dcEventImportantFile 重要事件文件内容
+ * @return 重要事件文件内容集合
+ */
+ List selectDcEventImportantFileList(DcEventImportantFile dcEventImportantFile);
+
+ /**
+ * 新增重要事件文件内容
+ *
+ * @param dcEventImportantFile 重要事件文件内容
+ * @return 结果
+ */
+ int insertDcEventImportantFile(DcEventImportantFile dcEventImportantFile);
+
+ /**
+ * 修改重要事件文件内容
+ *
+ * @param dcEventImportantFile 重要事件文件内容
+ * @return 结果
+ */
+ int updateDcEventImportantFile(DcEventImportantFile dcEventImportantFile);
+
+ /**
+ * 删除重要事件文件内容
+ *
+ * @param id 重要事件文件内容主键
+ * @return 结果
+ */
+ int deleteDcEventImportantFileByEventId(String id);
+
+ /**
+ * 批量删除重要事件文件内容
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ int deleteDcEventImportantFileByEventIds(String[] ids);
+
+ /**
+ * 获取重要事件状态
+ *
+ * @param eventId 事件id
+ * @return 结果
+ */
+ int getImportantFileStatus(String eventId);
+}
diff --git a/zc-business/src/main/java/com/zc/business/mapper/DcEventImportantMapper.java b/zc-business/src/main/java/com/zc/business/mapper/DcEventImportantMapper.java
new file mode 100644
index 00000000..1aa5d2bf
--- /dev/null
+++ b/zc-business/src/main/java/com/zc/business/mapper/DcEventImportantMapper.java
@@ -0,0 +1,61 @@
+package com.zc.business.mapper;
+
+import java.util.List;
+import com.zc.business.domain.DcEventImportant;
+
+/**
+ * 事件侧重要素Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-04-11
+ */
+public interface DcEventImportantMapper
+{
+ /**
+ * 查询事件侧重要素
+ *
+ * @param id 事件侧重要素主键
+ * @return 事件侧重要素
+ */
+ public DcEventImportant selectDcEventImportantByEventId(String id);
+
+ /**
+ * 查询事件侧重要素列表
+ *
+ * @param dcEventImportant 事件侧重要素
+ * @return 事件侧重要素集合
+ */
+ List selectDcEventImportantList(DcEventImportant dcEventImportant);
+
+ /**
+ * 新增事件侧重要素
+ *
+ * @param dcEventImportant 事件侧重要素
+ * @return 结果
+ */
+ int insertDcEventImportant(DcEventImportant dcEventImportant);
+
+ /**
+ * 修改事件侧重要素
+ *
+ * @param dcEventImportant 事件侧重要素
+ * @return 结果
+ */
+ int updateDcEventImportant(DcEventImportant dcEventImportant);
+
+ /**
+ * 删除事件侧重要素
+ *
+ * @param id 事件侧重要素主键
+ * @return 结果
+ */
+ int deleteDcEventImportantByEventId(String id);
+
+ /**
+ * 批量删除事件侧重要素
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ int deleteDcEventImportantByEventIds(String[] ids);
+}
diff --git a/zc-business/src/main/java/com/zc/business/mapper/DcEventMapper.java b/zc-business/src/main/java/com/zc/business/mapper/DcEventMapper.java
index c82f85ef..40d81d8c 100644
--- a/zc-business/src/main/java/com/zc/business/mapper/DcEventMapper.java
+++ b/zc-business/src/main/java/com/zc/business/mapper/DcEventMapper.java
@@ -4,7 +4,9 @@ package com.zc.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zc.business.domain.DcEvent;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -50,6 +52,15 @@ public interface DcEventMapper extends BaseMapper
*/
int updateDcEvent(DcEvent dcEvent);
+
+ /**
+ * 修改事件性质 关联管制事件id
+ *
+ * @param dcEvent 事件信息
+ * @return 结果
+ */
+ int updateDcEventLinkId(DcEvent dcEvent);
+
/**
* 删除事件信息
*
@@ -83,6 +94,27 @@ public interface DcEventMapper extends BaseMapper
*/
boolean batchInsertDcEvent(List eventList);
+ int updateDcEventState(@Param("id") String id,@Param("state") int state);
+
+ /**
+ * @Description 查询事件流程状态
+ *
+ * @author liuwenge
+ * @date 2024/4/11 11:19
+ * @param eventId 事件id
+ * @return com.ruoyi.common.core.domain.AjaxResult
+ */
+ List