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 <= #{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 <= #{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>