emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillExecuteController.java
@@ -5,9 +5,11 @@ import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteReqDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteCountRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteDetailRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecutePageRespDTO; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteQuery; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteRPCQuery; import com.gkhy.safePlatform.emergency.service.EmergencyDrillExecuteService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; @@ -65,4 +67,13 @@ public ResultVO batchDeleteEmergencyDrillExecute(@RequestBody Long[] ids){ return emergencyDrillExecuteService.batchDeleteEmergencyDrillExecute(ids); } /** * 应急演练统计的rpc接口 */ @RequestMapping(value = "/count",method = RequestMethod.POST) public ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(@RequestBody EmergencyDrillExecuteRPCQuery query){ return emergencyDrillExecuteService.countEmergencyDrillExecute(query); } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteCountChart.java
对比新文件 @@ -0,0 +1,25 @@ package com.gkhy.safePlatform.emergency.entity; public class EmergencyDrillExecuteCountChart { private Integer num ; private String name ; public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteCountChartRespDTO.java
对比新文件 @@ -0,0 +1,25 @@ package com.gkhy.safePlatform.emergency.model.dto.resp; public class EmergencyDrillExecuteCountChartRespDTO { private Integer num ; private String name ; public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteCountRespDTO.java
对比新文件 @@ -0,0 +1,27 @@ package com.gkhy.safePlatform.emergency.model.dto.resp; import java.util.List; public class EmergencyDrillExecuteCountRespDTO { private Integer days; private List<EmergencyDrillExecuteCountChartRespDTO> dataList; public Integer getDays() { return days; } public void setDays(Integer days) { this.days = days; } public List<EmergencyDrillExecuteCountChartRespDTO> getDataList() { return dataList; } public void setDataList(List<EmergencyDrillExecuteCountChartRespDTO> dataList) { this.dataList = dataList; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillExecuteRPCQuery.java
对比新文件 @@ -0,0 +1,26 @@ package com.gkhy.safePlatform.emergency.query; public class EmergencyDrillExecuteRPCQuery { private String level; // type=1:月 type=2:年 private Integer type; public String getLevel() { return level; } public void setLevel(String level) { this.level = level; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillExecuteRPCDBQuery.java
对比新文件 @@ -0,0 +1,36 @@ package com.gkhy.safePlatform.emergency.query.db; public class EmergencyDrillExecuteRPCDBQuery { private String level; private String startTime; private String endTime; public String getLevel() { return level; } public void setLevel(String level) { this.level = level; } public String getStartTime() { return startTime; } public void setStartTime(String startTime) { this.startTime = startTime; } public String getEndTime() { return endTime; } public void setEndTime(String endTime) { this.endTime = endTime; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
@@ -2,10 +2,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteCountChart; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoDetailDO; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoPageDO; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteRPCQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteRPCDBQuery; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -25,4 +28,10 @@ void deleteEmergencyDrillExecute(@Param("id") Long id); void updateStatusById(@Param("drillExecuteId")Long drillExecuteId); Integer selectEmergencyDrillExecuteIntervalTime(); List<EmergencyDrillExecuteCountChart> selectByMouthTimeAndType(@Param("query")EmergencyDrillExecuteRPCDBQuery dbQuery); List<EmergencyDrillExecuteCountChart> selectByYearTimeAndType(@Param("query")EmergencyDrillExecuteRPCDBQuery dbQuery); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillExecuteService.java
@@ -4,9 +4,11 @@ import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteReqDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteCountRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteDetailRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecutePageRespDTO; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteQuery; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteRPCQuery; import java.util.List; @@ -21,4 +23,6 @@ ResultVO updateEmergencyDrillExecute(Long uid, EmergencyDrillExecuteReqDTO emergencyDrillExecuteReqDTO); ResultVO batchDeleteEmergencyDrillExecute(Long[] ids); ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(EmergencyDrillExecuteRPCQuery query); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
@@ -2,10 +2,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteCountChart; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoDetailDO; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoPageDO; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteRPCQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteRPCDBQuery; import java.util.List; @@ -23,4 +26,10 @@ void deleteEmergencyDrillExecute(Long DrillExecuteId); void updateStatusById(Long drillExecuteId); Integer selectEmergencyDrillExecuteIntervalTime(); List<EmergencyDrillExecuteCountChart> selectByMouthTimeAndType(EmergencyDrillExecuteRPCDBQuery dbQuery); List<EmergencyDrillExecuteCountChart> selectByYearTimeAndType(EmergencyDrillExecuteRPCDBQuery dbQuery); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
@@ -2,10 +2,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteCountChart; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoDetailDO; import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoPageDO; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteRPCQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteRPCDBQuery; import com.gkhy.safePlatform.emergency.repository.EmergencyDrillExecuteInfoRepository; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService; import org.springframework.beans.factory.annotation.Autowired; @@ -49,5 +52,20 @@ emergencyDrillExecuteInfoRepository.updateStatusById(drillExecuteId); } @Override public Integer selectEmergencyDrillExecuteIntervalTime() { return emergencyDrillExecuteInfoRepository.selectEmergencyDrillExecuteIntervalTime(); } @Override public List<EmergencyDrillExecuteCountChart> selectByMouthTimeAndType(EmergencyDrillExecuteRPCDBQuery dbQuery) { return emergencyDrillExecuteInfoRepository.selectByMouthTimeAndType(dbQuery); } @Override public List<EmergencyDrillExecuteCountChart> selectByYearTimeAndType(EmergencyDrillExecuteRPCDBQuery dbQuery) { return emergencyDrillExecuteInfoRepository.selectByYearTimeAndType(dbQuery); } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillExecuteServiceImpl.java
@@ -13,22 +13,24 @@ import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteReqDTO; import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteUserReqDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteDetailRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecutePageRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteUserRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.*; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteQuery; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteRPCQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteRPCDBQuery; import com.gkhy.safePlatform.emergency.service.EmergencyDrillExecuteService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillEvaluationInfoService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteUserInfoService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillPlanInfoService; import com.gkhy.safePlatform.emergency.utils.TimeUtils; 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.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -232,4 +234,44 @@ emergencyDrillExecuteUserInfoService.deleteEmergencyDrillExecuteUserByDrillExecuteId(DrillExecuteId); } } @Override public ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(EmergencyDrillExecuteRPCQuery query) { EmergencyDrillExecuteCountRespDTO emergencyDrillExecuteCountRespDTO = new EmergencyDrillExecuteCountRespDTO(); // 根据应急演练实施的创建时间与当前时间 获取间隔天数 Integer days = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteIntervalTime(); emergencyDrillExecuteCountRespDTO.setDays(days); List<EmergencyDrillExecuteCountChart> list = new ArrayList<>(); EmergencyDrillExecuteRPCDBQuery dbQuery = new EmergencyDrillExecuteRPCDBQuery(); dbQuery.setLevel(query.getLevel()); // 根据时间、级别获取统计 Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); if (query.getType()==1){ // 月 int month = calendar.get(Calendar.MONTH); dbQuery.setStartTime(TimeUtils.getMonthFirst(year,month)); dbQuery.setEndTime(TimeUtils.getMonthLast(year,month)); list = emergencyDrillExecuteInfoService.selectByMouthTimeAndType(dbQuery); } if (query.getType()==2){ // 年 dbQuery.setStartTime(TimeUtils.getYearFirst(year)); dbQuery.setEndTime(TimeUtils.getYearLast(year)); list = emergencyDrillExecuteInfoService.selectByYearTimeAndType(dbQuery); } if (!CollectionUtils.isEmpty(list)){ List<EmergencyDrillExecuteCountChartRespDTO> dataList = BeanCopyUtils.copyBeanList(list,EmergencyDrillExecuteCountChartRespDTO.class); emergencyDrillExecuteCountRespDTO.setDataList(dataList); }else{ emergencyDrillExecuteCountRespDTO.setDataList(new ArrayList<>()); } return new ResultVO<>(ResultCodes.OK,emergencyDrillExecuteCountRespDTO); } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/utils/TimeUtils.java
对比新文件 @@ -0,0 +1,80 @@ package com.gkhy.safePlatform.emergency.utils; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class TimeUtils { public static String formatDate(Date date){ SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); String sDate = f.format(date); return sDate; } /** * 获取某年第一天日期 * @param year 年份 * @return Date */ public static String getYearFirst(int year){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); Date currYearFirst = calendar.getTime(); return formatDate(currYearFirst); } /** * 获取某年最后一天日期 * @param year 年份 * @return Date */ public static String getYearLast(int year){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.roll(Calendar.DAY_OF_YEAR, -1); Date currYearLast = calendar.getTime(); return formatDate(currYearLast); } /** * 获取某月第一天日期 * @param month 年份 * @return Date */ public static String getMonthFirst(int year ,int month){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month); Date currYearFirst = calendar.getTime(); return formatDate(currYearFirst); } /** * 获取某月最后一天日期 * @param month 年份 * @return Date */ public static String getMonthLast(int year ,int month){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month); calendar.roll(Calendar.DAY_OF_MONTH, -1); Date currYearLast = calendar.getTime(); return formatDate(currYearLast); } public static void main(String[] args) { Calendar date = Calendar.getInstance(); int year = date.get(Calendar.YEAR); int month = date.get(Calendar.MONTH); System.out.println(getMonthLast(year,month)); } } emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
@@ -120,4 +120,46 @@ <update id="updateStatusById"> update emergency_drill_execute set status = 1 where id = #{drillExecuteId} </update> <select id="selectEmergencyDrillExecuteIntervalTime" resultType="java.lang.Integer"> SELECT datediff( now( ), ( SELECT max( gmt_create ) FROM `emergency_drill_execute` ) ) </select> <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteCountChart" id="emergencyDrillExecuteCountChart"> <result column="num" property="num"/> <result column="name" property="name"/> </resultMap> <select id="selectByMouthTimeAndType" resultMap="emergencyDrillExecuteCountChart"> SELECT count( 0 ) AS num, DATE_FORMAT( a.gmt_create, '%Y-%m-%d' ) AS `name` FROM `emergency_drill_execute` a LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id WHERE a.del_flag = 0 AND a.gmt_create <![CDATA[ >= ]]> #{query.startTime} AND a.gmt_create <![CDATA[ <= ]]> #{query.endTime} <if test="query.level != null and query.level != ''" >and b.drill_level = #{query.level}</if> GROUP BY DATE_FORMAT( a.gmt_create, '%Y-%m-%d' ) </select> <select id="selectByYearTimeAndType" resultMap="emergencyDrillExecuteCountChart"> SELECT count( 0 ) AS num, DATE_FORMAT( a.gmt_create, '%Y-%m' ) AS `name` FROM `emergency_drill_execute` a LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id WHERE a.del_flag = 0 AND a.gmt_create <![CDATA[ >= ]]> #{query.startTime} AND a.gmt_create <![CDATA[ <= ]]> #{query.endTime} <if test="query.level != null and query.level != ''" >and b.drill_level = #{query.level}</if> GROUP BY DATE_FORMAT( a.gmt_create, '%Y-%m' ) </select> </mapper> equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentInfoDto.java
@@ -98,7 +98,9 @@ private Timestamp actualStopDate; //停用提交人/外键 private Long stopSubmitPersonId; //停用提交日期 //停用提交人名称 private String stopSubmitPersonName; //停用提交日期 private Timestamp stopSubmitDate; //恢复理由 private String recoveryReason; @@ -178,6 +180,14 @@ this.leadingPersonName = leadingPersonName; } public String getStopSubmitPersonName() { return stopSubmitPersonName; } public void setStopSubmitPersonName(String stopSubmitPersonName) { this.stopSubmitPersonName = stopSubmitPersonName; } //ID public Long getId() { return id; equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java
@@ -80,8 +80,8 @@ EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria(); criteria1.setEquipmentId(f.getId()); criteria1.setInfoTpe(pageQuery.getSearchParams().getInfoType()); List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1); f.setCheckDetailList(checkDetailList); List<EquipmentTestDetail> testDetailList = equipmentTestDetailService.queryAll(criteria1); f.setTestDetailList(testDetailList); //设备检查 TODO @@ -101,7 +101,7 @@ collectDepIdSet.add(f.getLeadingDepartmentId()); collectDepIdSet.add(f.getLeadingPersonDepartmentId()); takecareDetailList.forEach(info->{collectDepIdSet.add(info.getLeadingPersonDepartmentId());}); checkDetailList.forEach(info->{collectDepIdSet.add(info.getTestPersonDepartmentId());}); testDetailList.forEach(info->{collectDepIdSet.add(info.getTestPersonDepartmentId());}); repairDetailList.forEach(info->{collectDepIdSet.add(info.getRepairPersonDepartmentId());}); //获取部门名集合 @@ -112,7 +112,7 @@ f.setLeadingDepartmentName(depNameMap.get(f.getLeadingDepartmentId())); f.setLeadingPersonDepartmentName(depNameMap.get(f.getLeadingPersonDepartmentId())); takecareDetailList.forEach(info->{info.setLeadingPersonDepartmentName(depNameMap.get(info.getLeadingPersonDepartmentId()));}); checkDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); testDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));}); }); @@ -152,8 +152,8 @@ EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria(); criteria1.setEquipmentId(infoDto.getId()); criteria1.setInfoTpe(infoDto.getInfoType()); List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1); infoDto.setCheckDetailList(checkDetailList); List<EquipmentTestDetail> testDetailList = equipmentTestDetailService.queryAll(criteria1); infoDto.setTestDetailList(testDetailList); //设备检查 TODO @@ -187,7 +187,7 @@ collectDepIdSet.add(infoDto.getLeadingDepartmentId()); collectDepIdSet.add(infoDto.getLeadingPersonDepartmentId()); takecareDetailList.forEach(info->{collectDepIdSet.add(info.getLeadingPersonDepartmentId());}); checkDetailList.forEach(info->{collectDepIdSet.add(info.getTestPersonDepartmentId());}); testDetailList.forEach(info->{collectDepIdSet.add(info.getTestPersonDepartmentId());}); repairDetailList.forEach(info->{collectDepIdSet.add(info.getRepairPersonDepartmentId());}); //获取部门名集合 @@ -198,7 +198,7 @@ infoDto.setLeadingDepartmentName(depNameMap.get(infoDto.getLeadingDepartmentId())); infoDto.setLeadingPersonDepartmentName(depNameMap.get(infoDto.getLeadingPersonDepartmentId())); takecareDetailList.forEach(info->{info.setLeadingPersonDepartmentName(depNameMap.get(info.getLeadingPersonDepartmentId()));}); checkDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); testDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));}); return infoDto; }