| | |
| | | import com.gkhy.safePlatform.commons.exception.BusinessException; |
| | | import com.gkhy.safePlatform.commons.query.PageQuery; |
| | | import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; |
| | | import com.gkhy.safePlatform.commons.utils.StringUtils; |
| | | import com.gkhy.safePlatform.commons.vo.ResultVO; |
| | | import com.gkhy.safePlatform.commons.vo.SearchResultVO; |
| | | import com.gkhy.safePlatform.emergency.entity.*; |
| | |
| | | import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService; |
| | | import com.gkhy.safePlatform.emergency.service.baseService.EmergencySuppliesInfoService; |
| | | import com.gkhy.safePlatform.emergency.utils.TimeUtils; |
| | | import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; |
| | | import org.apache.dubbo.config.annotation.DubboReference; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | |
| | | @Override |
| | | public SearchResultVO<EmergencyExecuteTimeRPCResp> getTimeByDeptId(EmergencyExecuteTimeRPCReq query) { |
| | | EmergencyExecuteTimeRPCResp emergencyExecuteTimeRPCResp = new EmergencyExecuteTimeRPCResp(); |
| | | |
| | | // 获取id对应的部门 |
| | | DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); |
| | | |
| | | emergencyExecuteTimeRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); |
| | | emergencyExecuteTimeRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); |
| | | emergencyExecuteTimeRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | String lastTime = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteIntervalTimeByDeptId(query.getDeptId()); |
| | | emergencyExecuteTimeRPCResp.setLastTime(lastTime); |
| | | emergencyExecuteTimeRPCResp.setDays(TimeUtils.differentDays(lastTime, TimeUtils.formatDate(new Date()))); |
| | | |
| | | getSingleTimeData(emergencyExecuteTimeRPCResp); |
| | | return new SearchResultVO<>( |
| | | false, |
| | | null, |
| | |
| | | @Override |
| | | public SearchResultVO<List<EmergencyExecuteTimeRPCResp>> getTimeByDeptIds(EmergencyExecuteTimeRPCReq query) { |
| | | List<EmergencyExecuteTimeRPCResp> list = new ArrayList<>(); |
| | | |
| | | // 获取该部门及其子部门的所有信息 |
| | | List<DepInfoRPCRespDTO> depList = getDepListInfoByDepId(query.getDeptId()); |
| | | for (DepInfoRPCRespDTO depInfoRPCRespDTO : depList){ |
| | | EmergencyExecuteTimeRPCResp emergencyExecuteTimeRPCResp = new EmergencyExecuteTimeRPCResp(); |
| | | emergencyExecuteTimeRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); |
| | | emergencyExecuteTimeRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); |
| | | emergencyExecuteTimeRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | |
| | | getSingleTimeData(emergencyExecuteTimeRPCResp); |
| | | list.add(emergencyExecuteTimeRPCResp); |
| | | } |
| | | return new SearchResultVO<>( |
| | | false, |
| | | null, |
| | |
| | | ); |
| | | } |
| | | |
| | | private void getSingleTimeData(EmergencyExecuteTimeRPCResp emergencyExecuteTimeRPCResp){ |
| | | // 查询该部门最后一次演练时间 |
| | | String lastTime = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteIntervalTimeByDeptId(emergencyExecuteTimeRPCResp.getDeptId()); |
| | | if (StringUtils.isNotBlank(lastTime)){ |
| | | emergencyExecuteTimeRPCResp.setLastTime(lastTime); |
| | | emergencyExecuteTimeRPCResp.setDays(TimeUtils.differentDays(lastTime, TimeUtils.formatDate(new Date()))); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public SearchResultVO<EmergencyExecuteNumRPCResp> getNumByDeptId(EmergencyExecuteNumRPCReq query) { |
| | | if (query.getYear()==null){ |
| | |
| | | EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp = new EmergencyExecuteNumRPCResp(); |
| | | // 获取id对应的部门 |
| | | DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); |
| | | |
| | | emergencyExecuteNumRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); |
| | | emergencyExecuteNumRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); |
| | | emergencyExecuteNumRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | |
| | | // 查到该年度对应月份的数据 |
| | | List<Map<String,String>> mapList = new ArrayList<>(); |
| | | String startTime = TimeUtils.getYearFirst(query.getYear()); |
| | | String endTime = TimeUtils.getYearLast(query.getYear()); |
| | | List<Long> deptIds = new ArrayList<>(); |
| | | deptIds.add(query.getDeptId()); |
| | | List<EmergencyDrillExecuteCountData> emergencyDrillExecuteCountDataList = emergencyDrillExecuteInfoService.selectByMonthAndDept(startTime, endTime, deptIds); |
| | | if (!emergencyDrillExecuteCountDataList.isEmpty()){ |
| | | for (EmergencyDrillExecuteCountData emergencyDrillExecuteCountData : emergencyDrillExecuteCountDataList){ |
| | | Map<String ,String> map = new HashMap<>(); |
| | | map.put("name",emergencyDrillExecuteCountData.getName()); |
| | | map.put("num",emergencyDrillExecuteCountData.getNum().toString()); |
| | | mapList.add(map); |
| | | } |
| | | } |
| | | emergencyExecuteNumRPCResp.setData(mapList); |
| | | getSingleNumData(emergencyExecuteNumRPCResp,query); |
| | | |
| | | return new SearchResultVO<>( |
| | | false, |
| | |
| | | |
| | | @Override |
| | | public SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(EmergencyExecuteNumRPCReq query) { |
| | | return null; |
| | | List<EmergencyExecuteNumRPCResp> list = new ArrayList<>(); |
| | | |
| | | // 获取该部门及其子部门的所有信息 |
| | | List<DepInfoRPCRespDTO> deptList = getDepListInfoByDepId(query.getDeptId()); |
| | | |
| | | for (DepInfoRPCRespDTO depInfoRPCRespDTO : deptList){ |
| | | EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp = new EmergencyExecuteNumRPCResp(); |
| | | emergencyExecuteNumRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); |
| | | emergencyExecuteNumRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); |
| | | emergencyExecuteNumRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | |
| | | getSingleNumData(emergencyExecuteNumRPCResp,query); |
| | | list.add(emergencyExecuteNumRPCResp); |
| | | } |
| | | return new SearchResultVO<>( |
| | | false, |
| | | null, |
| | | null, |
| | | null, |
| | | (long) list.size(), |
| | | list, |
| | | ResultCodes.OK |
| | | ); |
| | | } |
| | | |
| | | public DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { |
| | | private void getSingleNumData(EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp,EmergencyExecuteNumRPCReq query){ |
| | | List<Long> deptIds = new ArrayList<>(); |
| | | deptIds.add(emergencyExecuteNumRPCResp.getDeptId()); |
| | | |
| | | List<Map<String,String>> mapList = new ArrayList<>(); |
| | | List<EmergencyDrillExecuteCountData> emergencyDrillExecuteCountDataList = new ArrayList<>(); |
| | | |
| | | String startTime ; |
| | | String endTime ; |
| | | if (query.getMonth()==null){ |
| | | // 查该年度12个月份的 |
| | | startTime = TimeUtils.getYearFirst(query.getYear()); |
| | | endTime = TimeUtils.getYearLast(query.getYear()); |
| | | emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByMonthAndDept(startTime, endTime, deptIds); |
| | | }else{ |
| | | // 查该年度指定月份的 |
| | | startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth()); |
| | | endTime = TimeUtils.getMonthLast(query.getYear(),query.getMonth()); |
| | | emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByDayAndDept(startTime, endTime, deptIds); |
| | | } |
| | | if (!emergencyDrillExecuteCountDataList.isEmpty()){ |
| | | for (EmergencyDrillExecuteCountData emergencyDrillExecuteCountData : emergencyDrillExecuteCountDataList){ |
| | | Map<String ,String> map = new HashMap<>(); |
| | | map.put("name",emergencyDrillExecuteCountData.getName()); |
| | | map.put("num",emergencyDrillExecuteCountData.getNum().toString()); |
| | | mapList.add(map); |
| | | } |
| | | } |
| | | emergencyExecuteNumRPCResp.setData(mapList); |
| | | } |
| | | |
| | | private DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { |
| | | DepInfoRPCRespDTO dep = new DepInfoRPCRespDTO(); |
| | | ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(deptId); |
| | | if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { |
| | |
| | | return dep; |
| | | } |
| | | |
| | | private List<DepInfoRPCRespDTO> getDepListInfoByDepId(Long deptId){ |
| | | List<DepInfoRPCRespDTO> depList = new ArrayList<>(); |
| | | ResultVO<List<DepInfoRPCRespDTO>> rpcResult = accountDepartmentService.listDepAndSubDepByDepId(deptId); |
| | | if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { |
| | | if (rpcResult.getData() != null) { |
| | | depList = (List<DepInfoRPCRespDTO>)rpcResult.getData(); |
| | | } |
| | | } else { |
| | | throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); |
| | | } |
| | | return depList; |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(EmergencyDrillExecuteCountQuery query) { |
| | | |