diff --git a/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAddExe.java index 57f8c62..740b1e3 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAddExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAddExe.java @@ -1,6 +1,8 @@ package com.zcloud.key.project.command.hidden; import com.alibaba.cola.exception.BizException; +import com.zcloud.key.project.command.project.MessageNoticeExe; +import com.zcloud.key.project.domain.config.MessageTemplateConfig; import com.zcloud.key.project.domain.gateway.hidden.HiddenGateway; import com.zcloud.key.project.domain.model.hidden.HiddenE; import com.zcloud.key.project.dto.hidden.HiddenAddCmd; @@ -9,6 +11,9 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; +import java.util.Map; + /** * web-app @@ -20,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional; @AllArgsConstructor public class HiddenAddExe { private final HiddenGateway hiddenGateway; + private final MessageNoticeExe messageNoticeExe; + private final MessageTemplateConfig messageTemplateConfig; @Transactional(rollbackFor = Exception.class) public boolean execute(HiddenAddCmd cmd) { @@ -29,6 +36,11 @@ public class HiddenAddExe { boolean res = false; try { res = hiddenGateway.add(hiddenE); + Map sendParams = new HashMap<>(); + messageNoticeExe.messageNotice(hiddenE.getRectificationUserId(), messageTemplateConfig.getHiddenDangerRectifyPersonApplyRectifyPass(), sendParams); + messageNoticeExe.sendMessageAddEvent(hiddenE.getRectificationUserId(), "由您负责处置隐患的摄像头发现隐患,请及时整改。","隐患待整改", hiddenE.getId(), hiddenE.getId()); + + } catch (Exception e) { throw new RuntimeException(e); } diff --git a/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionAddExe.java index 535c051..5966b18 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionAddExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionAddExe.java @@ -142,7 +142,7 @@ public class SafetyEnvironmentalInspectionAddExe { } hiddenAddCmd.setForeignKey(safetyEnvironmentalInspectionE.getInspectionId()); hiddenAddCmd.setState(1); -// hiddenAddCmd.setRectificationCorpId(safetyEnvironmentalInspectionE.getXgfMasterCorpId()); + hiddenAddCmd.setRectificationCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId()); // hiddenAddCmd.setRectificationDepartmentId(safetyEnvironmentalInspectionE.getXgfMasterDepartmentId()); hiddenAddCmd.setRectificationUserId(safetyEnvironmentalInspectionE.getXgfMasterUserId()); hiddenAddCmd.setAcceptCorpId(ssoUser.getTenantId()); diff --git a/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionDefendAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionDefendAddExe.java index 849cef6..41462c4 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionDefendAddExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionDefendAddExe.java @@ -115,6 +115,8 @@ public class SafetyEnvironmentalInspectionDefendAddExe { safetyEnvironmentalInspectionUserGateway.add(hiddenRectificationUser); //TODO 站内信 给隐患整改人发送隐患整改待处理 Map sendParamsHidden = new HashMap<>(); + sendParamsHidden.put("checkTitle", inspectionDO.getProjectName()); + sendParamsHidden.put("hiddenNumber", inspectionDO.getHiddenNumber()); messageNoticeExe.messageNotice(inspectionDO.getXgfMasterUserId(), messageTemplateConfig.getHiddenDangerRectifyPersonApplyRectify(), sendParamsHidden); messageNoticeExe.sendMessageAddEvent(inspectionDO.getXgfMasterUserId(), "您有一条安全检查任务的待整改隐患,请及时整改。","待整改", inspectionDO.getId(), hiddenRectificationUser.getId()); diff --git a/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionUpdateExe.java b/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionUpdateExe.java index 39436b8..abbd4e0 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/inspection/SafetyEnvironmentalInspectionUpdateExe.java @@ -167,7 +167,7 @@ public class SafetyEnvironmentalInspectionUpdateExe { } hiddenAddCmd.setForeignKey(safetyEnvironmentalInspectionE.getInspectionId()); hiddenAddCmd.setState(1); -// hiddenAddCmd.setRectificationCorpId(safetyEnvironmentalInspectionE.getXgfMasterCorpId()); + hiddenAddCmd.setRectificationCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId()); // hiddenAddCmd.setRectificationDepartmentId(safetyEnvironmentalInspectionE.getXgfMasterDepartmentId()); hiddenAddCmd.setRectificationUserId(safetyEnvironmentalInspectionE.getXgfMasterUserId()); hiddenAddCmd.setAcceptCorpId(ssoUser.getTenantId()); @@ -337,7 +337,7 @@ public class SafetyEnvironmentalInspectionUpdateExe { } hiddenAddCmd.setForeignKey(safetyEnvironmentalInspectionE.getInspectionId()); hiddenAddCmd.setState(1); - hiddenAddCmd.setRectificationCorpId(safetyEnvironmentalInspectionE.getXgfMasterCorpId()); + hiddenAddCmd.setRectificationCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId()); hiddenAddCmd.setRectificationDepartmentId(safetyEnvironmentalInspectionE.getXgfMasterDepartmentId()); hiddenAddCmd.setRectificationUserId(safetyEnvironmentalInspectionE.getXgfMasterUserId()); hiddenAddCmd.setAcceptCorpId(ssoUser.getTenantId()); diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CorpStatisticsCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CorpStatisticsCO.java index f6292b1..416214b 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CorpStatisticsCO.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/CorpStatisticsCO.java @@ -50,5 +50,10 @@ public class CorpStatisticsCO implements Serializable { @ApiModelProperty(value = "移动摄像头idList") private List mobileCameraIdList; + + @ApiModelProperty(value = "在线固定视频监控数") + private Integer onlineFixedCameraCount; + @ApiModelProperty(value = "在线移动视频监控数") + private Integer onlineMobileCameraCount; } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectStatisticsCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectStatisticsCO.java index 53c1f20..bc6b63c 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectStatisticsCO.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectStatisticsCO.java @@ -51,5 +51,10 @@ public class KeyProjectStatisticsCO implements Serializable { @ApiModelProperty(value = "移动摄像头idList") private List mobileCameraIdList; + + @ApiModelProperty(value = "在线固定视频监控数") + private Integer onlineFixedCameraCount; + @ApiModelProperty(value = "在线移动视频监控数") + private Integer onlineMobileCameraCount; } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/XgfCorpStatisticsCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/XgfCorpStatisticsCO.java index 97a8b86..8f4e608 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/XgfCorpStatisticsCO.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/XgfCorpStatisticsCO.java @@ -18,6 +18,8 @@ public class XgfCorpStatisticsCO implements Serializable { //企业id @ApiModelProperty(value = "辖区单位企业id") private Long jurisdictionCorpinfoId; + @ApiModelProperty(value = "辖区单位名称") + private String corpinfoName; @ApiModelProperty(value = "重点作业总数") private Integer totalProjectCount; @@ -47,5 +49,9 @@ public class XgfCorpStatisticsCO implements Serializable { @ApiModelProperty(value = "移动摄像头idList") private List mobileCameraIdList; + @ApiModelProperty(value = "在线固定视频监控数") + private Integer onlineFixedCameraCount; + @ApiModelProperty(value = "在线移动视频监控数") + private Integer onlineMobileCameraCount; } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPageQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPageQry.java index 084262e..ccf1005 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPageQry.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPageQry.java @@ -35,10 +35,13 @@ public class HiddenPageQry extends PageQuery { private String rectificationUserName; private List stateList; private Long xgfCorpinfoId; + private Long findCorpinfoId; private Integer state; - + private Long rectificationCorpId; private String menuPath; + + } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/inspection/SafetyEnvironmentalInspectionPageQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/inspection/SafetyEnvironmentalInspectionPageQry.java index ae13682..9be9e10 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/inspection/SafetyEnvironmentalInspectionPageQry.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/inspection/SafetyEnvironmentalInspectionPageQry.java @@ -40,6 +40,8 @@ public class SafetyEnvironmentalInspectionPageQry extends PageQuery { private String year; private String menuPath; private Long corpinfoId; + private String keyProjectId; + private Long inspectedCorpinfoId; diff --git a/web-domain/src/main/java/com/zcloud/key/project/domain/config/MessageTemplateConfig.java b/web-domain/src/main/java/com/zcloud/key/project/domain/config/MessageTemplateConfig.java index 7171443..5f7ccaa 100644 --- a/web-domain/src/main/java/com/zcloud/key/project/domain/config/MessageTemplateConfig.java +++ b/web-domain/src/main/java/com/zcloud/key/project/domain/config/MessageTemplateConfig.java @@ -49,5 +49,7 @@ public class MessageTemplateConfig { private String checkInitiatorApplyAcceptancePass; // 重点作业-检查发起人-验收未通过 private String checkInitiatorApplyAcceptanceNotPass; + // 重点作业-AI报警处置人-隐患待整改 + private String hiddenDangerRectifyPersonApplyRectifyPass; } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenGatewayImpl.java index 3db0f94..b8b9c4a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenGatewayImpl.java @@ -26,6 +26,7 @@ public class HiddenGatewayImpl implements HiddenGateway { HiddenDO d = new HiddenDO(); BeanUtils.copyProperties(hiddenE, d); hiddenRepository.save(d); + hiddenE.setId(d.getId()); return true; } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CorpStatisticsDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CorpStatisticsDO.java index e978105..d3595f6 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CorpStatisticsDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/CorpStatisticsDO.java @@ -47,5 +47,10 @@ public class CorpStatisticsDO implements Serializable { @ApiModelProperty(value = "移动摄像头idList") private String mobileCameraIdList; + + @ApiModelProperty(value = "在线固定视频监控数") + private Integer onlineFixedCameraCount; + @ApiModelProperty(value = "在线移动视频监控数") + private Integer onlineMobileCameraCount; } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectStatisticsDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectStatisticsDO.java index 7da9c6d..d2f14f9 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectStatisticsDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectStatisticsDO.java @@ -51,5 +51,10 @@ public class KeyProjectStatisticsDO implements Serializable { @ApiModelProperty(value = "移动摄像头idList") private String mobileCameraIdList; + + @ApiModelProperty(value = "在线固定视频监控数") + private Integer onlineFixedCameraCount; + @ApiModelProperty(value = "在线移动视频监控数") + private Integer onlineMobileCameraCount; } diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/XgfCorpStatisticsDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/XgfCorpStatisticsDO.java index e9737de..032d73f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/XgfCorpStatisticsDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/XgfCorpStatisticsDO.java @@ -17,6 +17,9 @@ public class XgfCorpStatisticsDO implements Serializable { //企业id @ApiModelProperty(value = "企业id") private Long jurisdictionCorpinfoId; + //企业名称 + @ApiModelProperty(value = "企业名称") + private String corpinfoName; @ApiModelProperty(value = "重点作业总数") private Integer totalProjectCount; @@ -46,5 +49,10 @@ public class XgfCorpStatisticsDO implements Serializable { @ApiModelProperty(value = "移动摄像头idList") private String mobileCameraIdList; + + @ApiModelProperty(value = "在线固定视频监控数") + private Integer onlineFixedCameraCount; + @ApiModelProperty(value = "在线移动视频监控数") + private Integer onlineMobileCameraCount; } diff --git a/web-infrastructure/src/main/resources/mapper/HiddenMapper.xml b/web-infrastructure/src/main/resources/mapper/HiddenMapper.xml index d6e262c..03f9e47 100644 --- a/web-infrastructure/src/main/resources/mapper/HiddenMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/HiddenMapper.xml @@ -43,6 +43,9 @@ and h.create_time <= #{params.endTime} + + and i.key_project_id = #{params.keyProjectId} + and ( kp.project_name LIKE CONCAT('%', #{params.projectName}, '%') @@ -72,6 +75,13 @@ kp2.xgf_corpinfo_id = #{params.xgfCorpinfoId} ) + + and hf.find_corp_id = #{params.findCorpinfoId} + + + and h.rectification_corp_id = #{params.rectificationCorpId} + + and EXISTS ( SELECT 1 FROM hidden_find_user hf2 diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml index d0e23c6..9bfeb7c 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -211,17 +211,36 @@ COUNT(DISTINCT CASE WHEN kp.apply_status = 6 THEN kp.id END) AS completeCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount, + COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 AND c.is_online = 1 THEN kpc.camera_id END) AS onlineFixedCameraCount, + COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 AND c.is_online = 1 THEN kpc.camera_id END) AS onlineMobileCameraCount, COUNT(DISTINCT sei.id) AS inspectCount, - COUNT(DISTINCT h.id) AS hazardCount, + COALESCE(hz.hazardCount, 0) AS hazardCount, GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraIdList, GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList FROM corp_info cp LEFT JOIN key_project kp - ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE' AND kp.apply_status NOT IN (0,1) + ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE' AND kp.apply_status != 0 left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE' + LEFT JOIN camera c ON c.camera_id = kpc.camera_id left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and sei.status != 0 - left join hidden h on cp.id = h.tenant_id AND h.delete_enum = 'FALSE' + LEFT JOIN ( + SELECT + hfu.find_corp_id, + COUNT(DISTINCT h.id) AS hazardCount + FROM + hidden_find_user hfu + INNER JOIN hidden h ON h.hidden_id = hfu.hidden_id + AND h.delete_enum = 'FALSE' + LEFT JOIN safety_environmental_inspection hi ON hi.inspection_id = h.foreign_key + AND hi.STATUS IN (3, 5) + AND h.source IN (2, 3) + WHERE + hfu.delete_enum = 'FALSE' + AND (h.source NOT IN (2, 3) OR hi.inspection_id IS NOT NULL) + GROUP BY + hfu.find_corp_id + ) hz ON hz.find_corp_id = cp.id WHERE cp.delete_enum = 'FALSE' AND cp.use_flag = 1 AND cp.type IN (0, 1, 2, 6) @@ -239,12 +258,15 @@ kp.project_id as projectId, COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount, + COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 AND c.is_online = 1 THEN kpc.camera_id END) AS onlineFixedCameraCount, + COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 AND c.is_online = 1 THEN kpc.camera_id END) AS onlineMobileCameraCount, COUNT(DISTINCT sei.id) AS inspectCount, COUNT(DISTINCT h.id) AS hazardCount, GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraIdList, GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList from key_project kp left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE' + LEFT JOIN camera c ON c.camera_id = kpc.camera_id left join safety_environmental_inspection sei on kp.key_project_id = sei.key_project_id AND sei.delete_enum = 'FALSE' and sei.status != 0 left join hidden h on sei.inspection_id = h.foreign_key AND h.delete_enum = 'FALSE' where kp.delete_enum = 'FALSE' @@ -257,7 +279,65 @@ ORDER BY kp.apply_status asc, kp.create_time DESC + + +