双重预防项目-国泰新华二开定制版
huangzhen
2022-09-30 679dfe8a68fe56100e708f112c1060d661d7b136
完成SPI数据提供接口
已修改5个文件
已添加19个文件
1752 ■■■■■ 文件已修改
pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/controller/SPIDataCountController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/DoublePreventDept.java 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/TrHiddenDangerCheckPoint.java 658 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRectifiedRespDO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerLevelRespDO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/dto/DataCountDangerResultRespDO.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/dto/req/SPIDataCountReqDTO.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/dto/resp/SPIDataCountRespDTO.java 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/repository/DoublePreventDeptRepository.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskDangerInfoRepository.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/repository/TrHiddenDangerCheckPointRepository.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/repository/param/DataCountStartAndEndTimeParams.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/SPIDataCountService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/baseService/DoublePreventionDeptService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskDangerInfoService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/baseService/TrHiddenDangerCheckPointService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/DoublePreventionDeptServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskDangerInfoServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/TrHiddenDangerCheckPointServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/service/impl/SPIDataCountServiceImpl.java 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/doublePrevention/DoublePreventDeptMapper.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/doublePrevention/PreventRiskDangerInfoMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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);
    }
}
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;
    }
}
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;
    }
}
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;
    }
}
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;
    }
}
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;
    }
}
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;
    }
}
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;
    }
}
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);
}
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);
}
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);
}
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;
    }
}
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);
}
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);
}
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);
}
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);
}
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);
    }
}
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);
    }
}
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);
    }
}
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;
    }
}
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>
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 &lt;= #{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>
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 &lt;= #{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 &lt;= #{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>