zhangfeng
2022-11-08 9a73660fa673120de8fb4fdacdfe2a9f47fe9fbb
Merge branch 'master' of https://sinanoaq.cn:8888/r/safePlatform-out into zf
已重命名1个文件
已修改9个文件
已添加6个文件
已复制1个文件
602 ■■■■■ 文件已修改
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/req/EmergencydrillTimeRPCReq.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteDepLevelLasTimeRPCRespDTO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCRespDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteDepLevelLasTimeRespDTO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteLastTimeRespDTO.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillTimeQuery.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/schedule/KeepAliveRobot.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
@@ -7,6 +7,7 @@
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteCountRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencydrillTimeRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.*;
@@ -36,10 +37,16 @@
    /*****************************************重构***********************************************************/
    // RPC接口--1、传入部门ID,查询该部门最后一次完成应急演练的时间
    ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptId(Long depId);
    ResultVO<EmergencyExecuteTimeRPCRespDTO> getExecuteLastTimeByDeptId(Long depId);
    // RPC接口--2、传入部门ID,查询该部门以及子级部门中最后一次完成应急演练的时间
    ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptIds(Long depId);
    ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIds(Long depId);
    // RPC接口--1、传入部门ID,指定年份,月份,查询该部门最后一次完成应急演练的时间
    ResultVO<EmergencyExecuteLastTimeRPCRespDTO> getExecuteLastTimeByDeptIdAndTime(EmergencydrillTimeRPCReq query);
    // RPC接口--2、传入部门ID,,指定年份,月份,查询该部门以及子级部门中最后一次完成应急演练的时间
    ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIdsAndTime(EmergencydrillTimeRPCReq query);
    // RPC接口--3、传入部门ID,指定月份 ,统计演练次数
    ResultVO<StatisticsDepLevelMonthEexcuteRPCRespDTO> getExecuteCountByDeptIdAndMonth(EmergencyExecuteCountRPCReq query);
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/req/EmergencydrillTimeRPCReq.java
对比新文件
@@ -0,0 +1,35 @@
package com.gkhy.safePlatform.emergency.rpc.api.model.dto.req;
public class EmergencydrillTimeRPCReq {
    //部门id
    private Long deptId;
    //年份
    private Integer year;
    //月份
    private Integer month;
    public Long getDeptId() {
        return deptId;
    }
    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }
    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;
    }
}
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteDepLevelLasTimeRPCRespDTO.java
对比新文件
@@ -0,0 +1,44 @@
package com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp;
public class EmergencyExecuteDepLevelLasTimeRPCRespDTO {
    //部门等级
    private Byte depLevel;
    //年
    private Integer year;
    //月
    private Integer month;
    //最后一次演练时间
    private String LastPricateTime;
    public Byte getDepLevel() {
        return depLevel;
    }
    public void setDepLevel(Byte depLevel) {
        this.depLevel = depLevel;
    }
    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 String getLastPricateTime() {
        return LastPricateTime;
    }
    public void setLastPricateTime(String lastPricateTime) {
        LastPricateTime = lastPricateTime;
    }
}
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.java
copy from emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java copy to emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.java
文件从 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java 复制
@@ -1,15 +1,17 @@
package com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp;
/**
 * 应急演练时间
 */
public class EmergencyExecuteLastTimeRPCResp {
public class EmergencyExecuteLastTimeRPCRespDTO {
    // 部门id
    private Long depId;
    // 部门级别
    private Byte depLevel;
    //年份
    private Integer year;
    //月份
    private Integer month;
    //左后一次演练的时间
    private String lastPricticeTime;
@@ -30,6 +32,22 @@
        this.depLevel = depLevel;
    }
    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 String getLastPricticeTime() {
        return lastPricticeTime;
    }
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCRespDTO.java
文件名从 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java 修改
@@ -3,7 +3,7 @@
/**
 * 应急演练时间
 */
public class EmergencyExecuteLastTimeRPCResp {
public class EmergencyExecuteTimeRPCRespDTO {
    // 部门id
    private Long depId;
emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java
@@ -10,10 +10,12 @@
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillTimeQuery;
import com.gkhy.safePlatform.emergency.rpc.api.EmergencyRpcAPi;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteCountRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencydrillTimeRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.service.EmergencyCountService;
import com.gkhy.safePlatform.emergency.service.EmergencySuppliesService;
@@ -106,10 +108,10 @@
    }
    @Override
    public ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptId(Long depId) {
        ResultVO<EmergencyExecuteLastTimeRPCResp> result = new ResultVO<>(ResultCodes.OK);
    public ResultVO<EmergencyExecuteTimeRPCRespDTO> getExecuteLastTimeByDeptId(Long depId) {
        ResultVO<EmergencyExecuteTimeRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
        try{
            EmergencyExecuteLastTimeRPCResp lastTimeRPCResp = new EmergencyExecuteLastTimeRPCResp();
            EmergencyExecuteTimeRPCRespDTO lastTimeRPCResp = new EmergencyExecuteTimeRPCRespDTO();
            EmergencyExecuteTimeRespDTO timeRespDTO = emergencyCountService.getLastTimeByDeptId(depId);
            if(null != timeRespDTO){
                BeanUtils.copyProperties(timeRespDTO,lastTimeRPCResp);
@@ -125,11 +127,40 @@
        return result;
    }
    @Override
    public ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptIds(Long depId) {
        ResultVO<EmergencyExecuteLastTimeRPCResp> result = new ResultVO<>(ResultCodes.OK);
    public ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIds(Long depId) {
        ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> result = new ResultVO<>(ResultCodes.OK);
        try{
            EmergencyExecuteLastTimeRPCResp lastTimeRPCResp = new EmergencyExecuteLastTimeRPCResp();
            EmergencyExecuteTimeRespDTO timeRespDTO = emergencyCountService.getLastTimeByDeptIds(depId);
            List<EmergencyExecuteDepLevelLasTimeRespDTO> lasTimeRespDTOS = emergencyCountService.getLastTimeByDeptIds(depId);
            List<EmergencyExecuteDepLevelLasTimeRPCRespDTO> timeRPCRespDTOS = new ArrayList<>();
            for(EmergencyExecuteDepLevelLasTimeRespDTO timeRespDTO:lasTimeRespDTOS){
                if(timeRespDTO != null){
                    EmergencyExecuteDepLevelLasTimeRPCRespDTO timeRPCRespDTO = new EmergencyExecuteDepLevelLasTimeRPCRespDTO();
                    BeanUtils.copyProperties(timeRespDTO,timeRPCRespDTO);
                    timeRPCRespDTOS.add(timeRPCRespDTO);
                }
            }
            result.setData(timeRPCRespDTOS);
        }catch (EmergencyException e){
            result.setCode(e.getCode());
            result.setMsg(e.getMessage());
        }catch (Exception e) {
            result.setCode(EmergencyResultCodes.ERROR.getCode());
            result.setMsg(EmergencyResultCodes.ERROR.getDesc());
        }
        return result;
    }
    @Override
    public ResultVO<EmergencyExecuteLastTimeRPCRespDTO> getExecuteLastTimeByDeptIdAndTime(EmergencydrillTimeRPCReq query) {
        ResultVO<EmergencyExecuteLastTimeRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
        EmergencyDrillTimeQuery timeQuery = new EmergencyDrillTimeQuery();
        timeQuery.setDeptId(query.getDeptId());
        timeQuery.setYear(query.getYear());
        timeQuery.setMonth(query.getMonth());
        try{
            EmergencyExecuteLastTimeRPCRespDTO lastTimeRPCResp = new EmergencyExecuteLastTimeRPCRespDTO();
            EmergencyExecuteLastTimeRespDTO timeRespDTO = emergencyCountService.getLastPracticeTimeByDeptIdAndTime(timeQuery);
            if(null != timeRespDTO){
                BeanUtils.copyProperties(timeRespDTO,lastTimeRPCResp);
            }
@@ -145,6 +176,35 @@
    }
    @Override
    public ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIdsAndTime(EmergencydrillTimeRPCReq query) {
        ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> result = new ResultVO<>(ResultCodes.OK);
        EmergencyDrillTimeQuery timeQuery = new EmergencyDrillTimeQuery();
        timeQuery.setDeptId(query.getDeptId());
        timeQuery.setYear(query.getYear());
        timeQuery.setMonth(query.getMonth());
        try{
            List<EmergencyExecuteDepLevelLasTimeRPCRespDTO> levelLasTimeRPCRespDTOS = new ArrayList<>();
            List<EmergencyExecuteDepLevelLasTimeRespDTO> lasTimeRespDTOS = emergencyCountService.getLastPracticeTimeByDeptIdsAndTime(timeQuery);
            for(EmergencyExecuteDepLevelLasTimeRespDTO lastTimeRPCRespDTO :lasTimeRespDTOS){
                if(null != lastTimeRPCRespDTO){
                    EmergencyExecuteDepLevelLasTimeRPCRespDTO levelLasTimeRPCRespDTO = new EmergencyExecuteDepLevelLasTimeRPCRespDTO();
                    BeanUtils.copyProperties(lastTimeRPCRespDTO,levelLasTimeRPCRespDTO);
                    levelLasTimeRPCRespDTOS.add(levelLasTimeRPCRespDTO);
                }
            }
            result.setData(levelLasTimeRPCRespDTOS);
        }catch (EmergencyException e){
            result.setCode(e.getCode());
            result.setMsg(e.getMessage());
        }catch (Exception e) {
            result.setCode(EmergencyResultCodes.ERROR.getCode());
            result.setMsg(EmergencyResultCodes.ERROR.getDesc());
        }
        return result;
    }
    @Override
    public ResultVO<StatisticsDepLevelMonthEexcuteRPCRespDTO> getExecuteCountByDeptIdAndMonth(EmergencyExecuteCountRPCReq query) {
        ResultVO<StatisticsDepLevelMonthEexcuteRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java
@@ -8,6 +8,7 @@
import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillTimeQuery;
import com.gkhy.safePlatform.emergency.query.EmergencySuppliesCountQuery;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
@@ -90,12 +91,27 @@
     * 根据部门以及子级部门查询最后一次完成应急演练的时间
     */
    @RequestMapping(value = "/getLastTimeByDeptIds",method = RequestMethod.POST)
    public EmergencyExecuteTimeRespDTO getLastTimeByDeptIds(@RequestBody JSONObject jsonObject){
    public List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastTimeByDeptIds(@RequestBody JSONObject jsonObject){
        Long deptId = jsonObject.getLong("deptId");
        return emergencyCountService.getLastTimeByDeptIds(deptId);
    }
    /**
     * 根据部门id,年份月份,查询最后一次完成应急演练的时间
     */
    @RequestMapping(value = "/getLastTimeByDeptIdAndTime",method = RequestMethod.POST)
    public EmergencyExecuteLastTimeRespDTO getLastTimeByDeptIdAndTime(@RequestBody EmergencyDrillTimeQuery query){
        return emergencyCountService.getLastPracticeTimeByDeptIdAndTime(query);
    }
    /**
     * 根据部门以及子级部门,年份月份,查询最后一次完成应急演练的时间
     */
    @RequestMapping(value = "/getLastTimeByDeptIdsAndTime",method = RequestMethod.POST)
    public List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastTimeByDeptIdsAndTime(@RequestBody EmergencyDrillTimeQuery query){
        return emergencyCountService.getLastPracticeTimeByDeptIdsAndTime(query);
    }
    /**
     * 根据指定和年份统计演练数据
     * @param query
     * @return
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteDepLevelLasTimeRespDTO.java
对比新文件
@@ -0,0 +1,44 @@
package com.gkhy.safePlatform.emergency.model.dto.resp;
public class EmergencyExecuteDepLevelLasTimeRespDTO {
    //部门等级
    private Byte depLevel;
    //年
    private Integer year;
    //月
    private Integer month;
    //最后一次演练时间
    private String LastPricateTime;
    public Byte getDepLevel() {
        return depLevel;
    }
    public void setDepLevel(Byte depLevel) {
        this.depLevel = depLevel;
    }
    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 String getLastPricateTime() {
        return LastPricateTime;
    }
    public void setLastPricateTime(String lastPricateTime) {
        LastPricateTime = lastPricateTime;
    }
}
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteLastTimeRespDTO.java
对比新文件
@@ -0,0 +1,58 @@
package com.gkhy.safePlatform.emergency.model.dto.resp;
public class EmergencyExecuteLastTimeRespDTO {
    // 部门id
    private Long depId;
    // 部门级别
    private Byte depLevel;
    //年份
    private Integer year;
    //月份
    private Integer month;
    //左后一次演练的时间
    private String lastPricticeTime;
    public Long getDepId() {
        return depId;
    }
    public void setDepId(Long depId) {
        this.depId = depId;
    }
    public Byte getDepLevel() {
        return depLevel;
    }
    public void setDepLevel(Byte depLevel) {
        this.depLevel = depLevel;
    }
    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 String getLastPricticeTime() {
        return lastPricticeTime;
    }
    public void setLastPricticeTime(String lastPricticeTime) {
        this.lastPricticeTime = lastPricticeTime;
    }
}
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillTimeQuery.java
对比新文件
@@ -0,0 +1,35 @@
package com.gkhy.safePlatform.emergency.query;
public class EmergencyDrillTimeQuery {
    //部门id
    private Long deptId;
    //年份
    private Integer year;
    //月份
    private Integer month;
    public Long getDeptId() {
        return deptId;
    }
    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }
    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;
    }
}
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
@@ -38,7 +38,7 @@
    String getLastTimeByDeptId(@Param("deptId")Long deptId);
    String getLastTimeByDeptIds(@Param("deptIdList")List<Long> deptIdList);
    List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIds(@Param("deptIdList")List<Long> deptIdList);
    List<EmergencyExecuteCountDO> getCountByDeptIdsAndTime(@Param("startTime")String startTime, @Param("endTime")String endTime, @Param("deptIds")List<Long> deptIds);
@@ -46,4 +46,7 @@
    List<EmergencyExecuteCountDO> getCountByDeptIdAndYear(@Param("year")Integer year, @Param("deptId")Long deptId);
    List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIdsAndTime(@Param("deptIdList")List<Long> deptIdList, @Param("startTime")String startTime, @Param("endTime")String endTime);
    String getLastTimeByDeptIdAndTime(@Param("deptId")Long deptId, @Param("startTime")String startTime, @Param("endTime")String endTime);
}
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java
@@ -6,6 +6,7 @@
import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillTimeQuery;
import com.gkhy.safePlatform.emergency.query.EmergencySuppliesCountQuery;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
@@ -38,7 +39,7 @@
    //根据部门id查询最后一次完成应急演练的时间
    EmergencyExecuteTimeRespDTO getLastTimeByDeptId(Long deptId);
    //根据部门id查询该部门以及其子级部门最后一次完成应急演练的时间
    EmergencyExecuteTimeRespDTO  getLastTimeByDeptIds(Long deptId);
    List<EmergencyExecuteDepLevelLasTimeRespDTO>  getLastTimeByDeptIds(Long deptId);
    /**
     * 根据部门id统计指定年份的应急演练数据
     * @param query
@@ -66,5 +67,8 @@
     */
    List<StatisticsDepLevelMonthEexcuteRespDTO> getCountByDeptIdsAndMonth(EmergencyDrillCountQuery query);
    EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdAndTime(EmergencyDrillTimeQuery query);
    List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastPracticeTimeByDeptIdsAndTime(EmergencyDrillTimeQuery query);
}
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
@@ -36,11 +36,13 @@
    String getLastTimeByDeptId(Long deptId);
    String getLastTimeByDeptIds(List<Long> deptIdList);
    List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIds(List<Long> deptIdList);
    List<EmergencyExecuteCountDO> getCountByDeptIdsAndTime(String startTime, String endTime, List<Long> deptId);
    EmergencyExecuteCountDO getCountByDeptIdAndMonth(Integer year,Integer month, Long deptId);
    List<EmergencyExecuteCountDO> getCountByDeptIdAndYear(Integer year, Long deptId);
    List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIdsAndTime(List<Long> deptIdList,String startTime,String endTime);
    String getLastTimeByDeptIdAndTime(Long deptId, String startTime, String endTime);
}
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
@@ -89,12 +89,27 @@
    }
    @Override
    public String getLastTimeByDeptIds(List<Long> deptIdList) {
    public List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIds(List<Long> deptIdList) {
        if(null == deptIdList || deptIdList.size() == 0){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL);
        }
        return baseMapper.getLastTimeByDeptIds(deptIdList);
    }
    @Override
    public List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIdsAndTime(List<Long> deptIdList,String startTime,String endTime) {
        if(null == deptIdList || deptIdList.size() == 0 || StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL);
        }
        return baseMapper.getLastTimeByDeptIdsAndTime(deptIdList,startTime,endTime);
    }
    @Override
    public String getLastTimeByDeptIdAndTime(Long deptId, String startTime, String endTime) {
        if(null == deptId || StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL);
        }
        return baseMapper.getLastTimeByDeptIdAndTime(deptId,startTime,endTime);
    }
    @Override
    public List<EmergencyExecuteCountDO> getCountByDeptIdsAndTime(String startTime, String endTime, List<Long> deptIds) {
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java
@@ -17,6 +17,7 @@
import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillTimeQuery;
import com.gkhy.safePlatform.emergency.query.EmergencySuppliesCountQuery;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
@@ -32,6 +33,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -371,7 +373,7 @@
     * 查询部门及其子级部门最后一次演练时间
     * 后面按部门等级划分
     */
    public EmergencyExecuteTimeRespDTO  getLastTimeByDeptIds(Long deptId){
    public List<EmergencyExecuteDepLevelLasTimeRespDTO>  getLastTimeByDeptIds(Long deptId){
        if(null == deptId){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL);
@@ -383,24 +385,144 @@
                .stream()
                .map(dep -> dep.getDepId())
                .collect(Collectors.toList());
        //过滤出传入部门的信息
        List<DepInfoRPCRespDTO> selectDepList = depInfoList
                .stream()
                .filter(dep -> dep.getDepId().equals(deptId))
                .collect(Collectors.toList());
        // 查询该部门ids最后一次演练时间
        String lastTime = emergencyDrillExecuteInfoService.getLastTimeByDeptIds(deptIdList);
        List<EmergencyDrillExecuteLastTimeDO> executeLastTimeDOS = emergencyDrillExecuteInfoService.getLastTimeByDeptIds(deptIdList);
        List<EmergencyExecuteDepLevelLasTimeRespDTO> depLevelRespDTOList = new ArrayList<>();
        //循环部门等级
        for(DepartmentLevelEnum departmentLevelEnum : DepartmentLevelEnum.values()){
            //数据填充
            EmergencyExecuteDepLevelLasTimeRespDTO depLevelRespDTO = new EmergencyExecuteDepLevelLasTimeRespDTO();
            depLevelRespDTO.setDepLevel(departmentLevelEnum.getCode());
        //填充数据
        EmergencyExecuteTimeRespDTO respDTO = new EmergencyExecuteTimeRespDTO();
        respDTO.setDepId(deptId);
        respDTO.setLastPricticeTime(StringUtils.isBlank(lastTime) == true ? "" : lastTime);
        if(selectDepList.size()>0){
            respDTO.setDepLevel(selectDepList.get(0).getDepLevel());
            //该等级下的部门数据
            List<DepInfoRPCRespDTO> selectDepList = depInfoList
                    .stream()
                    .filter(dep -> dep.getDepLevel().equals(departmentLevelEnum.getCode()))
                    .collect(Collectors.toList());
            //获取该部门等级下部门演练数据
            List<EmergencyDrillExecuteLastTimeDO> selectExeList = executeLastTimeDOS
                    .stream()
                    .filter(exe -> selectDepList.stream().map(dep -> dep.getDepId()).collect(Collectors.toList()).contains(exe.getDeptId()))
                    .collect(Collectors.toList());
            //获取该等级最后一次演练时间
            String lastTime = getLastPracticeTime(selectExeList);
            depLevelRespDTO.setLastPricateTime(lastTime);
            depLevelRespDTOList.add(depLevelRespDTO);
        }
        return depLevelRespDTOList;
    }
    //获取最大日期
    private String getLastPracticeTime(List<EmergencyDrillExecuteLastTimeDO> selectExeList){
        String lastTime = "";
        if(selectExeList.size()>0){
            SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Collections.sort(selectExeList, new Comparator<EmergencyDrillExecuteLastTimeDO>(){
                @Override
                public int compare(EmergencyDrillExecuteLastTimeDO timeDO01, EmergencyDrillExecuteLastTimeDO timeDO02) {
                    int flag = -1;
                    try {
                        Date date1 = sdft.parse(timeDO01.getLastTime());
                        Date date2 = sdft.parse(timeDO02.getLastTime());
                        if(date1.before(date2)){
                            flag=1;
                        }
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                    return flag;
                } //compare
            });
            EmergencyDrillExecuteLastTimeDO lastTimeDO = selectExeList.get(0);
            lastTime = lastTimeDO.getLastTime();
        }
        return lastTime;
    }
    @Override
    public EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdAndTime(EmergencyDrillTimeQuery query) {
        if(null == query.getDeptId()){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"部门id不可为空");
        }
        if(null == query.getYear()){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"年份不可为空");
        }
        //通过RPC获取部门相关数据
        DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId());
        //开始时间结束时间
        String startTime;
        String endTime;
        if(null == query.getMonth()){//年
            startTime = TimeUtils.getYearFirst(query.getYear());
            endTime = TimeUtils.getYearLast(query.getYear());
        }else{//月
            startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth());
            endTime = TimeUtils.getMonthLast(query.getYear(),query.getMonth());
        }
        // 查询该部门最后一次演练时间
        String lastTime = emergencyDrillExecuteInfoService.getLastTimeByDeptIdAndTime(query.getDeptId(), startTime,endTime);
        //填充数据
        EmergencyExecuteLastTimeRespDTO respDTO = new EmergencyExecuteLastTimeRespDTO();
        respDTO.setDepId(depInfoRPCRespDTO.getDepId());
        respDTO.setDepLevel(depInfoRPCRespDTO.getDepLevel());
        respDTO.setYear(query.getYear());
        respDTO.setMonth(query.getMonth());
        respDTO.setLastPricticeTime(StringUtils.isBlank(lastTime) == true ? "" : lastTime);
        return respDTO;
    }
    @Override
    public List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastPracticeTimeByDeptIdsAndTime(EmergencyDrillTimeQuery query) {
        if(null == query.getDeptId()){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"部门id不可为空");
        }
        if(null == query.getYear()){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"年份不可为空");
        }
        //通过RPC获取部门相关数据
        List<DepInfoRPCRespDTO> depInfoList = getDepListInfoByDepId(query.getDeptId());
        //过滤获取部门id
        List<Long> deptIdList = depInfoList
                .stream()
                .map(dep -> dep.getDepId())
                .collect(Collectors.toList());
        //开始时间结束时间
        String startTime;
        String endTime;
        if(null == query.getMonth()){//年
            startTime = TimeUtils.getYearFirst(query.getYear());
            endTime = TimeUtils.getYearLast(query.getYear());
        }else{//月
            startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth());
            endTime = TimeUtils.getMonthLast(query.getYear(),query.getMonth());
        }
        // 查询该部门ids最后一次演练时间
        List<EmergencyDrillExecuteLastTimeDO> executeLastTimeDOS = emergencyDrillExecuteInfoService.getLastTimeByDeptIdsAndTime(deptIdList,startTime,endTime);
        List<EmergencyExecuteDepLevelLasTimeRespDTO> depLevelRespDTOList = new ArrayList<>();
        //循环部门等级
        for(DepartmentLevelEnum departmentLevelEnum : DepartmentLevelEnum.values()){
            //数据填充
            EmergencyExecuteDepLevelLasTimeRespDTO depLevelRespDTO = new EmergencyExecuteDepLevelLasTimeRespDTO();
            depLevelRespDTO.setDepLevel(departmentLevelEnum.getCode());
            depLevelRespDTO.setYear(query.getYear());
            depLevelRespDTO.setMonth(query.getMonth());
            //该等级下的部门数据
            List<DepInfoRPCRespDTO> selectDepList = depInfoList
                    .stream()
                    .filter(dep -> dep.getDepLevel().equals(departmentLevelEnum.getCode()))
                    .collect(Collectors.toList());
            //获取该部门等级下部门演练数据
            List<EmergencyDrillExecuteLastTimeDO> selectExeList = executeLastTimeDOS
                    .stream()
                    .filter(exe -> selectDepList.stream().map(dep -> dep.getDepId()).collect(Collectors.toList()).contains(exe.getDeptId()))
                    .collect(Collectors.toList());
            //获取该等级最后一次演练时间
            String lastTime = getLastPracticeTime(selectExeList);
            depLevelRespDTO.setLastPricateTime(lastTime);
            depLevelRespDTOList.add(depLevelRespDTO);
        }
        return depLevelRespDTOList;
    }
    /**
     * 根据部门id和指定年份 统计演练数据
     *
@@ -615,4 +737,6 @@
    }
}
emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
@@ -242,16 +242,19 @@
                AND a.del_flag = 0 AND b.department_id = #{deptId}
    </select>
    <!--根据部门及其子级获取-->
    <select id="getLastTimeByDeptIds" resultType="java.lang.String">
    <select id="getLastTimeByDeptIds" resultType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteLastTimeDO">
        SELECT
            DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime
        DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime,
        b.department_id AS deptId
        FROM
            `emergency_drill_execute` a
                INNER JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
                AND a.del_flag = 0 AND b.department_id IN
        `emergency_drill_execute` a
        INNER JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
        AND a.del_flag = 0 AND b.department_id IN
        <foreach collection="deptIdList" item="deptId" open="(" close=")" separator=",">
            #{deptId}
        </foreach>
        GROUP BY
        b.department_id
    </select>
    <select id="getCountByDeptIdsAndTime" resultType="com.gkhy.safePlatform.emergency.entity.EmergencyExecuteCountDO">
        SELECT
@@ -304,6 +307,32 @@
        DATE_FORMAT( a.gmt_create, '%Y-%m' ),
        DATE_FORMAT(a.gmt_create,'%m')
    </select>
    <select id="getLastTimeByDeptIdsAndTime" resultType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteLastTimeDO">
        SELECT
        DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime,
        b.department_id AS deptId
        FROM
        `emergency_drill_execute` a
        INNER JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
        AND a.del_flag = 0
        AND DATE( a.gmt_create ) BETWEEN #{startTime}
        AND #{endTime}
        AND b.department_id IN
        <foreach collection="deptIdList" item="deptId" open="(" close=")" separator=",">
            #{deptId}
        </foreach>
        GROUP BY
        b.department_id
    </select>
    <select id="getLastTimeByDeptIdAndTime" resultType="java.lang.String">
        SELECT
        DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime
        FROM
        `emergency_drill_execute` a
        INNER JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
        AND a.del_flag = 0
        AND DATE( a.gmt_create ) BETWEEN #{startTime}
        AND #{endTime}
        AND b.department_id = #{deptId}
    </select>
</mapper>
equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/schedule/KeepAliveRobot.java
对比新文件
@@ -0,0 +1,28 @@
package com.gkhy.safePlatform.equipment.schedule;
import com.gkhy.safePlatform.equipment.service.EquipmentInfoService;
import com.gkhy.safePlatform.equipment.service.baseService.EquipmentInfoBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component("equipmentKeepAlive")
@EnableScheduling
@ConditionalOnProperty(prefix = "threadPool.scheduling", name = "enabled", havingValue = "true")
public class KeepAliveRobot {
    @Autowired
    private EquipmentInfoBaseService equipmentInfoBaseService;
    // 30m
    @Scheduled(cron = "0 0/30 * * * ?")
    public void keepAlive(){
        //
        equipmentInfoBaseService.getById(-1L);
    }
}