From 679dfe8a68fe56100e708f112c1060d661d7b136 Mon Sep 17 00:00:00 2001
From: huangzhen <867127663@qq.com>
Date: 星期五, 30 九月 2022 16:41:03 +0800
Subject: [PATCH] 完成SPI数据提供接口
---
src/main/java/com/ruoyi/doublePrevention/repository/TrHiddenDangerCheckPointRepository.java | 24
src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRectifiedRespDO.java | 28
src/main/java/com/ruoyi/doublePrevention/service/SPIDataCountService.java | 13
src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRespDO.java | 27
src/main/resources/mybatis/doublePrevention/PreventRiskDangerInfoMapper.xml | 27
src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerResultRespDO.java | 48 +
src/main/java/com/ruoyi/doublePrevention/service/impl/SPIDataCountServiceImpl.java | 200 ++++++
src/main/java/com/ruoyi/doublePrevention/entity/DoublePreventDept.java | 175 +++++
pom.xml | 7
src/main/java/com/ruoyi/doublePrevention/service/baseService/DoublePreventionDeptService.java | 19
src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskDangerInfoServiceImpl.java | 16
src/main/resources/mybatis/doublePrevention/DoublePreventDeptMapper.xml | 33 +
src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskDangerInfoRepository.java | 11
src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/TrHiddenDangerCheckPointServiceImpl.java | 34 +
src/main/java/com/ruoyi/doublePrevention/entity/dto/resp/SPIDataCountRespDTO.java | 134 ++++
src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/DoublePreventionDeptServiceImpl.java | 33 +
src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml | 111 +++
src/main/java/com/ruoyi/doublePrevention/repository/param/DataCountStartAndEndTimeParams.java | 27
src/main/java/com/ruoyi/doublePrevention/entity/TrHiddenDangerCheckPoint.java | 658 +++++++++++++++++++++
src/main/java/com/ruoyi/doublePrevention/controller/SPIDataCountController.java | 29
src/main/java/com/ruoyi/doublePrevention/repository/DoublePreventDeptRepository.java | 20
src/main/java/com/ruoyi/doublePrevention/entity/dto/req/SPIDataCountReqDTO.java | 46 +
src/main/java/com/ruoyi/doublePrevention/service/baseService/TrHiddenDangerCheckPointService.java | 21
src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskDangerInfoService.java | 11
24 files changed, 1,752 insertions(+), 0 deletions(-)
diff --git a/pom.xml b/pom.xml
index 9fc3a70..4da3b93 100644
--- a/pom.xml
+++ b/pom.xml
@@ -317,6 +317,13 @@
<artifactId>core</artifactId>
<version>3.2.1</version>
</dependency>
+
+ <!--后面是新增的依赖-->
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.11</version>
+ </dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
diff --git a/src/main/java/com/ruoyi/doublePrevention/controller/SPIDataCountController.java b/src/main/java/com/ruoyi/doublePrevention/controller/SPIDataCountController.java
new file mode 100644
index 0000000..417032e
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/controller/SPIDataCountController.java
@@ -0,0 +1,29 @@
+package com.ruoyi.doublePrevention.controller;
+
+
+import com.ruoyi.doublePrevention.entity.dto.req.SPIDataCountReqDTO;
+import com.ruoyi.doublePrevention.entity.dto.resp.SPIDataCountRespDTO;
+import com.ruoyi.doublePrevention.service.SPIDataCountService;
+import com.ruoyi.doublePrevention.vo.ResultVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/SPIDataCount")
+public class SPIDataCountController {
+
+ @Autowired
+ private SPIDataCountService spiDataCountService;
+
+ /**
+ * @description 按年或者月统计隐患数量
+ */
+ @PostMapping("/select/listDangerResultCountByMonthOrYear")
+ public ResultVO<SPIDataCountRespDTO> listDangerResultCountByMonthOrYear(@RequestBody SPIDataCountReqDTO spiDataCountReqDTO) {
+ return spiDataCountService.listDangerResultCountByMonthOrYear(spiDataCountReqDTO);
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/DoublePreventDept.java b/src/main/java/com/ruoyi/doublePrevention/entity/DoublePreventDept.java
new file mode 100644
index 0000000..71e030f
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/entity/DoublePreventDept.java
@@ -0,0 +1,175 @@
+package com.ruoyi.doublePrevention.entity;
+
+import com.ruoyi.project.system.company.domain.Company;
+
+import java.util.Date;
+import java.util.List;
+
+public class DoublePreventDept {
+
+ /** 部门ID */
+ private Long deptId;
+
+ /** 父部门ID */
+ private Long parentId;
+
+ /** 祖级列表 */
+ private String ancestors;
+
+ /** 部门名称 */
+ private String deptName;
+
+ /** 显示顺序 */
+ private String orderNum;
+
+ /** 负责人 */
+ private String leader;
+
+ /** 联系电话 */
+ private String phone;
+
+ /** 邮箱 */
+ private String email;
+
+ /** 部门状态:0正常,1停用 */
+ private String status;
+
+ /** 删除标志(0代表存在 2代表删除) */
+ private String delFlag;
+
+ /** 创建人 */
+ private String createBy;
+
+ /** 创建时间 */
+ private Date createTime;
+
+ /** 更新人 */
+ private String updateBy;
+
+ /** 更新时间 */
+ private Date updateTime;
+
+ /** 所属公司 */
+ private Long companyId;
+
+
+ public Long getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
+
+ public Long getParentId() {
+ return parentId;
+ }
+
+ public void setParentId(Long parentId) {
+ this.parentId = parentId;
+ }
+
+ public String getAncestors() {
+ return ancestors;
+ }
+
+ public void setAncestors(String ancestors) {
+ this.ancestors = ancestors;
+ }
+
+ public String getDeptName() {
+ return deptName;
+ }
+
+ public void setDeptName(String deptName) {
+ this.deptName = deptName;
+ }
+
+ public String getOrderNum() {
+ return orderNum;
+ }
+
+ public void setOrderNum(String orderNum) {
+ this.orderNum = orderNum;
+ }
+
+ public String getLeader() {
+ return leader;
+ }
+
+ public void setLeader(String leader) {
+ this.leader = leader;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getDelFlag() {
+ return delFlag;
+ }
+
+ public void setDelFlag(String delFlag) {
+ this.delFlag = delFlag;
+ }
+
+ public String getCreateBy() {
+ return createBy;
+ }
+
+ public void setCreateBy(String createBy) {
+ this.createBy = createBy;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getUpdateBy() {
+ return updateBy;
+ }
+
+ public void setUpdateBy(String updateBy) {
+ this.updateBy = updateBy;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public Long getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Long companyId) {
+ this.companyId = companyId;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/TrHiddenDangerCheckPoint.java b/src/main/java/com/ruoyi/doublePrevention/entity/TrHiddenDangerCheckPoint.java
new file mode 100644
index 0000000..427585e
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/entity/TrHiddenDangerCheckPoint.java
@@ -0,0 +1,658 @@
+package com.ruoyi.doublePrevention.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description 只用于接收对象 新增不用这个实体类 用源系统的实体类
+ */
+@TableName("tr_hidden_danger_check_point")
+public class TrHiddenDangerCheckPoint {
+
+ /** 主键ID */
+ private Long id;
+
+ /** 隐患排查检查点信息ID */
+ private Long checkPointId;
+
+ /** 隐患排查ID */
+ private Long checkId;
+
+ /** 创建人 */
+ private String createBy;
+
+ /** 创建时间 */
+ private Date createTime;
+
+ /** 更新人 */
+ private String updateBy;
+
+ /** 更新时间 */
+ private Date updateTime;
+
+ /** 备注 */
+ private String remark;
+
+ /** 是否为隐患 */
+ private String whetherDanger;
+
+ /** 隐患名称 */
+ private String dangerName;
+
+ /** 隐患描述 */
+ private String dangerDescription;
+
+ /** 隐患级别(0一般隐患 1重大隐患) */
+ private String dangerLevel;
+
+ /** 隐患类别ID */
+ private Long troubleTypeId;
+
+ /** 隐患类别名称 */
+ private String troubleTypeName;
+
+ /** 排查时间 */
+ private Date checkTime;
+
+ /** 隐患整改前照片 */
+ private String preRectifyPhoto;
+
+ /** 登记人ID */
+ private Long registerUserId;
+
+ /** 登记人名称 */
+ private String registerUserName;
+
+ /** 登记创建时间 */
+ private Date registerCreateTime;
+
+
+ /** 登记提交时间 */
+ private Date registerSubmitTime;
+
+ /** 判定人ID */
+ private Long judgeUserId;
+
+ /** 判定人名称 */
+ private String judgeUserName;
+
+
+ /** 判定创建时间 */
+ private Date judgeCreateTime;
+
+
+ /** 隐患上报创建人ID */
+ private Long judgeCreateUserId;
+
+ /** 隐患来源(1隐患计划排查生成 2隐患上报生成) */
+ private String dangerSources;
+
+ /** 上报判定结果(0未判定 1不是隐患 2是隐患) */
+ private String reportStatus;
+
+ /** 核查人ID */
+ private Long examineUserId;
+
+ /** 核查人名称 */
+ private String examineUserName;
+
+ /** 核查状态(0待核查 1已核查) */
+ private String examineStatus;
+
+ /** 隐患核查意见 */
+ private String examineOpinion;
+
+ /** 隐患核查结果(0一般隐患 1重大隐患) */
+ private String examineResult;
+
+ /** 核查创建时间 */
+ private Date examineCreateTime;
+
+ /** 治理措施 */
+ private String treatMeasure;
+
+ /** 整改人ID */
+ private Long rectifyUserId;
+
+ /** 整改人名称 */
+ private String rectifyUserName;
+
+ /** 隐患整改责任部门ID */
+ private Long rectifyDeptId;
+
+ /** 隐患整改责任部门名称 */
+ private String rectifyDeptName;
+
+ /** 完成期限 */
+ private Date rectifyDeadlineTime;
+
+ /** 整改类型(1立即整改 2限期整改 3停产停业整改) */
+ private String rectifyType;
+
+ /** 整改附件地址 */
+ private String rectifyAttachment;
+
+ /** 整改措施 */
+ private String rectifyMeasure;
+
+ /** 整改情况 */
+ private String rectifyCondition;
+
+ /** 整改资金 */
+ private String rectifyFund;
+
+ /** 整改完成时间 */
+ private Date rectifyCompleteTime;
+
+ /** 整改状态(0未整改 1已整改) */
+ private String rectifyStatus;
+
+ /** 整改创建时间 */
+ private Date rectifyCreateTime;
+
+ /** 验收负责人ID */
+ private Long acceptUserId;
+
+ /** 验收负责人姓名 */
+ private String acceptUserName;
+
+ /** 隐患整改后照片 */
+ private String postRectifyPhoto;
+
+ /** 验收结果 */
+ private String acceptResult;
+
+ /** 验收意见 */
+ private String acceptOpinion;
+
+ /** 验收文件 */
+ private String acceptFile;
+
+ /** 验收状态(0未验收 1验收通过) */
+ private String acceptStatus;
+
+
+ /** 验收创建时间 */
+ private Date acceptCreateTime;
+
+ /** 隐患排查阶段(1隐患排查计划制定阶段 2隐患排查计划执行阶段 3隐患核查阶段 4隐患整改阶段 5隐患验收阶段) */
+ private String stage;
+
+ /** 排查状态(0待排查 1已排查)(定时任务生成的数据) */
+ private String scheduleCheckStatus;
+
+ //排查类型(1基础清单排查 2选择风险单元清单排查)
+ private String checkType;
+
+ /** 公司id */
+ private Long companyId;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Long getCheckPointId() {
+ return checkPointId;
+ }
+
+ public void setCheckPointId(Long checkPointId) {
+ this.checkPointId = checkPointId;
+ }
+
+ public Long getCheckId() {
+ return checkId;
+ }
+
+ public void setCheckId(Long checkId) {
+ this.checkId = checkId;
+ }
+
+ public String getCreateBy() {
+ return createBy;
+ }
+
+ public void setCreateBy(String createBy) {
+ this.createBy = createBy;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getUpdateBy() {
+ return updateBy;
+ }
+
+ public void setUpdateBy(String updateBy) {
+ this.updateBy = updateBy;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public String getWhetherDanger() {
+ return whetherDanger;
+ }
+
+ public void setWhetherDanger(String whetherDanger) {
+ this.whetherDanger = whetherDanger;
+ }
+
+ public String getDangerName() {
+ return dangerName;
+ }
+
+ public void setDangerName(String dangerName) {
+ this.dangerName = dangerName;
+ }
+
+ public String getDangerDescription() {
+ return dangerDescription;
+ }
+
+ public void setDangerDescription(String dangerDescription) {
+ this.dangerDescription = dangerDescription;
+ }
+
+ public String getDangerLevel() {
+ return dangerLevel;
+ }
+
+ public void setDangerLevel(String dangerLevel) {
+ this.dangerLevel = dangerLevel;
+ }
+
+ public Long getTroubleTypeId() {
+ return troubleTypeId;
+ }
+
+ public void setTroubleTypeId(Long troubleTypeId) {
+ this.troubleTypeId = troubleTypeId;
+ }
+
+ public String getTroubleTypeName() {
+ return troubleTypeName;
+ }
+
+ public void setTroubleTypeName(String troubleTypeName) {
+ this.troubleTypeName = troubleTypeName;
+ }
+
+ public Date getCheckTime() {
+ return checkTime;
+ }
+
+ public void setCheckTime(Date checkTime) {
+ this.checkTime = checkTime;
+ }
+
+ public String getPreRectifyPhoto() {
+ return preRectifyPhoto;
+ }
+
+ public void setPreRectifyPhoto(String preRectifyPhoto) {
+ this.preRectifyPhoto = preRectifyPhoto;
+ }
+
+ public Long getRegisterUserId() {
+ return registerUserId;
+ }
+
+ public void setRegisterUserId(Long registerUserId) {
+ this.registerUserId = registerUserId;
+ }
+
+ public String getRegisterUserName() {
+ return registerUserName;
+ }
+
+ public void setRegisterUserName(String registerUserName) {
+ this.registerUserName = registerUserName;
+ }
+
+ public Date getRegisterCreateTime() {
+ return registerCreateTime;
+ }
+
+ public void setRegisterCreateTime(Date registerCreateTime) {
+ this.registerCreateTime = registerCreateTime;
+ }
+
+ public Date getRegisterSubmitTime() {
+ return registerSubmitTime;
+ }
+
+ public void setRegisterSubmitTime(Date registerSubmitTime) {
+ this.registerSubmitTime = registerSubmitTime;
+ }
+
+ public Long getJudgeUserId() {
+ return judgeUserId;
+ }
+
+ public void setJudgeUserId(Long judgeUserId) {
+ this.judgeUserId = judgeUserId;
+ }
+
+ public String getJudgeUserName() {
+ return judgeUserName;
+ }
+
+ public void setJudgeUserName(String judgeUserName) {
+ this.judgeUserName = judgeUserName;
+ }
+
+ public Date getJudgeCreateTime() {
+ return judgeCreateTime;
+ }
+
+ public void setJudgeCreateTime(Date judgeCreateTime) {
+ this.judgeCreateTime = judgeCreateTime;
+ }
+
+ public Long getJudgeCreateUserId() {
+ return judgeCreateUserId;
+ }
+
+ public void setJudgeCreateUserId(Long judgeCreateUserId) {
+ this.judgeCreateUserId = judgeCreateUserId;
+ }
+
+ public String getDangerSources() {
+ return dangerSources;
+ }
+
+ public void setDangerSources(String dangerSources) {
+ this.dangerSources = dangerSources;
+ }
+
+ public String getReportStatus() {
+ return reportStatus;
+ }
+
+ public void setReportStatus(String reportStatus) {
+ this.reportStatus = reportStatus;
+ }
+
+ public Long getExamineUserId() {
+ return examineUserId;
+ }
+
+ public void setExamineUserId(Long examineUserId) {
+ this.examineUserId = examineUserId;
+ }
+
+ public String getExamineUserName() {
+ return examineUserName;
+ }
+
+ public void setExamineUserName(String examineUserName) {
+ this.examineUserName = examineUserName;
+ }
+
+ public String getExamineStatus() {
+ return examineStatus;
+ }
+
+ public void setExamineStatus(String examineStatus) {
+ this.examineStatus = examineStatus;
+ }
+
+ public String getExamineOpinion() {
+ return examineOpinion;
+ }
+
+ public void setExamineOpinion(String examineOpinion) {
+ this.examineOpinion = examineOpinion;
+ }
+
+ public String getExamineResult() {
+ return examineResult;
+ }
+
+ public void setExamineResult(String examineResult) {
+ this.examineResult = examineResult;
+ }
+
+ public Date getExamineCreateTime() {
+ return examineCreateTime;
+ }
+
+ public void setExamineCreateTime(Date examineCreateTime) {
+ this.examineCreateTime = examineCreateTime;
+ }
+
+ public String getTreatMeasure() {
+ return treatMeasure;
+ }
+
+ public void setTreatMeasure(String treatMeasure) {
+ this.treatMeasure = treatMeasure;
+ }
+
+ public Long getRectifyUserId() {
+ return rectifyUserId;
+ }
+
+ public void setRectifyUserId(Long rectifyUserId) {
+ this.rectifyUserId = rectifyUserId;
+ }
+
+ public String getRectifyUserName() {
+ return rectifyUserName;
+ }
+
+ public void setRectifyUserName(String rectifyUserName) {
+ this.rectifyUserName = rectifyUserName;
+ }
+
+ public Long getRectifyDeptId() {
+ return rectifyDeptId;
+ }
+
+ public void setRectifyDeptId(Long rectifyDeptId) {
+ this.rectifyDeptId = rectifyDeptId;
+ }
+
+ public String getRectifyDeptName() {
+ return rectifyDeptName;
+ }
+
+ public void setRectifyDeptName(String rectifyDeptName) {
+ this.rectifyDeptName = rectifyDeptName;
+ }
+
+ public Date getRectifyDeadlineTime() {
+ return rectifyDeadlineTime;
+ }
+
+ public void setRectifyDeadlineTime(Date rectifyDeadlineTime) {
+ this.rectifyDeadlineTime = rectifyDeadlineTime;
+ }
+
+ public String getRectifyType() {
+ return rectifyType;
+ }
+
+ public void setRectifyType(String rectifyType) {
+ this.rectifyType = rectifyType;
+ }
+
+ public String getRectifyAttachment() {
+ return rectifyAttachment;
+ }
+
+ public void setRectifyAttachment(String rectifyAttachment) {
+ this.rectifyAttachment = rectifyAttachment;
+ }
+
+ public String getRectifyMeasure() {
+ return rectifyMeasure;
+ }
+
+ public void setRectifyMeasure(String rectifyMeasure) {
+ this.rectifyMeasure = rectifyMeasure;
+ }
+
+ public String getRectifyCondition() {
+ return rectifyCondition;
+ }
+
+ public void setRectifyCondition(String rectifyCondition) {
+ this.rectifyCondition = rectifyCondition;
+ }
+
+ public String getRectifyFund() {
+ return rectifyFund;
+ }
+
+ public void setRectifyFund(String rectifyFund) {
+ this.rectifyFund = rectifyFund;
+ }
+
+ public Date getRectifyCompleteTime() {
+ return rectifyCompleteTime;
+ }
+
+ public void setRectifyCompleteTime(Date rectifyCompleteTime) {
+ this.rectifyCompleteTime = rectifyCompleteTime;
+ }
+
+ public String getRectifyStatus() {
+ return rectifyStatus;
+ }
+
+ public void setRectifyStatus(String rectifyStatus) {
+ this.rectifyStatus = rectifyStatus;
+ }
+
+ public Date getRectifyCreateTime() {
+ return rectifyCreateTime;
+ }
+
+ public void setRectifyCreateTime(Date rectifyCreateTime) {
+ this.rectifyCreateTime = rectifyCreateTime;
+ }
+
+ public Long getAcceptUserId() {
+ return acceptUserId;
+ }
+
+ public void setAcceptUserId(Long acceptUserId) {
+ this.acceptUserId = acceptUserId;
+ }
+
+ public String getAcceptUserName() {
+ return acceptUserName;
+ }
+
+ public void setAcceptUserName(String acceptUserName) {
+ this.acceptUserName = acceptUserName;
+ }
+
+ public String getPostRectifyPhoto() {
+ return postRectifyPhoto;
+ }
+
+ public void setPostRectifyPhoto(String postRectifyPhoto) {
+ this.postRectifyPhoto = postRectifyPhoto;
+ }
+
+ public String getAcceptResult() {
+ return acceptResult;
+ }
+
+ public void setAcceptResult(String acceptResult) {
+ this.acceptResult = acceptResult;
+ }
+
+ public String getAcceptOpinion() {
+ return acceptOpinion;
+ }
+
+ public void setAcceptOpinion(String acceptOpinion) {
+ this.acceptOpinion = acceptOpinion;
+ }
+
+ public String getAcceptFile() {
+ return acceptFile;
+ }
+
+ public void setAcceptFile(String acceptFile) {
+ this.acceptFile = acceptFile;
+ }
+
+ public String getAcceptStatus() {
+ return acceptStatus;
+ }
+
+ public void setAcceptStatus(String acceptStatus) {
+ this.acceptStatus = acceptStatus;
+ }
+
+ public Date getAcceptCreateTime() {
+ return acceptCreateTime;
+ }
+
+ public void setAcceptCreateTime(Date acceptCreateTime) {
+ this.acceptCreateTime = acceptCreateTime;
+ }
+
+ public String getStage() {
+ return stage;
+ }
+
+ public void setStage(String stage) {
+ this.stage = stage;
+ }
+
+ public String getScheduleCheckStatus() {
+ return scheduleCheckStatus;
+ }
+
+ public void setScheduleCheckStatus(String scheduleCheckStatus) {
+ this.scheduleCheckStatus = scheduleCheckStatus;
+ }
+
+ public String getCheckType() {
+ return checkType;
+ }
+
+ public void setCheckType(String checkType) {
+ this.checkType = checkType;
+ }
+
+ public Long getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Long companyId) {
+ this.companyId = companyId;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRectifiedRespDO.java b/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRectifiedRespDO.java
new file mode 100644
index 0000000..dbee092
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRectifiedRespDO.java
@@ -0,0 +1,28 @@
+package com.ruoyi.doublePrevention.entity.dto;
+
+public class DataCountDangerLevelRectifiedRespDO {
+
+
+ //重大隐患数量-已经整改
+ private Integer heavyRiskRectifyCount;
+
+ //一般隐患数量-已经整改
+ private Integer lightRiskRectifyCount;
+
+
+ public Integer getHeavyRiskRectifyCount() {
+ return heavyRiskRectifyCount;
+ }
+
+ public void setHeavyRiskRectifyCount(Integer heavyRiskRectifyCount) {
+ this.heavyRiskRectifyCount = heavyRiskRectifyCount;
+ }
+
+ public Integer getLightRiskRectifyCount() {
+ return lightRiskRectifyCount;
+ }
+
+ public void setLightRiskRectifyCount(Integer lightRiskRectifyCount) {
+ this.lightRiskRectifyCount = lightRiskRectifyCount;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRespDO.java b/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRespDO.java
new file mode 100644
index 0000000..0516b55
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRespDO.java
@@ -0,0 +1,27 @@
+package com.ruoyi.doublePrevention.entity.dto;
+
+public class DataCountDangerLevelRespDO {
+
+ //重大隐患数量
+ private Integer heavyRiskCount;
+
+ //一般隐患数量
+ private Integer lightRiskCount;
+
+
+ public Integer getHeavyRiskCount() {
+ return heavyRiskCount;
+ }
+
+ public void setHeavyRiskCount(Integer heavyRiskCount) {
+ this.heavyRiskCount = heavyRiskCount;
+ }
+
+ public Integer getLightRiskCount() {
+ return lightRiskCount;
+ }
+
+ public void setLightRiskCount(Integer lightRiskCount) {
+ this.lightRiskCount = lightRiskCount;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerResultRespDO.java b/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerResultRespDO.java
new file mode 100644
index 0000000..8cc0bf6
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerResultRespDO.java
@@ -0,0 +1,48 @@
+package com.ruoyi.doublePrevention.entity.dto;
+
+public class DataCountDangerResultRespDO {
+
+ //一段时间内的隐患数量
+ private Integer riskCount;
+
+ //导致死亡的的隐患数量
+ private Integer deathCount;
+
+ //导致重伤的隐患数量
+ private Integer heavyInjureCount;
+
+ //导致轻伤的隐患数量
+ private Integer lightInjureCount;
+
+ public Integer getRiskCount() {
+ return riskCount;
+ }
+
+ public void setRiskCount(Integer riskCount) {
+ this.riskCount = riskCount;
+ }
+
+ public Integer getDeathCount() {
+ return deathCount;
+ }
+
+ public void setDeathCount(Integer deathCount) {
+ this.deathCount = deathCount;
+ }
+
+ public Integer getHeavyInjureCount() {
+ return heavyInjureCount;
+ }
+
+ public void setHeavyInjureCount(Integer heavyInjureCount) {
+ this.heavyInjureCount = heavyInjureCount;
+ }
+
+ public Integer getLightInjureCount() {
+ return lightInjureCount;
+ }
+
+ public void setLightInjureCount(Integer lightInjureCount) {
+ this.lightInjureCount = lightInjureCount;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/dto/req/SPIDataCountReqDTO.java b/src/main/java/com/ruoyi/doublePrevention/entity/dto/req/SPIDataCountReqDTO.java
new file mode 100644
index 0000000..18e9d98
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/entity/dto/req/SPIDataCountReqDTO.java
@@ -0,0 +1,46 @@
+package com.ruoyi.doublePrevention.entity.dto.req;
+
+public class SPIDataCountReqDTO {
+
+ private Integer month;
+
+ private Integer year;
+
+ /* 时间类型,1-月; 2-年*/
+ private Byte type;
+
+ /* 部门id*/
+ private Long depId;
+
+ public Integer getMonth() {
+ return month;
+ }
+
+ public void setMonth(Integer month) {
+ this.month = month;
+ }
+
+ public Integer getYear() {
+ return year;
+ }
+
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
+ public Byte getType() {
+ return type;
+ }
+
+ public void setType(Byte type) {
+ this.type = type;
+ }
+
+ public Long getDepId() {
+ return depId;
+ }
+
+ public void setDepId(Long depId) {
+ this.depId = depId;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/dto/resp/SPIDataCountRespDTO.java b/src/main/java/com/ruoyi/doublePrevention/entity/dto/resp/SPIDataCountRespDTO.java
new file mode 100644
index 0000000..dfe1f3c
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/entity/dto/resp/SPIDataCountRespDTO.java
@@ -0,0 +1,134 @@
+package com.ruoyi.doublePrevention.entity.dto.resp;
+
+public class SPIDataCountRespDTO {
+
+ private Integer year;
+
+ private Integer month;
+
+ //一段时间内的隐患数量
+ private Integer riskCount;
+
+ //导致死亡的的隐患数量
+ private Integer deathCount;
+
+ //导致重伤的隐患数量
+ private Integer heavyInjureCount;
+
+ //导致轻伤的隐患数量
+ private Integer lightInjureCount;
+
+ //重大隐患数量
+ private Integer heavyRiskCount;
+
+ //一般隐患数量
+ private Integer lightRiskCount;
+
+ //重大隐患数量-已经整改
+ private Integer heavyRiskRectifyCount;
+
+ //一般隐患数量-已经整改
+ private Integer lightRiskRectifyCount;
+
+ /* 部门id*/
+ private Long depId;
+
+ /* 部门名称*/
+ private String dep;
+
+ public Integer getYear() {
+ return year;
+ }
+
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
+ public Integer getMonth() {
+ return month;
+ }
+
+ public void setMonth(Integer month) {
+ this.month = month;
+ }
+
+ public Integer getRiskCount() {
+ return riskCount;
+ }
+
+ public void setRiskCount(Integer riskCount) {
+ this.riskCount = riskCount;
+ }
+
+ public Integer getDeathCount() {
+ return deathCount;
+ }
+
+ public void setDeathCount(Integer deathCount) {
+ this.deathCount = deathCount;
+ }
+
+ public Integer getHeavyInjureCount() {
+ return heavyInjureCount;
+ }
+
+ public void setHeavyInjureCount(Integer heavyInjureCount) {
+ this.heavyInjureCount = heavyInjureCount;
+ }
+
+ public Integer getLightInjureCount() {
+ return lightInjureCount;
+ }
+
+ public void setLightInjureCount(Integer lightInjureCount) {
+ this.lightInjureCount = lightInjureCount;
+ }
+
+ public Long getDepId() {
+ return depId;
+ }
+
+ public void setDepId(Long depId) {
+ this.depId = depId;
+ }
+
+ public String getDep() {
+ return dep;
+ }
+
+ public void setDep(String dep) {
+ this.dep = dep;
+ }
+
+ public Integer getHeavyRiskCount() {
+ return heavyRiskCount;
+ }
+
+ public void setHeavyRiskCount(Integer heavyRiskCount) {
+ this.heavyRiskCount = heavyRiskCount;
+ }
+
+ public Integer getLightRiskCount() {
+ return lightRiskCount;
+ }
+
+ public void setLightRiskCount(Integer lightRiskCount) {
+ this.lightRiskCount = lightRiskCount;
+ }
+
+ public Integer getHeavyRiskRectifyCount() {
+ return heavyRiskRectifyCount;
+ }
+
+ public void setHeavyRiskRectifyCount(Integer heavyRiskRectifyCount) {
+ this.heavyRiskRectifyCount = heavyRiskRectifyCount;
+ }
+
+ public Integer getLightRiskRectifyCount() {
+ return lightRiskRectifyCount;
+ }
+
+ public void setLightRiskRectifyCount(Integer lightRiskRectifyCount) {
+ this.lightRiskRectifyCount = lightRiskRectifyCount;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/repository/DoublePreventDeptRepository.java b/src/main/java/com/ruoyi/doublePrevention/repository/DoublePreventDeptRepository.java
new file mode 100644
index 0000000..c2a0eda
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/repository/DoublePreventDeptRepository.java
@@ -0,0 +1,20 @@
+package com.ruoyi.doublePrevention.repository;
+
+import com.ruoyi.doublePrevention.entity.DoublePreventDept;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface DoublePreventDeptRepository {
+
+ /**
+ * @description 根据部门id查询部门
+ */
+ DoublePreventDept getDepInfoByDepId(Long depId);
+
+ /**
+ * @description 根据当前部门的祖级列表获取子部门的deptId
+ */
+ List<Long> listDepAndSubDepIds(String ancestors);
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskDangerInfoRepository.java b/src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskDangerInfoRepository.java
index ab46936..946f7de8 100644
--- a/src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskDangerInfoRepository.java
+++ b/src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskDangerInfoRepository.java
@@ -1,7 +1,13 @@
package com.ruoyi.doublePrevention.repository;
import com.ruoyi.doublePrevention.entity.PreventRiskDangerInfo;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerResultRespDO;
+import com.ruoyi.doublePrevention.repository.param.DataCountStartAndEndTimeParams;
+import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
@Repository
public interface PreventRiskDangerInfoRepository {
@@ -16,4 +22,9 @@
int updateDangerInfo(PreventRiskDangerInfo dangerInfo);
int deleteDangerInfo(Long id);
+
+ /**
+ * @description 统计时间段内所有、死亡、重伤、轻伤的隐患数量
+ */
+ DataCountDangerResultRespDO listDangerResultCountByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime,@Param("depIds") List<Long> depIds);
}
diff --git a/src/main/java/com/ruoyi/doublePrevention/repository/TrHiddenDangerCheckPointRepository.java b/src/main/java/com/ruoyi/doublePrevention/repository/TrHiddenDangerCheckPointRepository.java
new file mode 100644
index 0000000..2a53c96
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/repository/TrHiddenDangerCheckPointRepository.java
@@ -0,0 +1,24 @@
+package com.ruoyi.doublePrevention.repository;
+
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRectifiedRespDO;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRespDO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
+
+@Repository
+public interface TrHiddenDangerCheckPointRepository {
+
+ /**
+ * @description 统计时间段内一般、重大、一般已整改、重大已整改的隐患数量
+ */
+ DataCountDangerLevelRespDO listDangerLevelCountByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("depIds") List<Long> depIds);
+
+ /**
+ * @description 统计时间段内一般已整改、重大已整改的隐患数量
+ */
+ DataCountDangerLevelRectifiedRespDO listDangerLevelRectifiedCountByTime(@Param("startTime") Date startTime,
+ @Param("endTime") Date endTime,@Param("depIds") List<Long> depIds);
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/repository/param/DataCountStartAndEndTimeParams.java b/src/main/java/com/ruoyi/doublePrevention/repository/param/DataCountStartAndEndTimeParams.java
new file mode 100644
index 0000000..2a04913
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/repository/param/DataCountStartAndEndTimeParams.java
@@ -0,0 +1,27 @@
+package com.ruoyi.doublePrevention.repository.param;
+
+import java.util.Date;
+
+public class DataCountStartAndEndTimeParams {
+
+ private Date startTime;
+
+ private Date endTime;
+
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/SPIDataCountService.java b/src/main/java/com/ruoyi/doublePrevention/service/SPIDataCountService.java
new file mode 100644
index 0000000..2262ada
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/service/SPIDataCountService.java
@@ -0,0 +1,13 @@
+package com.ruoyi.doublePrevention.service;
+
+import com.ruoyi.doublePrevention.entity.dto.req.SPIDataCountReqDTO;
+import com.ruoyi.doublePrevention.entity.dto.resp.SPIDataCountRespDTO;
+import com.ruoyi.doublePrevention.vo.ResultVO;
+
+public interface SPIDataCountService {
+
+ /**
+ * 数据统计-隐患数据统计-根据月或者年
+ */
+ ResultVO<SPIDataCountRespDTO> listDangerResultCountByMonthOrYear(SPIDataCountReqDTO spiDataCountReqDTO);
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/DoublePreventionDeptService.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/DoublePreventionDeptService.java
new file mode 100644
index 0000000..e5a60ea
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/DoublePreventionDeptService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.doublePrevention.service.baseService;
+
+import com.ruoyi.doublePrevention.entity.DoublePreventDept;
+
+import java.util.List;
+
+public interface DoublePreventionDeptService {
+
+ /**
+ * @description 根据部门id查询部门
+ */
+ DoublePreventDept getDepInfoByDepId(Long depId);
+
+ /**
+ * @description 根据当前部门的祖级列表获取子部门的deptId
+ */
+ List<Long> listDepAndSubDepIds(String ancestors);
+
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskDangerInfoService.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskDangerInfoService.java
index aeb1695..a5c5aac 100644
--- a/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskDangerInfoService.java
+++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskDangerInfoService.java
@@ -1,6 +1,11 @@
package com.ruoyi.doublePrevention.service.baseService;
import com.ruoyi.doublePrevention.entity.PreventRiskDangerInfo;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerResultRespDO;
+import com.ruoyi.doublePrevention.repository.param.DataCountStartAndEndTimeParams;
+
+import java.util.Date;
+import java.util.List;
public interface PreventRiskDangerInfoService {
@@ -16,4 +21,10 @@
* 删除隐患上报
*/
int deleteDangerInfo(Long id);
+
+ /**
+ * @description 统计时间段内所有、死亡、重伤、轻伤的隐患数量
+ */
+ DataCountDangerResultRespDO listDangerResultCountByTime(Date startTime, Date endTime, List<Long> depIds);
+
}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/TrHiddenDangerCheckPointService.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/TrHiddenDangerCheckPointService.java
new file mode 100644
index 0000000..29c1e05
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/TrHiddenDangerCheckPointService.java
@@ -0,0 +1,21 @@
+package com.ruoyi.doublePrevention.service.baseService;
+
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRectifiedRespDO;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRespDO;
+
+import java.util.Date;
+import java.util.List;
+
+public interface TrHiddenDangerCheckPointService {
+
+ /**
+ * @description 统计时间段内一般、重大的隐患数量
+ */
+ DataCountDangerLevelRespDO listDangerLevelCountByTime(Date startTime, Date endTime, List<Long> depIds);
+
+
+ /**
+ * @description 统计时间段内一般已整改、重大已整改的隐患数量
+ */
+ DataCountDangerLevelRectifiedRespDO listDangerLevelRectifiedCountByTime(Date startTime, Date endTime, List<Long> depIds);
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/DoublePreventionDeptServiceImpl.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/DoublePreventionDeptServiceImpl.java
new file mode 100644
index 0000000..061d041
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/DoublePreventionDeptServiceImpl.java
@@ -0,0 +1,33 @@
+package com.ruoyi.doublePrevention.service.baseService.impl;
+
+import com.ruoyi.doublePrevention.entity.DoublePreventDept;
+import com.ruoyi.doublePrevention.repository.DoublePreventDeptRepository;
+import com.ruoyi.doublePrevention.service.baseService.DoublePreventionDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("DoublePreventionDeptService")
+public class DoublePreventionDeptServiceImpl implements DoublePreventionDeptService {
+
+ @Autowired
+ private DoublePreventDeptRepository doublePreventDeptRepository;
+
+ /**
+ * @description 根据部门id查询部门
+ */
+ @Override
+ public DoublePreventDept getDepInfoByDepId(Long depId) {
+ return doublePreventDeptRepository.getDepInfoByDepId(depId);
+ }
+
+
+ /**
+ * @description 根据当前部门的祖级列表获取子部门的deptId
+ */
+ @Override
+ public List<Long> listDepAndSubDepIds(String ancestors) {
+ return doublePreventDeptRepository.listDepAndSubDepIds(ancestors);
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskDangerInfoServiceImpl.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskDangerInfoServiceImpl.java
index d0a54da..6a3d98e 100644
--- a/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskDangerInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskDangerInfoServiceImpl.java
@@ -1,10 +1,15 @@
package com.ruoyi.doublePrevention.service.baseService.impl;
import com.ruoyi.doublePrevention.entity.PreventRiskDangerInfo;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerResultRespDO;
import com.ruoyi.doublePrevention.repository.PreventRiskDangerInfoRepository;
+import com.ruoyi.doublePrevention.repository.param.DataCountStartAndEndTimeParams;
import com.ruoyi.doublePrevention.service.baseService.PreventRiskDangerInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
@Service("PreventRiskDangerInfoService")
public class PreventRiskDangerInfoServiceImpl implements PreventRiskDangerInfoService {
@@ -35,4 +40,15 @@
public int deleteDangerInfo(Long id) {
return preventRiskDangerInfoRepository.deleteDangerInfo(id);
}
+
+
+ /**
+ * @description 统计时间段内所有、死亡、重伤、轻伤的隐患数量
+ */
+ @Override
+ public DataCountDangerResultRespDO listDangerResultCountByTime(Date startTime, Date endTime, List<Long> depIds) {
+ return preventRiskDangerInfoRepository.listDangerResultCountByTime(startTime,endTime,depIds);
+ }
+
+
}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/TrHiddenDangerCheckPointServiceImpl.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/TrHiddenDangerCheckPointServiceImpl.java
new file mode 100644
index 0000000..052c7d6
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/TrHiddenDangerCheckPointServiceImpl.java
@@ -0,0 +1,34 @@
+package com.ruoyi.doublePrevention.service.baseService.impl;
+
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRectifiedRespDO;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRespDO;
+import com.ruoyi.doublePrevention.repository.TrHiddenDangerCheckPointRepository;
+import com.ruoyi.doublePrevention.service.baseService.TrHiddenDangerCheckPointService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service("TrHiddenDangerCheckPointService")
+public class TrHiddenDangerCheckPointServiceImpl implements TrHiddenDangerCheckPointService {
+
+ @Autowired
+ private TrHiddenDangerCheckPointRepository checkPointRepository;
+
+ /**
+ * @description 统计时间段内一般、重大的隐患数量
+ */
+ @Override
+ public DataCountDangerLevelRespDO listDangerLevelCountByTime(Date startTime, Date endTime, List<Long> depIds) {
+ return checkPointRepository.listDangerLevelCountByTime(startTime,endTime,depIds);
+ }
+
+ /**
+ * @description 统计时间段内一般已整改、重大已整改的隐患数量
+ */
+ @Override
+ public DataCountDangerLevelRectifiedRespDO listDangerLevelRectifiedCountByTime(Date startTime, Date endTime, List<Long> depIds) {
+ return checkPointRepository.listDangerLevelRectifiedCountByTime(startTime,endTime,depIds);
+ }
+}
diff --git a/src/main/java/com/ruoyi/doublePrevention/service/impl/SPIDataCountServiceImpl.java b/src/main/java/com/ruoyi/doublePrevention/service/impl/SPIDataCountServiceImpl.java
new file mode 100644
index 0000000..5531f62
--- /dev/null
+++ b/src/main/java/com/ruoyi/doublePrevention/service/impl/SPIDataCountServiceImpl.java
@@ -0,0 +1,200 @@
+package com.ruoyi.doublePrevention.service.impl;
+
+import com.ruoyi.doublePrevention.entity.DoublePreventDept;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRectifiedRespDO;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRespDO;
+import com.ruoyi.doublePrevention.entity.dto.DataCountDangerResultRespDO;
+import com.ruoyi.doublePrevention.entity.dto.req.SPIDataCountReqDTO;
+import com.ruoyi.doublePrevention.entity.dto.resp.SPIDataCountRespDTO;
+import com.ruoyi.doublePrevention.repository.param.DataCountStartAndEndTimeParams;
+import com.ruoyi.doublePrevention.service.SPIDataCountService;
+import com.ruoyi.doublePrevention.service.baseService.DoublePreventionDeptService;
+import com.ruoyi.doublePrevention.service.baseService.PreventRiskDangerInfoService;
+import com.ruoyi.doublePrevention.service.baseService.TrHiddenDangerCheckPointService;
+import com.ruoyi.doublePrevention.vo.ResultVO;
+import io.swagger.models.auth.In;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+@Service("SPIDataCountService")
+public class SPIDataCountServiceImpl implements SPIDataCountService {
+
+
+ @Autowired
+ private DoublePreventionDeptService doublePreventionDeptService;
+
+ @Autowired
+ private PreventRiskDangerInfoService preventRiskDangerInfoService;
+
+ @Autowired
+ private TrHiddenDangerCheckPointService checkPointService;
+
+
+ /**
+ * 数据统计-隐患数据统计-根据月或者年
+ */
+ @Override
+ public ResultVO<SPIDataCountRespDTO> listDangerResultCountByMonthOrYear(SPIDataCountReqDTO spiDataCountReqDTO) {
+ ResultVO<SPIDataCountRespDTO> parameterVerificationResult = parameterVerification(spiDataCountReqDTO);
+ if ("400".equals(parameterVerificationResult.getCode())){
+ return parameterVerificationResult;
+ }
+ Integer month = spiDataCountReqDTO.getMonth();
+ Integer year = spiDataCountReqDTO.getYear();
+
+ Long depId = spiDataCountReqDTO.getDepId();
+ //获取部门信息
+ DoublePreventDept depInfoByDepId = doublePreventionDeptService.getDepInfoByDepId(depId);
+ //获取部门及所有子部门信息
+ //祖级列表
+ String ancestors = depInfoByDepId.getAncestors();
+ ancestors = ancestors + ",";
+ List<Long> depIds = doublePreventionDeptService.listDepAndSubDepIds(ancestors);
+ depIds.add(depId);
+ if (CollectionUtils.isEmpty(depIds)){
+ throw new RuntimeException("部门不存在");
+ }
+
+ DataCountDangerResultRespDO resultCountByTime = null;
+ DataCountDangerLevelRespDO levelCountByTime = null;
+ DataCountDangerLevelRectifiedRespDO levelRectifiedCountByTime = null;
+
+ if (ObjectUtils.isNotEmpty(month) && ObjectUtils.isNotEmpty(year)){
+ DataCountStartAndEndTimeParams params = timeInterval(month, year);
+ // 月-统计时间段内所有、死亡、重伤、轻伤的隐患数量
+ resultCountByTime = preventRiskDangerInfoService.listDangerResultCountByTime(params.getStartTime(), params.getEndTime(), depIds);
+
+ // 月-统计时间段内一般、重大的隐患数量
+ levelCountByTime = checkPointService.listDangerLevelCountByTime(params.getStartTime(), params.getEndTime(), depIds);
+
+ // 月-统计时间段内一般已整改、重大已整改的隐患数量
+ levelRectifiedCountByTime = checkPointService.listDangerLevelRectifiedCountByTime(params.getStartTime(), params.getEndTime(), depIds);
+ }else {
+ DataCountStartAndEndTimeParams params = timeInterval(null, year);
+ // 年-统计时间段内所有、死亡、重伤、轻伤的隐患数量
+ resultCountByTime = preventRiskDangerInfoService.listDangerResultCountByTime(params.getStartTime(), params.getEndTime(), depIds);
+
+ // 年-统计时间段内一般、重大的隐患数量
+ levelCountByTime = checkPointService.listDangerLevelCountByTime(params.getStartTime(), params.getEndTime(), depIds);
+
+ // 年-统计时间段内一般已整改、重大已整改的隐患数量
+ levelRectifiedCountByTime = checkPointService.listDangerLevelRectifiedCountByTime(params.getStartTime(), params.getEndTime(), depIds);
+ }
+ if (resultCountByTime == null || levelCountByTime == null || levelRectifiedCountByTime == null){
+ parameterVerificationResult.setCode("400");
+ parameterVerificationResult.setMsg("数据统计异常");
+ return parameterVerificationResult;
+ }
+ SPIDataCountRespDTO spiDataCountRespDTO = new SPIDataCountRespDTO();
+ BeanUtils.copyProperties(resultCountByTime,spiDataCountRespDTO);
+ BeanUtils.copyProperties(levelCountByTime,spiDataCountRespDTO);
+ BeanUtils.copyProperties(levelRectifiedCountByTime,spiDataCountRespDTO);
+ BeanUtils.copyProperties(spiDataCountReqDTO,spiDataCountRespDTO);
+ spiDataCountRespDTO.setDep(depInfoByDepId.getDeptName());
+ parameterVerificationResult.setData(spiDataCountRespDTO);
+ return parameterVerificationResult;
+ }
+
+
+ /**
+ * @description 参数校验
+ */
+ private ResultVO<SPIDataCountRespDTO> parameterVerification(SPIDataCountReqDTO spiDataCountReqDTO){
+ ResultVO resultVO = new ResultVO<>();
+ resultVO.setCode("200");
+ resultVO.setMsg("查询成功");
+ if (ObjectUtils.isEmpty(spiDataCountReqDTO)){
+ resultVO.setCode("400");
+ resultVO.setMsg("参数为空,查询失败");
+ return resultVO;
+ }
+
+ if (ObjectUtils.isEmpty(spiDataCountReqDTO.getMonth())){
+ if (ObjectUtils.isEmpty(spiDataCountReqDTO.getYear())){
+ resultVO.setCode("400");
+ resultVO.setMsg("查询年份不能为空");
+ return resultVO;
+ }
+ }else {
+ if (ObjectUtils.isEmpty(spiDataCountReqDTO.getYear())){
+ resultVO.setCode("400");
+ resultVO.setMsg("查询年份不能为空");
+ return resultVO;
+ }
+ }
+
+ if (ObjectUtils.isNotEmpty(spiDataCountReqDTO.getDepId())){
+ DoublePreventDept depInfoByDepId = doublePreventionDeptService.getDepInfoByDepId(spiDataCountReqDTO.getDepId());
+ if (depInfoByDepId == null){
+ resultVO.setCode("400");
+ resultVO.setMsg("查询的部门不存在");
+ return resultVO;
+ }
+ }
+ return resultVO;
+ }
+
+
+
+ /**
+ * 数据统计-统计时间处理:根据传参判断是否为统计月还是统计年,月份为空表明是统计年 月份不为空表明是统计月
+ */
+ private DataCountStartAndEndTimeParams timeInterval(Integer month, Integer year){
+
+ //确定结束时间
+ Calendar calendar = Calendar.getInstance();
+ int nowYear = calendar.get(Calendar.YEAR);
+ Date startTime = null;
+ Date endTime = null;
+ if (month == null){
+ //说明统计的是当前年份
+ if (nowYear == year){
+ endTime =calendar.getTime();
+
+ calendar.clear();
+ calendar.set(Calendar.YEAR,nowYear);
+ startTime = calendar.getTime();
+
+ }else {
+ calendar.clear();
+ calendar.set(Calendar.YEAR,year);
+ startTime = calendar.getTime();
+
+ calendar.set(Calendar.YEAR,year+1);
+ calendar.set(Calendar.DAY_OF_YEAR,-1);
+ calendar.set(Calendar.SECOND,59);
+ calendar.set(Calendar.MINUTE,59);
+ calendar.set(Calendar.HOUR_OF_DAY,23);
+ endTime = calendar.getTime();
+
+ }
+ //统计的是指定月份
+ }else{
+ calendar.set(year, month - 1, 1);
+ calendar.set(Calendar.SECOND,0);
+ calendar.set(Calendar.MINUTE,0);
+ calendar.set(Calendar.HOUR_OF_DAY,0);
+ startTime = calendar.getTime();
+
+ calendar.set(Calendar.DATE,calendar.getActualMaximum(Calendar.DATE)); //指定月份的最后一天
+ calendar.set(Calendar.SECOND,59);
+ calendar.set(Calendar.MINUTE,59);
+ calendar.set(Calendar.HOUR_OF_DAY,23);
+ endTime = calendar.getTime();
+
+ }
+ DataCountStartAndEndTimeParams params = new DataCountStartAndEndTimeParams();
+ params.setStartTime(startTime);
+ params.setEndTime(endTime);
+ return params;
+ }
+
+
+}
diff --git a/src/main/resources/mybatis/doublePrevention/DoublePreventDeptMapper.xml b/src/main/resources/mybatis/doublePrevention/DoublePreventDeptMapper.xml
new file mode 100644
index 0000000..df88df4
--- /dev/null
+++ b/src/main/resources/mybatis/doublePrevention/DoublePreventDeptMapper.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ruoyi.doublePrevention.repository.DoublePreventDeptRepository">
+ <resultMap type="com.ruoyi.doublePrevention.entity.DoublePreventDept" id="DeptResult">
+ <id property="deptId" column="dept_id" />
+ <result property="parentId" column="parent_id" />
+ <result property="ancestors" column="ancestors" />
+ <result property="deptName" column="dept_name" />
+ <result property="orderNum" column="order_num" />
+ <result property="leader" column="leader" />
+ <result property="phone" column="phone" />
+ <result property="email" column="email" />
+ <result property="status" column="status" />
+ <result property="delFlag" column="del_flag" />
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="companyId" column="company_id"/>
+ </resultMap>
+
+ <select id="getDepInfoByDepId" resultMap="DeptResult">
+ select *
+ from sys_dept
+ where dept_id = #{depId} and status = 0 and del_flag = 0
+ </select>
+
+ <select id="listDepAndSubDepIds" resultType="java.lang.Long">
+ select dept_id
+ from sys_dept
+ where ancestors like #{ancestors}"%" and status = 0 and del_flag = 0
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/doublePrevention/PreventRiskDangerInfoMapper.xml b/src/main/resources/mybatis/doublePrevention/PreventRiskDangerInfoMapper.xml
index 880f172..44f0894 100644
--- a/src/main/resources/mybatis/doublePrevention/PreventRiskDangerInfoMapper.xml
+++ b/src/main/resources/mybatis/doublePrevention/PreventRiskDangerInfoMapper.xml
@@ -48,5 +48,32 @@
delete from prevent_risk_danger_info where danger_check_point_id = #{id}
</delete>
+ <resultMap id="listDangerResultCountByTimeResultMap" type="com.ruoyi.doublePrevention.entity.dto.DataCountDangerResultRespDO">
+ <result property="riskCount" column="risk_count" />
+ <result property="deathCount" column="death_count" />
+ <result property="heavyInjureCount" column="heavy_injure_count" />
+ <result property="lightInjureCount" column="light_injure_count" />
+ </resultMap>
+
+ <select id="listDangerResultCountByTime" resultMap="listDangerResultCountByTimeResultMap">
+ select
+ count(id) risk_count,
+ IFNULL(sum(CASE WHEN danger_result='2' then 1 else 0 END),0) light_injure_count,
+ IFNULL(sum(CASE WHEN danger_result='3' then 1 else 0 END),0) heavy_injure_count,
+ IFNULL(sum(CASE WHEN danger_result='4' then 1 else 0 END),0) death_count
+ from (SELECT p.id,p.rectify_dept_id,p.examine_create_time,p.whether_danger,p.examine_status,i.danger_check_point_id,i.danger_result
+ from tr_hidden_danger_check_point as p , prevent_risk_danger_info i WHERE p.id = i.danger_check_point_id) as t
+ WHERE whether_danger = 1
+ and examine_status = 1
+ and examine_create_time >= #{startTime}
+ and examine_create_time <= #{endTime}
+ <if test="depIds != null and depIds.size() > 0">
+ and rectify_dept_id in (
+ <foreach collection="depIds" item="depId" index="index" separator=",">
+ #{depId}
+ </foreach> )
+ </if>
+ </select>
+
</mapper>
diff --git a/src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml b/src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml
new file mode 100644
index 0000000..435914b
--- /dev/null
+++ b/src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ruoyi.doublePrevention.repository.TrHiddenDangerCheckPointRepository">
+ <resultMap id="BaseFields" type="com.ruoyi.doublePrevention.entity.TrHiddenDangerCheckPoint">
+ <result property="id" column="id"/>
+ <result property="checkPointId" column="check_point_id"/>
+ <result property="checkId" column="check_id"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="remark" column="remark"/>
+ <result property="whetherDanger" column="whether_danger"/>
+ <result property="dangerName" column="danger_name"/>
+ <result property="dangerDescription" column="danger_description"/>
+ <result property="dangerLevel" column="danger_level"/>
+ <result property="troubleTypeId" column="trouble_type_id"/>
+ <result property="troubleTypeName" column="trouble_type_name"/>
+ <result property="checkTime" column="check_time"/>
+ <result property="preRectifyPhoto" column="pre_rectify_photo"/>
+ <result property="registerUserId" column="register_user_id"/>
+ <result property="registerUserName" column="register_user_name"/>
+ <result property="registerCreateTime" column="register_create_time"/>
+ <result property="registerSubmitTime" column="register_submit_time"/>
+ <result property="judgeUserId" column="judge_user_id"/>
+ <result property="judgeUserName" column="judge_user_name"/>
+ <result property="judgeCreateTime" column="judge_create_time"/>
+ <result property="judgeCreateUserId" column="judge_create_user_id"/>
+ <result property="dangerSources" column="danger_sources"/>
+ <result property="reportStatus" column="report_status"/>
+ <result property="examineUserId" column="examine_user_id"/>
+ <result property="examineUserName" column="examine_user_name"/>
+ <result property="examineStatus" column="examine_status"/>
+ <result property="examineOpinion" column="examine_opinion"/>
+ <result property="examineResult" column="examine_result"/>
+ <result property="examineCreateTime" column="examine_create_time"/>
+ <result property="treatMeasure" column="treat_measure"/>
+ <result property="rectifyUserId" column="rectify_user_id"/>
+ <result property="rectifyUserName" column="rectify_user_name"/>
+ <result property="rectifyDeptId" column="rectify_dept_id"/>
+ <result property="rectifyDeptName" column="rectify_dept_name"/>
+ <result property="rectifyDeadlineTime" column="rectify_deadline_time"/>
+ <result property="rectifyType" column="rectify_type"/>
+ <result property="rectifyAttachment" column="rectify_attachment"/>
+ <result property="rectifyMeasure" column="rectify_measure"/>
+ <result property="rectifyCondition" column="rectify_condition"/>
+ <result property="rectifyFund" column="rectify_fund"/>
+ <result property="rectifyCompleteTime" column="rectify_complete_time"/>
+ <result property="rectifyStatus" column="rectify_status"/>
+ <result property="rectifyCreateTime" column="rectify_create_time"/>
+ <result property="acceptUserId" column="accept_user_id"/>
+ <result property="acceptUserName" column="accept_user_name"/>
+ <result property="postRectifyPhoto" column="post_rectify_photo"/>
+ <result property="acceptResult" column="accept_result"/>
+ <result property="acceptOpinion" column="accept_opinion"/>
+ <result property="acceptFile" column="accept_file"/>
+ <result property="acceptCreateTime" column="accept_create_time"/>
+ <result property="acceptStatus" column="accept_status"/>
+ <result property="stage" column="stage"/>
+ <result property="scheduleCheckStatus" column="schedule_check_status"/>
+ <result property="checkType" column="check_type"/>
+ <result property="companyId" column="company_id"/>
+ </resultMap>
+
+
+
+ <resultMap id="ListDangerLevelCountByTime" type="com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRespDO">
+ <result property="heavyRiskCount" column="heavy_risk_count" />
+ <result property="lightRiskCount" column="light_risk_count" />
+ </resultMap>
+ <select id="listDangerLevelCountByTime" resultMap="ListDangerLevelCountByTime">
+ select
+ IFNULL(sum(CASE WHEN danger_level='0' then 1 else 0 END),0) light_risk_count,
+ IFNULL(sum(CASE WHEN danger_level='1' then 1 else 0 END),0) heavy_risk_count
+ from tr_hidden_danger_check_point
+ WHERE whether_danger = '1'
+ and examine_status = '1'
+ and examine_create_time >= #{startTime}
+ and examine_create_time <= #{endTime}
+ <if test="depIds != null and depIds.size() > 0">
+ and rectify_dept_id in (
+ <foreach collection="depIds" item="depId" index="index" separator=",">
+ #{depId}
+ </foreach> )
+ </if>
+ </select>
+
+
+ <resultMap id="ListDangerLevelRectifiedCountByTime" type="com.ruoyi.doublePrevention.entity.dto.DataCountDangerLevelRectifiedRespDO">
+ <result property="heavyRiskRectifyCount" column="heavy_risk_rectify_count" />
+ <result property="lightRiskRectifyCount" column="light_risk_rectify_count" />
+ </resultMap>
+ <select id="listDangerLevelRectifiedCountByTime" resultMap="ListDangerLevelRectifiedCountByTime">
+ select
+ IFNULL(sum(CASE WHEN danger_level='0' then 1 else 0 END),0) light_risk_rectify_count,
+ IFNULL(sum(CASE WHEN danger_level='1' then 1 else 0 END),0) heavy_risk_rectify_count
+ from tr_hidden_danger_check_point
+ WHERE whether_danger = '1'
+ and examine_status = '1'
+ and accept_status = '1'
+ and accept_create_time >= #{startTime}
+ and accept_create_time <= #{endTime}
+ <if test="depIds != null and depIds.size() > 0">
+ and rectify_dept_id in (
+ <foreach collection="depIds" item="depId" index="index" separator=",">
+ #{depId}
+ </foreach> )
+ </if>
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.2