Pārlūkot izejas kodu

住建事件上报

lyq 1 gadu atpakaļ
vecāks
revīzija
f85d984c62

+ 36 - 6
src/main/java/com/sooka/sponest/event/centereventteventcatalogue/controller/FireIncidentController.java

@@ -11,7 +11,6 @@ import com.sooka.sponest.event.centereventteventcatalogue.domain.sensor.SensorEv
 import com.sooka.sponest.event.centereventteventcatalogue.service.AlarmEventService;
 import com.sooka.sponest.event.centereventtreportmessage.domain.CentereventTReportmessage;
 import com.sooka.sponest.event.centereventtreportmessage.service.ICentereventTReportmessageService;
-import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +36,7 @@ public class FireIncidentController {
 
     /**
      * 传感器事件上报
+     *
      * @param sensorEventVo
      * @return R
      */
@@ -49,7 +49,7 @@ public class FireIncidentController {
             logger.error(e.getMessage());
         }
         if (StringUtils.isBlank(eventCode)) {
-            eventCode = String.valueOf(System.currentTimeMillis()) + "_";
+            eventCode = System.currentTimeMillis() + "_";
         }
         try {
             String[] array = eventCode.split("_");
@@ -66,14 +66,14 @@ public class FireIncidentController {
 
     /**
      * 事件回查图片
-     * @param eventBO
-     *  eventCode 事件编号
-     *  logId  事件日志id
+     *
+     * @param eventBO eventCode 事件编号
+     *                logId  事件日志id
      * @return AjaxResult
      * @throws ClientException 异常类
      */
     @PostMapping("/updateFireEventImage")
-    public AjaxResult  updateFireEventImage(@RequestBody DaHuaEventBO eventBO) throws ClientException {
+    public AjaxResult updateFireEventImage(@RequestBody DaHuaEventBO eventBO) throws ClientException {
         CentereventTReportmessage centereventTReportmessage = null;
         if (StringUtils.isNotBlank(eventBO.getEventCode()) && StringUtils.isNotBlank(eventBO.getLogId())) {
             // 通过eventCode获取报文信息
@@ -89,4 +89,34 @@ public class FireIncidentController {
         eventBO.setDbType("0");
         return AjaxResult.success(alarmEventService.updateFireEventImage(eventBO));
     }
+
+    /**
+     * 住建事件上报
+     *
+     * @param sensorEventVo
+     * @return R
+     */
+    @PostMapping("/insertHousingConstructionEvent")
+    public R insertHousingConstructionEvent(@RequestBody SensorEventVo sensorEventVo) {
+        String eventCode = null;
+        try {
+            eventCode = alarmEventService.insertHousingConstructionEvent(sensorEventVo);
+        } catch (Exception e) {
+            logger.error(e.getMessage());
+        }
+        if (StringUtils.isBlank(eventCode)) {
+            eventCode = System.currentTimeMillis() + "_";
+        }
+        try {
+            String[] array = eventCode.split("_");
+            CentereventTReportmessage tReportMessage = new CentereventTReportmessage();
+            tReportMessage.setId(array[0]);
+            tReportMessage.setSource("数字住建-" + array[1]);
+            tReportMessage.setContext(JSON.toJSONString(sensorEventVo));
+            centereventTReportmessageService.insertCentereventTReportmessage(tReportMessage);
+        } catch (Exception e) {
+            logger.error(e.getMessage());
+        }
+        return R.ok();
+    }
 }

+ 3 - 0
src/main/java/com/sooka/sponest/event/centereventteventcatalogue/service/AlarmEventService.java

@@ -29,4 +29,7 @@ public interface AlarmEventService {
 
     // 传感器事件
     String insertSensorEvent(SensorEventVo sensorEventVo);
+
+    // 住建事件
+    String insertHousingConstructionEvent(SensorEventVo sensorEventVo);
 }

+ 47 - 1
src/main/java/com/sooka/sponest/event/centereventteventcatalogue/service/impl/AlarmEventServiceImpl.java

@@ -8,6 +8,8 @@ import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.SpringUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.ruoyi.system.api.RemoteDeptService;
+import com.ruoyi.system.api.domain.SysDept;
 import com.sooka.sponest.event.centereventtdeptevent.domain.CentereventDeptEvent;
 import com.sooka.sponest.event.centereventtdeptevent.service.ICentereventDeptEventService;
 import com.sooka.sponest.event.centereventteventcatalogue.domain.CentereventTEventcatalogue;
@@ -178,7 +180,6 @@ public class AlarmEventServiceImpl implements AlarmEventService {
         String eventCode = IdUtils.simpleUUID();
         centereventTEventcatalogue.setId(eventCode);
         centereventTEventcatalogue.setEventCode(eventCode);
-
         if (null == centereventTEventcatalogue.getReportSource()) {
             centereventTEventcatalogue.setReportSource(REPORTING_SOURCE_1);//reporting_source_1
         }
@@ -403,4 +404,49 @@ public class AlarmEventServiceImpl implements AlarmEventService {
         }
         return centereventTEventcatalogue.getEventCode() + "_" + eventtype.getEventTypeName();
     }
+
+    @Transactional
+    @Override
+    public String insertHousingConstructionEvent(SensorEventVo sensorEventVo) {
+        // 验证是否配置市级住建局
+        SysDept sysDept = new SysDept();
+        sysDept.setDeptType("sys_dept_type_31");
+        List<SysDept> listDept = SpringUtils.getBean(RemoteDeptService.class).getDeptsByDeptType(sysDept).getData();
+        if (StringUtils.isEmpty(listDept)) {
+            logger.info("无法匹配相关部门!");
+            return "";
+        }
+        // 事件目录
+        CentereventTEventtype eventtype = centereventTEventtypeService.selectCentereventTEventtypeById(sensorEventVo.getEventTypeXl());
+        String eventName = sensorEventVo.getReportor() + DateUtils.parseDateToStr(YYYY_MM_DD_HH_MM_SS, sensorEventVo.getReportTime()) + eventtype.getEventTypeName();
+        CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue(sensorEventVo.getEventType(), sensorEventVo.getEventTypeXl(), eventName, sensorEventVo.getEventDescription(), sensorEventVo.getLongitude(), sensorEventVo.getLatitude(), sensorEventVo.getReportor(), sensorEventVo.getReportTime(), sensorEventVo.getAddress());
+        centereventTEventcatalogue.setId(IdUtils.simpleUUID());
+        centereventTEventcatalogue.setEventCode(centereventTEventcatalogue.getId());
+        centereventTEventcatalogue.setReportSource(REPORTING_SOURCE_5);
+        centereventTEventcatalogue.setIsUrged(SYS_ISURGE_2);//sys_isurge_2
+        centereventTEventcatalogue.setEventStatus("归档");
+        centereventTEventcatalogue.setEventStatusValue(FOREST_EVENT_STATUS_6);//forest_event_status_6
+        centereventTEventcatalogue.setCreateBy(sensorEventVo.getSensorId());
+        centereventTEventcatalogue.setCreateName(sensorEventVo.getReportor());
+        centereventTEventcatalogue.setCreateTime(DateUtils.getNowDate());
+        centereventTEventcatalogueService.insertCentereventTEventcatalogue(centereventTEventcatalogue);
+        // 事件部门
+        listDept.forEach(item -> {
+            CentereventDeptEvent centereventTDeptEvent = new CentereventDeptEvent();
+            centereventTDeptEvent.setId(IdUtils.fastSimpleUUID());
+            centereventTDeptEvent.setEventCode(centereventTEventcatalogue.getEventCode());
+            centereventTDeptEvent.setDeptId(item.getDeptId());
+            centereventTDeptEvent.setDeptName(item.getDeptName());
+            centereventTDeptEvent.setIsUrged(SYS_ISURGE_2);
+            centereventTDeptEvent.setEventStatus("归档");
+            centereventTDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_6);
+            centereventTDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_3);
+            centereventTDeptEvent.setCreateName(centereventTEventcatalogue.getCreateName());
+            centereventTDeptEvent.setCreateTime(centereventTEventcatalogue.getCreateTime());
+            centereventTDeptEventService.insertCentereventTDeptEvent(centereventTDeptEvent);
+        });
+        // 事件日志
+        this.insertEventLog(centereventTEventcatalogue);
+        return centereventTEventcatalogue.getEventCode() + "_" + eventtype.getEventTypeName();
+    }
 }

+ 2 - 0
src/main/java/com/sooka/sponest/event/utils/EventConstants.java

@@ -13,11 +13,13 @@ public class EventConstants {
     public static final String FOREST_EVENT_STATUS_1 = "forest_event_status_1";// 上报
     public static final String FOREST_EVENT_STATUS_2 = "forest_event_status_2";// 签收
     public static final String FOREST_EVENT_STATUS_5 = "forest_event_status_5";// 办结
+    public static final String FOREST_EVENT_STATUS_6 = "forest_event_status_6";// 归档
     public static final String FOREST_EVENT_STATUS_7 = "forest_event_status_7";// 确认
 
     // 事件来源
     public static final String REPORTING_SOURCE_1 = "reporting_source_1";// AI
     public static final String REPORTING_SOURCE_4 = "reporting_source_4";// 传感器
+    public static final String REPORTING_SOURCE_5 = "reporting_source_5";// 数字住建
 
     // 是否催办
     public static final String SYS_ISURGE_2 = "sys_isurge_2";// 否