diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java new file mode 100644 index 0000000..24ac653 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java @@ -0,0 +1,126 @@ +package com.casic.missiles.modular.cwscase.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.core.common.exception.BizExceptionEnum; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.exception.GunsException; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.dao.BizAlarmRecordsMapper; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import com.casic.missiles.modular.cwscase.service.ICwsCaseService; +import com.casic.missiles.modular.enums.SourceEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 报警表 服务实现类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Service +public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Autowired + private ICommonPermissionService service; + private final ICwsCaseService cwsCaseService; + + public BizAlarmRecordsServiceImpl(ICwsCaseService cwsCaseService) { + this.cwsCaseService = cwsCaseService; + } + + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + List records = baseMapper.selectRecordsPage(page, query); + records.stream().forEach(record -> { + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Override + public void cancelAlarmRecords(Long id) { + this.baseMapper.cancelAlarmRecords(id); + } + + @Override + public List selectAlarmList(EntityWrapper query) { + List records = baseMapper.selectRecordsList(query); + records.stream().forEach(record -> { + record.setAlarmTimeFmt(DateUtil.formatDate(record.getAlarmTime(), "yyyy-MM-dd HH:mm:ss")); + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Transactional + @Override + public boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (bzhours == null) { + bzhours = 0; + } + if (bzminis == null) { + bzminis = 0; + } + if (isNeedRevisit == null) { + isNeedRevisit = 0; + } + if (ToolUtil.isOneEmpty(cwsCase.getCasetypeCode(), cwsCase.getCasetypeDetailCode())) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("请选择相关事件类型!"); + throw error; + } + + EntityWrapper query = new EntityWrapper<>(); + query.eq("a.id", alarmId); + List alarmRecords = selectAlarmList(query); + + if (ToolUtil.isEmpty(alarmRecords)) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该告警信息不存在!"); + throw error;// + } + BizAlarmRecords alarmRecord = alarmRecords.get(0); + if (alarmRecord.getRegCaseId() != null) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该案卷已注册,不可重复进行!"); + throw error; + } + covertCase(cwsCase, alarmRecord); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); + alarmRecord.setRegCaseId(cwsCase.getId()); + updateById(alarmRecord); + return true; + } + + private void covertCase(CwsCase cwsCase, BizAlarmRecords alarmRecords) { + cwsCase.setEorc("1"); + cwsCase.setSource(SourceEnum.ENVIRONMENT.getState()); + + if (ToolUtil.isEmpty(cwsCase.getReporterName())) { + cwsCase.setReporterName("系统管理员"); + } + if (ToolUtil.isEmpty(cwsCase.getReporterPhone())) { + cwsCase.setReporterPhone("13500000000"); + } + cwsCase.setDescription("环境案件-" + alarmRecords.getAlarmContent()); + cwsCase.setAreaCode("361024"); + cwsCase.setStreetCode("36124100"); + cwsCase.setCommunityCode("1"); + cwsCase.setGridId(361024100801L); + cwsCase.setLat(alarmRecords.getLat()); + cwsCase.setLng(alarmRecords.getLng()); + cwsCase.setFieldintro(alarmRecords.getPosition()); + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java new file mode 100644 index 0000000..24ac653 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java @@ -0,0 +1,126 @@ +package com.casic.missiles.modular.cwscase.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.core.common.exception.BizExceptionEnum; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.exception.GunsException; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.dao.BizAlarmRecordsMapper; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import com.casic.missiles.modular.cwscase.service.ICwsCaseService; +import com.casic.missiles.modular.enums.SourceEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 报警表 服务实现类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Service +public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Autowired + private ICommonPermissionService service; + private final ICwsCaseService cwsCaseService; + + public BizAlarmRecordsServiceImpl(ICwsCaseService cwsCaseService) { + this.cwsCaseService = cwsCaseService; + } + + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + List records = baseMapper.selectRecordsPage(page, query); + records.stream().forEach(record -> { + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Override + public void cancelAlarmRecords(Long id) { + this.baseMapper.cancelAlarmRecords(id); + } + + @Override + public List selectAlarmList(EntityWrapper query) { + List records = baseMapper.selectRecordsList(query); + records.stream().forEach(record -> { + record.setAlarmTimeFmt(DateUtil.formatDate(record.getAlarmTime(), "yyyy-MM-dd HH:mm:ss")); + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Transactional + @Override + public boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (bzhours == null) { + bzhours = 0; + } + if (bzminis == null) { + bzminis = 0; + } + if (isNeedRevisit == null) { + isNeedRevisit = 0; + } + if (ToolUtil.isOneEmpty(cwsCase.getCasetypeCode(), cwsCase.getCasetypeDetailCode())) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("请选择相关事件类型!"); + throw error; + } + + EntityWrapper query = new EntityWrapper<>(); + query.eq("a.id", alarmId); + List alarmRecords = selectAlarmList(query); + + if (ToolUtil.isEmpty(alarmRecords)) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该告警信息不存在!"); + throw error;// + } + BizAlarmRecords alarmRecord = alarmRecords.get(0); + if (alarmRecord.getRegCaseId() != null) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该案卷已注册,不可重复进行!"); + throw error; + } + covertCase(cwsCase, alarmRecord); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); + alarmRecord.setRegCaseId(cwsCase.getId()); + updateById(alarmRecord); + return true; + } + + private void covertCase(CwsCase cwsCase, BizAlarmRecords alarmRecords) { + cwsCase.setEorc("1"); + cwsCase.setSource(SourceEnum.ENVIRONMENT.getState()); + + if (ToolUtil.isEmpty(cwsCase.getReporterName())) { + cwsCase.setReporterName("系统管理员"); + } + if (ToolUtil.isEmpty(cwsCase.getReporterPhone())) { + cwsCase.setReporterPhone("13500000000"); + } + cwsCase.setDescription("环境案件-" + alarmRecords.getAlarmContent()); + cwsCase.setAreaCode("361024"); + cwsCase.setStreetCode("36124100"); + cwsCase.setCommunityCode("1"); + cwsCase.setGridId(361024100801L); + cwsCase.setLat(alarmRecords.getLat()); + cwsCase.setLng(alarmRecords.getLng()); + cwsCase.setFieldintro(alarmRecords.getPosition()); + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java index 69bfa10..81442fe 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java @@ -273,7 +273,7 @@ CwsCase cwsCase = cwsCaseService.selectById(bizId); Status status = statusService.selectById(bizId); Timestamp timestamp = this.calculateEndTime(cwsCase.getCaseLevel(), new Timestamp(status.getNodeLimittime().getTime()), hour, minute); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); } @Override diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java new file mode 100644 index 0000000..24ac653 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java @@ -0,0 +1,126 @@ +package com.casic.missiles.modular.cwscase.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.core.common.exception.BizExceptionEnum; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.exception.GunsException; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.dao.BizAlarmRecordsMapper; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import com.casic.missiles.modular.cwscase.service.ICwsCaseService; +import com.casic.missiles.modular.enums.SourceEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 报警表 服务实现类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Service +public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Autowired + private ICommonPermissionService service; + private final ICwsCaseService cwsCaseService; + + public BizAlarmRecordsServiceImpl(ICwsCaseService cwsCaseService) { + this.cwsCaseService = cwsCaseService; + } + + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + List records = baseMapper.selectRecordsPage(page, query); + records.stream().forEach(record -> { + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Override + public void cancelAlarmRecords(Long id) { + this.baseMapper.cancelAlarmRecords(id); + } + + @Override + public List selectAlarmList(EntityWrapper query) { + List records = baseMapper.selectRecordsList(query); + records.stream().forEach(record -> { + record.setAlarmTimeFmt(DateUtil.formatDate(record.getAlarmTime(), "yyyy-MM-dd HH:mm:ss")); + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Transactional + @Override + public boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (bzhours == null) { + bzhours = 0; + } + if (bzminis == null) { + bzminis = 0; + } + if (isNeedRevisit == null) { + isNeedRevisit = 0; + } + if (ToolUtil.isOneEmpty(cwsCase.getCasetypeCode(), cwsCase.getCasetypeDetailCode())) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("请选择相关事件类型!"); + throw error; + } + + EntityWrapper query = new EntityWrapper<>(); + query.eq("a.id", alarmId); + List alarmRecords = selectAlarmList(query); + + if (ToolUtil.isEmpty(alarmRecords)) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该告警信息不存在!"); + throw error;// + } + BizAlarmRecords alarmRecord = alarmRecords.get(0); + if (alarmRecord.getRegCaseId() != null) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该案卷已注册,不可重复进行!"); + throw error; + } + covertCase(cwsCase, alarmRecord); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); + alarmRecord.setRegCaseId(cwsCase.getId()); + updateById(alarmRecord); + return true; + } + + private void covertCase(CwsCase cwsCase, BizAlarmRecords alarmRecords) { + cwsCase.setEorc("1"); + cwsCase.setSource(SourceEnum.ENVIRONMENT.getState()); + + if (ToolUtil.isEmpty(cwsCase.getReporterName())) { + cwsCase.setReporterName("系统管理员"); + } + if (ToolUtil.isEmpty(cwsCase.getReporterPhone())) { + cwsCase.setReporterPhone("13500000000"); + } + cwsCase.setDescription("环境案件-" + alarmRecords.getAlarmContent()); + cwsCase.setAreaCode("361024"); + cwsCase.setStreetCode("36124100"); + cwsCase.setCommunityCode("1"); + cwsCase.setGridId(361024100801L); + cwsCase.setLat(alarmRecords.getLat()); + cwsCase.setLng(alarmRecords.getLng()); + cwsCase.setFieldintro(alarmRecords.getPosition()); + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java index 69bfa10..81442fe 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java @@ -273,7 +273,7 @@ CwsCase cwsCase = cwsCaseService.selectById(bizId); Status status = statusService.selectById(bizId); Timestamp timestamp = this.calculateEndTime(cwsCase.getCaseLevel(), new Timestamp(status.getNodeLimittime().getTime()), hour, minute); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); } @Override diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java index 8a8b39d..a668561 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java @@ -58,9 +58,12 @@ } covertCase(cwsCase, videoCase); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); videoCase.setRegCaseId(cwsCase.getId()); videoCase.setCaseStatus(1); + + updateById(videoCase); return true; } @@ -87,8 +90,9 @@ cwsCase.setGridId(361024100801L); BusDeviceInfo busDeviceInfo = baseMapper.getDeviceInfoByVideoId(res.getVideoId()); cwsCase.setFieldintro(busDeviceInfo.getDetailLocation()); + cwsCase.setLat(busDeviceInfo.getLatitude()); + cwsCase.setLng(busDeviceInfo.getLongitude()); - //cwsCase.set } private void wrapVideoCase(VideoCase videoCase) { diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java new file mode 100644 index 0000000..24ac653 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java @@ -0,0 +1,126 @@ +package com.casic.missiles.modular.cwscase.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.core.common.exception.BizExceptionEnum; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.exception.GunsException; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.dao.BizAlarmRecordsMapper; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import com.casic.missiles.modular.cwscase.service.ICwsCaseService; +import com.casic.missiles.modular.enums.SourceEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 报警表 服务实现类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Service +public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Autowired + private ICommonPermissionService service; + private final ICwsCaseService cwsCaseService; + + public BizAlarmRecordsServiceImpl(ICwsCaseService cwsCaseService) { + this.cwsCaseService = cwsCaseService; + } + + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + List records = baseMapper.selectRecordsPage(page, query); + records.stream().forEach(record -> { + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Override + public void cancelAlarmRecords(Long id) { + this.baseMapper.cancelAlarmRecords(id); + } + + @Override + public List selectAlarmList(EntityWrapper query) { + List records = baseMapper.selectRecordsList(query); + records.stream().forEach(record -> { + record.setAlarmTimeFmt(DateUtil.formatDate(record.getAlarmTime(), "yyyy-MM-dd HH:mm:ss")); + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Transactional + @Override + public boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (bzhours == null) { + bzhours = 0; + } + if (bzminis == null) { + bzminis = 0; + } + if (isNeedRevisit == null) { + isNeedRevisit = 0; + } + if (ToolUtil.isOneEmpty(cwsCase.getCasetypeCode(), cwsCase.getCasetypeDetailCode())) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("请选择相关事件类型!"); + throw error; + } + + EntityWrapper query = new EntityWrapper<>(); + query.eq("a.id", alarmId); + List alarmRecords = selectAlarmList(query); + + if (ToolUtil.isEmpty(alarmRecords)) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该告警信息不存在!"); + throw error;// + } + BizAlarmRecords alarmRecord = alarmRecords.get(0); + if (alarmRecord.getRegCaseId() != null) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该案卷已注册,不可重复进行!"); + throw error; + } + covertCase(cwsCase, alarmRecord); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); + alarmRecord.setRegCaseId(cwsCase.getId()); + updateById(alarmRecord); + return true; + } + + private void covertCase(CwsCase cwsCase, BizAlarmRecords alarmRecords) { + cwsCase.setEorc("1"); + cwsCase.setSource(SourceEnum.ENVIRONMENT.getState()); + + if (ToolUtil.isEmpty(cwsCase.getReporterName())) { + cwsCase.setReporterName("系统管理员"); + } + if (ToolUtil.isEmpty(cwsCase.getReporterPhone())) { + cwsCase.setReporterPhone("13500000000"); + } + cwsCase.setDescription("环境案件-" + alarmRecords.getAlarmContent()); + cwsCase.setAreaCode("361024"); + cwsCase.setStreetCode("36124100"); + cwsCase.setCommunityCode("1"); + cwsCase.setGridId(361024100801L); + cwsCase.setLat(alarmRecords.getLat()); + cwsCase.setLng(alarmRecords.getLng()); + cwsCase.setFieldintro(alarmRecords.getPosition()); + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java index 69bfa10..81442fe 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java @@ -273,7 +273,7 @@ CwsCase cwsCase = cwsCaseService.selectById(bizId); Status status = statusService.selectById(bizId); Timestamp timestamp = this.calculateEndTime(cwsCase.getCaseLevel(), new Timestamp(status.getNodeLimittime().getTime()), hour, minute); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); } @Override diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java index 8a8b39d..a668561 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java @@ -58,9 +58,12 @@ } covertCase(cwsCase, videoCase); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); videoCase.setRegCaseId(cwsCase.getId()); videoCase.setCaseStatus(1); + + updateById(videoCase); return true; } @@ -87,8 +90,9 @@ cwsCase.setGridId(361024100801L); BusDeviceInfo busDeviceInfo = baseMapper.getDeviceInfoByVideoId(res.getVideoId()); cwsCase.setFieldintro(busDeviceInfo.getDetailLocation()); + cwsCase.setLat(busDeviceInfo.getLatitude()); + cwsCase.setLng(busDeviceInfo.getLongitude()); - //cwsCase.set } private void wrapVideoCase(VideoCase videoCase) { diff --git a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java index 1e83cde..b0c85f4 100644 --- a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java +++ b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java @@ -107,7 +107,7 @@ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, limitTime); Timestamp time = new Timestamp(calendar.getTimeInMillis()); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); if (caseState == 0 && pushService != null){ //如果指定到人则进行人员案卷推送信息 List users = new ArrayList<>(); @@ -136,7 +136,7 @@ dto.setDispatchDeptId(dto.getCurrUser().getDeptId()); } //更改当前案件状态 - SqlRunner.db().update("UPDATE DCM_CWS_CASE SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_case SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); BizFlowUtil.completeCaseTask(dto); //判断流程是否需要要自动处理 diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java new file mode 100644 index 0000000..24ac653 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java @@ -0,0 +1,126 @@ +package com.casic.missiles.modular.cwscase.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.core.common.exception.BizExceptionEnum; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.exception.GunsException; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.dao.BizAlarmRecordsMapper; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import com.casic.missiles.modular.cwscase.service.ICwsCaseService; +import com.casic.missiles.modular.enums.SourceEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 报警表 服务实现类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Service +public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Autowired + private ICommonPermissionService service; + private final ICwsCaseService cwsCaseService; + + public BizAlarmRecordsServiceImpl(ICwsCaseService cwsCaseService) { + this.cwsCaseService = cwsCaseService; + } + + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + List records = baseMapper.selectRecordsPage(page, query); + records.stream().forEach(record -> { + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Override + public void cancelAlarmRecords(Long id) { + this.baseMapper.cancelAlarmRecords(id); + } + + @Override + public List selectAlarmList(EntityWrapper query) { + List records = baseMapper.selectRecordsList(query); + records.stream().forEach(record -> { + record.setAlarmTimeFmt(DateUtil.formatDate(record.getAlarmTime(), "yyyy-MM-dd HH:mm:ss")); + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Transactional + @Override + public boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (bzhours == null) { + bzhours = 0; + } + if (bzminis == null) { + bzminis = 0; + } + if (isNeedRevisit == null) { + isNeedRevisit = 0; + } + if (ToolUtil.isOneEmpty(cwsCase.getCasetypeCode(), cwsCase.getCasetypeDetailCode())) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("请选择相关事件类型!"); + throw error; + } + + EntityWrapper query = new EntityWrapper<>(); + query.eq("a.id", alarmId); + List alarmRecords = selectAlarmList(query); + + if (ToolUtil.isEmpty(alarmRecords)) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该告警信息不存在!"); + throw error;// + } + BizAlarmRecords alarmRecord = alarmRecords.get(0); + if (alarmRecord.getRegCaseId() != null) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该案卷已注册,不可重复进行!"); + throw error; + } + covertCase(cwsCase, alarmRecord); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); + alarmRecord.setRegCaseId(cwsCase.getId()); + updateById(alarmRecord); + return true; + } + + private void covertCase(CwsCase cwsCase, BizAlarmRecords alarmRecords) { + cwsCase.setEorc("1"); + cwsCase.setSource(SourceEnum.ENVIRONMENT.getState()); + + if (ToolUtil.isEmpty(cwsCase.getReporterName())) { + cwsCase.setReporterName("系统管理员"); + } + if (ToolUtil.isEmpty(cwsCase.getReporterPhone())) { + cwsCase.setReporterPhone("13500000000"); + } + cwsCase.setDescription("环境案件-" + alarmRecords.getAlarmContent()); + cwsCase.setAreaCode("361024"); + cwsCase.setStreetCode("36124100"); + cwsCase.setCommunityCode("1"); + cwsCase.setGridId(361024100801L); + cwsCase.setLat(alarmRecords.getLat()); + cwsCase.setLng(alarmRecords.getLng()); + cwsCase.setFieldintro(alarmRecords.getPosition()); + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java index 69bfa10..81442fe 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java @@ -273,7 +273,7 @@ CwsCase cwsCase = cwsCaseService.selectById(bizId); Status status = statusService.selectById(bizId); Timestamp timestamp = this.calculateEndTime(cwsCase.getCaseLevel(), new Timestamp(status.getNodeLimittime().getTime()), hour, minute); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); } @Override diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java index 8a8b39d..a668561 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java @@ -58,9 +58,12 @@ } covertCase(cwsCase, videoCase); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); videoCase.setRegCaseId(cwsCase.getId()); videoCase.setCaseStatus(1); + + updateById(videoCase); return true; } @@ -87,8 +90,9 @@ cwsCase.setGridId(361024100801L); BusDeviceInfo busDeviceInfo = baseMapper.getDeviceInfoByVideoId(res.getVideoId()); cwsCase.setFieldintro(busDeviceInfo.getDetailLocation()); + cwsCase.setLat(busDeviceInfo.getLatitude()); + cwsCase.setLng(busDeviceInfo.getLongitude()); - //cwsCase.set } private void wrapVideoCase(VideoCase videoCase) { diff --git a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java index 1e83cde..b0c85f4 100644 --- a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java +++ b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java @@ -107,7 +107,7 @@ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, limitTime); Timestamp time = new Timestamp(calendar.getTimeInMillis()); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); if (caseState == 0 && pushService != null){ //如果指定到人则进行人员案卷推送信息 List users = new ArrayList<>(); @@ -136,7 +136,7 @@ dto.setDispatchDeptId(dto.getCurrUser().getDeptId()); } //更改当前案件状态 - SqlRunner.db().update("UPDATE DCM_CWS_CASE SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_case SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); BizFlowUtil.completeCaseTask(dto); //判断流程是否需要要自动处理 diff --git a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java index 2832799..1c5969f 100644 --- a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java +++ b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java @@ -56,8 +56,8 @@ */ @Override public void updateCwsVerifyRemarks(ProcessDcmsDto dto) { - SqlRunner.db().update("UPDATE DCM_CWS_CASE SET FILE_ID_VERIFY = {0} WHERE ID= {1}", new Object[]{dto.getFileId(), dto.getBizId()}); - SqlRunner.db().update("UPDATE DCM_CWS_PROCESS_DETAIL set VERIFY_REMARKS = {0} where id = {1}", new Object[]{dto.getRemarks(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_case SET FILE_ID_VERIFY = {0} WHERE ID= {1}", new Object[]{dto.getFileId(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_process_detail set VERIFY_REMARKS = {0} where id = {1}", new Object[]{dto.getRemarks(), dto.getBizId()}); //是否核实超时FILE_ID_VERIFY updateOverTimeFlag("IS_VERIFY_OVERTIME", dto.getBizId()); //更新案件立案相关信息 核实 @@ -73,7 +73,7 @@ * @param column */ private void updateOverTimeFlag(String column, String bizId) { - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET ".concat(column).concat("= (NODE_LIMITTIME + * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java new file mode 100644 index 0000000..24ac653 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java @@ -0,0 +1,126 @@ +package com.casic.missiles.modular.cwscase.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.core.common.exception.BizExceptionEnum; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.exception.GunsException; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.dao.BizAlarmRecordsMapper; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import com.casic.missiles.modular.cwscase.service.ICwsCaseService; +import com.casic.missiles.modular.enums.SourceEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 报警表 服务实现类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Service +public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Autowired + private ICommonPermissionService service; + private final ICwsCaseService cwsCaseService; + + public BizAlarmRecordsServiceImpl(ICwsCaseService cwsCaseService) { + this.cwsCaseService = cwsCaseService; + } + + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + List records = baseMapper.selectRecordsPage(page, query); + records.stream().forEach(record -> { + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Override + public void cancelAlarmRecords(Long id) { + this.baseMapper.cancelAlarmRecords(id); + } + + @Override + public List selectAlarmList(EntityWrapper query) { + List records = baseMapper.selectRecordsList(query); + records.stream().forEach(record -> { + record.setAlarmTimeFmt(DateUtil.formatDate(record.getAlarmTime(), "yyyy-MM-dd HH:mm:ss")); + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Transactional + @Override + public boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (bzhours == null) { + bzhours = 0; + } + if (bzminis == null) { + bzminis = 0; + } + if (isNeedRevisit == null) { + isNeedRevisit = 0; + } + if (ToolUtil.isOneEmpty(cwsCase.getCasetypeCode(), cwsCase.getCasetypeDetailCode())) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("请选择相关事件类型!"); + throw error; + } + + EntityWrapper query = new EntityWrapper<>(); + query.eq("a.id", alarmId); + List alarmRecords = selectAlarmList(query); + + if (ToolUtil.isEmpty(alarmRecords)) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该告警信息不存在!"); + throw error;// + } + BizAlarmRecords alarmRecord = alarmRecords.get(0); + if (alarmRecord.getRegCaseId() != null) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该案卷已注册,不可重复进行!"); + throw error; + } + covertCase(cwsCase, alarmRecord); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); + alarmRecord.setRegCaseId(cwsCase.getId()); + updateById(alarmRecord); + return true; + } + + private void covertCase(CwsCase cwsCase, BizAlarmRecords alarmRecords) { + cwsCase.setEorc("1"); + cwsCase.setSource(SourceEnum.ENVIRONMENT.getState()); + + if (ToolUtil.isEmpty(cwsCase.getReporterName())) { + cwsCase.setReporterName("系统管理员"); + } + if (ToolUtil.isEmpty(cwsCase.getReporterPhone())) { + cwsCase.setReporterPhone("13500000000"); + } + cwsCase.setDescription("环境案件-" + alarmRecords.getAlarmContent()); + cwsCase.setAreaCode("361024"); + cwsCase.setStreetCode("36124100"); + cwsCase.setCommunityCode("1"); + cwsCase.setGridId(361024100801L); + cwsCase.setLat(alarmRecords.getLat()); + cwsCase.setLng(alarmRecords.getLng()); + cwsCase.setFieldintro(alarmRecords.getPosition()); + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java index 69bfa10..81442fe 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java @@ -273,7 +273,7 @@ CwsCase cwsCase = cwsCaseService.selectById(bizId); Status status = statusService.selectById(bizId); Timestamp timestamp = this.calculateEndTime(cwsCase.getCaseLevel(), new Timestamp(status.getNodeLimittime().getTime()), hour, minute); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); } @Override diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java index 8a8b39d..a668561 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java @@ -58,9 +58,12 @@ } covertCase(cwsCase, videoCase); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); videoCase.setRegCaseId(cwsCase.getId()); videoCase.setCaseStatus(1); + + updateById(videoCase); return true; } @@ -87,8 +90,9 @@ cwsCase.setGridId(361024100801L); BusDeviceInfo busDeviceInfo = baseMapper.getDeviceInfoByVideoId(res.getVideoId()); cwsCase.setFieldintro(busDeviceInfo.getDetailLocation()); + cwsCase.setLat(busDeviceInfo.getLatitude()); + cwsCase.setLng(busDeviceInfo.getLongitude()); - //cwsCase.set } private void wrapVideoCase(VideoCase videoCase) { diff --git a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java index 1e83cde..b0c85f4 100644 --- a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java +++ b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java @@ -107,7 +107,7 @@ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, limitTime); Timestamp time = new Timestamp(calendar.getTimeInMillis()); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); if (caseState == 0 && pushService != null){ //如果指定到人则进行人员案卷推送信息 List users = new ArrayList<>(); @@ -136,7 +136,7 @@ dto.setDispatchDeptId(dto.getCurrUser().getDeptId()); } //更改当前案件状态 - SqlRunner.db().update("UPDATE DCM_CWS_CASE SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_case SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); BizFlowUtil.completeCaseTask(dto); //判断流程是否需要要自动处理 diff --git a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java index 2832799..1c5969f 100644 --- a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java +++ b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java @@ -56,8 +56,8 @@ */ @Override public void updateCwsVerifyRemarks(ProcessDcmsDto dto) { - SqlRunner.db().update("UPDATE DCM_CWS_CASE SET FILE_ID_VERIFY = {0} WHERE ID= {1}", new Object[]{dto.getFileId(), dto.getBizId()}); - SqlRunner.db().update("UPDATE DCM_CWS_PROCESS_DETAIL set VERIFY_REMARKS = {0} where id = {1}", new Object[]{dto.getRemarks(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_case SET FILE_ID_VERIFY = {0} WHERE ID= {1}", new Object[]{dto.getFileId(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_process_detail set VERIFY_REMARKS = {0} where id = {1}", new Object[]{dto.getRemarks(), dto.getBizId()}); //是否核实超时FILE_ID_VERIFY updateOverTimeFlag("IS_VERIFY_OVERTIME", dto.getBizId()); //更新案件立案相关信息 核实 @@ -73,7 +73,7 @@ * @param column */ private void updateOverTimeFlag(String column, String bizId) { - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET ".concat(column).concat("= (NODE_LIMITTIME(0), token, new DefaultHttpHeaderHandler()); + new Thread(()->{ + HttpUtils.sendPost(attendLogUrl, new HashMap<>(0), token, new DefaultHttpHeaderHandler()); + }).start(); } catch (Exception e) { logger.error("登录回调考勤日志报错:", e); } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java new file mode 100644 index 0000000..ea973e8 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/controller/EnvironmentCaseController.java @@ -0,0 +1,36 @@ +package com.casic.missiles.modular.cwscase.controller; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/environmentCase") +public class EnvironmentCaseController { + private final IBizAlarmRecordsService recordsService; + + public EnvironmentCaseController(IBizAlarmRecordsService recordsService) { + this.recordsService = recordsService; + } + + /** + * 新增-pc + */ + @PostMapping(value = "/add") + @ResponseBody + public Object add(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (ToolUtil.isEmpty(alarmId)) { + return ResponseData.error("环境告警ID不能为空"); + } + if (recordsService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId, alarmId)) { + return ResponseData.success(); + } else { + return ResponseData.error("服务器异常"); + } + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java new file mode 100644 index 0000000..524e0a5 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/BizAlarmRecordsMapper.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.cwscase.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.modular.cwscase.dto.BusDeviceInfo; +import com.casic.missiles.modular.cwscase.dto.EnvironmentDevice; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 报警表 Mapper 接口 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface BizAlarmRecordsMapper extends BaseMapper { + + /** + * 告警记录分页检索 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(@Param("page") Page page, @Param("ew") EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 不填则取消全部告警 + */ + void cancelAlarmRecords(@Param("id") Long id); + /** + * 告警记录导出检索 + * + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsList(@Param("ew") EntityWrapper query); + + EnvironmentDevice getDeviceInfoByNo(@Param("ew") EntityWrapper query); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml new file mode 100644 index 0000000..d61ca99 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/BizAlarmRecordsMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + + + update ${enviromentDataBaseName}.biz_alarm_records set status = 2 + + + id = #{id} + + + + + + + \ No newline at end of file diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml index de23c00..867c691 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dao/mapping/VideoCaseMapper.xml @@ -23,6 +23,7 @@ reg_case_id as regCaseId , case_sub_type as caseSubType , remarks , + longitude,latitude, img_path as imgPath , video_id as videoId diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java index 7497a31..9dd214e 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/BusDeviceInfo.java @@ -8,4 +8,6 @@ private String devName; private String indexCode; private String detailLocation; + private String longitude; + private String latitude; } diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java new file mode 100644 index 0000000..d660b38 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/dto/EnvironmentDevice.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.cwscase.dto; + +import lombok.Data; + +@Data +public class EnvironmentDevice { + /** + * 设备编号 + */ + private String deviceNo; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 设备类型 + */ + private String type; + + /** + * 省编号 + */ + private String provinceCode; + + /** + * 城市编号 + */ + private String cityCode; + + /** + * 区编码 + */ + private String areaCode; + + /** + * 详细地址 + */ + private String position; +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java new file mode 100644 index 0000000..236ea9d --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/model/BizAlarmRecords.java @@ -0,0 +1,114 @@ +package com.casic.missiles.modular.cwscase.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.core.base.json.DateDeserializer; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +@TableName("casic_smartcity_environment.biz_alarm_records") +public class BizAlarmRecords extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 自增主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 设备编号 + */ + @TableField("device_no") + private String deviceNo; + /** + * 报警类型 + */ + @TableField("alarm_type") + private String alarmType; + /** + * 报警等级 + */ + @TableField("alarm_level") + private Integer alarmLevel; + /** + * 报警内容 + */ + @TableField("alarm_content") + private String alarmContent; + /** + * 报警值 + */ + @TableField("alarm_value") + private Integer alarmValue; + @TableField("reg_case_id") + private Long regCaseId; + /** + * 报警状态:0自动消警,1正在报警,2手动消警 + */ + private String status; + /** + * 报警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("alarm_time") + private Date alarmTime; + /** + * 消警时间 + */ + @JSONField(serializeUsing = DateDeserializer.class) + @TableField("cancel_time") + private Date cancelTime; + + @TableField(exist = false) + private String alarmTypeName; + @TableField(exist = false) + private String alarmLevelName; + @TableField(exist = false) + private String position; + @TableField(exist = false) + private String deviceName; + @TableField(exist = false) + private String alarmTimeFmt; + @TableField(exist = false) + private String lng; + /** + * 纬度 + */ + @TableField(exist = false) + private String lat; + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "BizAlarmRecords{" + + "id=" + id + + ", deviceNo=" + deviceNo + + ", alarmType=" + alarmType + + ", alarmLevel=" + alarmLevel + + ", alarmContent=" + alarmContent + + ", alarmValue=" + alarmValue + + ", status=" + status + + ", alarmTime=" + alarmTime + + ", cancelTime=" + cancelTime + + "}"; + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java new file mode 100644 index 0000000..7eb16a1 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/IBizAlarmRecordsService.java @@ -0,0 +1,58 @@ +package com.casic.missiles.modular.cwscase.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; + +import java.util.List; + +/** + *

+ * 报警表 服务类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +public interface IBizAlarmRecordsService extends IService { + + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); + + /** + * 取消告警信息 + * + * @param id 告警主键 + */ + void cancelAlarmRecords(Long id); + + /** + * 告警列表获取 + * + * @param query 检索条件 + * @return 告警集合 + */ + List selectAlarmList(EntityWrapper query); + + /** + * 环境立案接口 + * + * @param cwsCase + * @param isNeedVerify + * @param isNeedRevisit + * @param bzhours + * @param bzminis + * @param verifyPersonId + * @param videoCaseId + * @return + */ + boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String videoCaseId); +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java new file mode 100644 index 0000000..24ac653 --- /dev/null +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/BizAlarmRecordsServiceImpl.java @@ -0,0 +1,126 @@ +package com.casic.missiles.modular.cwscase.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.core.common.exception.BizExceptionEnum; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.exception.GunsException; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.cwscase.dao.BizAlarmRecordsMapper; +import com.casic.missiles.modular.cwscase.model.BizAlarmRecords; +import com.casic.missiles.modular.cwscase.model.CwsCase; +import com.casic.missiles.modular.cwscase.service.IBizAlarmRecordsService; +import com.casic.missiles.modular.cwscase.service.ICwsCaseService; +import com.casic.missiles.modular.enums.SourceEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 报警表 服务实现类 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Service +public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Autowired + private ICommonPermissionService service; + private final ICwsCaseService cwsCaseService; + + public BizAlarmRecordsServiceImpl(ICwsCaseService cwsCaseService) { + this.cwsCaseService = cwsCaseService; + } + + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + List records = baseMapper.selectRecordsPage(page, query); + records.stream().forEach(record -> { + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Override + public void cancelAlarmRecords(Long id) { + this.baseMapper.cancelAlarmRecords(id); + } + + @Override + public List selectAlarmList(EntityWrapper query) { + List records = baseMapper.selectRecordsList(query); + records.stream().forEach(record -> { + record.setAlarmTimeFmt(DateUtil.formatDate(record.getAlarmTime(), "yyyy-MM-dd HH:mm:ss")); + record.setAlarmLevelName(service.getDictNameByCode("envAlarmLevel", String.valueOf(record.getAlarmLevel()))); + record.setAlarmTypeName(service.getDictNameByCode("envAlarmType", String.valueOf(record.getAlarmType()))); + }); + return records; + } + + @Transactional + @Override + public boolean createNewPC(CwsCase cwsCase, Integer isNeedVerify, Integer isNeedRevisit, Integer bzhours, Integer bzminis, Long verifyPersonId, String alarmId) { + if (bzhours == null) { + bzhours = 0; + } + if (bzminis == null) { + bzminis = 0; + } + if (isNeedRevisit == null) { + isNeedRevisit = 0; + } + if (ToolUtil.isOneEmpty(cwsCase.getCasetypeCode(), cwsCase.getCasetypeDetailCode())) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("请选择相关事件类型!"); + throw error; + } + + EntityWrapper query = new EntityWrapper<>(); + query.eq("a.id", alarmId); + List alarmRecords = selectAlarmList(query); + + if (ToolUtil.isEmpty(alarmRecords)) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该告警信息不存在!"); + throw error;// + } + BizAlarmRecords alarmRecord = alarmRecords.get(0); + if (alarmRecord.getRegCaseId() != null) { + GunsException error = new GunsException(BizExceptionEnum.SERVER_ERROR); + error.setMessage("该案卷已注册,不可重复进行!"); + throw error; + } + covertCase(cwsCase, alarmRecord); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); + alarmRecord.setRegCaseId(cwsCase.getId()); + updateById(alarmRecord); + return true; + } + + private void covertCase(CwsCase cwsCase, BizAlarmRecords alarmRecords) { + cwsCase.setEorc("1"); + cwsCase.setSource(SourceEnum.ENVIRONMENT.getState()); + + if (ToolUtil.isEmpty(cwsCase.getReporterName())) { + cwsCase.setReporterName("系统管理员"); + } + if (ToolUtil.isEmpty(cwsCase.getReporterPhone())) { + cwsCase.setReporterPhone("13500000000"); + } + cwsCase.setDescription("环境案件-" + alarmRecords.getAlarmContent()); + cwsCase.setAreaCode("361024"); + cwsCase.setStreetCode("36124100"); + cwsCase.setCommunityCode("1"); + cwsCase.setGridId(361024100801L); + cwsCase.setLat(alarmRecords.getLat()); + cwsCase.setLng(alarmRecords.getLng()); + cwsCase.setFieldintro(alarmRecords.getPosition()); + } +} diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java index 69bfa10..81442fe 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/CwsSuportServiceImpl.java @@ -273,7 +273,7 @@ CwsCase cwsCase = cwsCaseService.selectById(bizId); Status status = statusService.selectById(bizId); Timestamp timestamp = this.calculateEndTime(cwsCase.getCaseLevel(), new Timestamp(status.getNodeLimittime().getTime()), hour, minute); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}',BZHOURS=(BZHOURS+{1}),BZMINIS=(BZMINIS+{2}) WHERE ID = {3}", new Object[]{timestamp, hour, minute, bizId}); } @Override diff --git a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java index 8a8b39d..a668561 100644 --- a/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java +++ b/casic-service-cws/casic-cws-case/src/main/java/com/casic/missiles/modular/cwscase/service/impl/VideoCaseServiceImpl.java @@ -58,9 +58,12 @@ } covertCase(cwsCase, videoCase); + cwsCaseService.createNewPC(cwsCase, isNeedVerify, isNeedRevisit, bzhours, bzminis, verifyPersonId); videoCase.setRegCaseId(cwsCase.getId()); videoCase.setCaseStatus(1); + + updateById(videoCase); return true; } @@ -87,8 +90,9 @@ cwsCase.setGridId(361024100801L); BusDeviceInfo busDeviceInfo = baseMapper.getDeviceInfoByVideoId(res.getVideoId()); cwsCase.setFieldintro(busDeviceInfo.getDetailLocation()); + cwsCase.setLat(busDeviceInfo.getLatitude()); + cwsCase.setLng(busDeviceInfo.getLongitude()); - //cwsCase.set } private void wrapVideoCase(VideoCase videoCase) { diff --git a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java index 1e83cde..b0c85f4 100644 --- a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java +++ b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/CaseFlowServiceImpl.java @@ -107,7 +107,7 @@ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, limitTime); Timestamp time = new Timestamp(calendar.getTimeInMillis()); - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_status SET NODE_LIMITTIME = '{0}' WHERE ID = {1} ", new Object[]{time, dto.getBizId()}); if (caseState == 0 && pushService != null){ //如果指定到人则进行人员案卷推送信息 List users = new ArrayList<>(); @@ -136,7 +136,7 @@ dto.setDispatchDeptId(dto.getCurrUser().getDeptId()); } //更改当前案件状态 - SqlRunner.db().update("UPDATE DCM_CWS_CASE SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_case SET CASE_STATE = {0} WHERE ID = {1}", new Object[]{dto.getChangeState(), dto.getBizId()}); BizFlowUtil.completeCaseTask(dto); //判断流程是否需要要自动处理 diff --git a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java index 2832799..1c5969f 100644 --- a/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java +++ b/casic-service-cws/casic-cws-flow/src/main/java/com/casic/missiles/modular/flowable/service/impl/IFlowBizServiceImpl.java @@ -56,8 +56,8 @@ */ @Override public void updateCwsVerifyRemarks(ProcessDcmsDto dto) { - SqlRunner.db().update("UPDATE DCM_CWS_CASE SET FILE_ID_VERIFY = {0} WHERE ID= {1}", new Object[]{dto.getFileId(), dto.getBizId()}); - SqlRunner.db().update("UPDATE DCM_CWS_PROCESS_DETAIL set VERIFY_REMARKS = {0} where id = {1}", new Object[]{dto.getRemarks(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_case SET FILE_ID_VERIFY = {0} WHERE ID= {1}", new Object[]{dto.getFileId(), dto.getBizId()}); + SqlRunner.db().update("UPDATE dcm_cws_process_detail set VERIFY_REMARKS = {0} where id = {1}", new Object[]{dto.getRemarks(), dto.getBizId()}); //是否核实超时FILE_ID_VERIFY updateOverTimeFlag("IS_VERIFY_OVERTIME", dto.getBizId()); //更新案件立案相关信息 核实 @@ -73,7 +73,7 @@ * @param column */ private void updateOverTimeFlag(String column, String bizId) { - SqlRunner.db().update("UPDATE DCM_CWS_STATUS SET ".concat(column).concat("= (NODE_LIMITTIME(0), token, new DefaultHttpHeaderHandler()); + new Thread(()->{ + HttpUtils.sendPost(attendLogUrl, new HashMap<>(0), token, new DefaultHttpHeaderHandler()); + }).start(); } catch (Exception e) { logger.error("登录回调考勤日志报错:", e); } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index ac7f494..28020f8 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -3,9 +3,9 @@ ################### spring配置 ################### spring: datasource: - url: jdbc:mysql://111.198.10.15:11102/casic_smartcity_dcms_cr?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + url: jdbc:mysql://localhost:3316/casic_smartcity_dcms_cr?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull username: root - password: Casic203! + password: root initial-size: 2 min-idle: 1 jms: @@ -13,9 +13,9 @@ session: store-type: redis redis: - host: 111.198.10.15 - port: 11412 - password: ew5T4K3#203lwh + host: localhost + port: 6379 +# password: ew5T4K3#203lwh redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer #flowable数据源和多数据源配置 casic: @@ -26,9 +26,9 @@ nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken,/process/processDiagram,/departmentAssess/sourceList,/departmentAssess/highEventList,/case/addWeChat,/case/historyByPhoneListPage,/dict/code/caseSource,/fileUpload flowable: datasource: - url: jdbc:mysql://111.198.10.15:11102/dcms_flowable_cr?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + url: jdbc:mysql://localhost:3316/dcms_flowable_cr?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull username: root - password: Casic203! + password: root case: cancelNodes: 30303,30302,30304 #允许撤销的节点key logging: