| | |
| | | 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.enums.EmergencyResultCodes; |
| | | import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; |
| | | import com.gkhy.safePlatform.emergency.model.dto.resp.*; |
| | | import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteCountQuery; |
| | | import com.gkhy.safePlatform.emergency.query.EmergencySuppliesCountQuery; |
| | | import com.gkhy.safePlatform.emergency.rpc.api.model.req.EmergencyExecuteNumRPCReq; |
| | | import com.gkhy.safePlatform.emergency.rpc.api.model.req.EmergencyExecuteTimeRPCReq; |
| | | import com.gkhy.safePlatform.emergency.rpc.api.model.resp.EmergencyExecuteNumRPCResp; |
| | | import com.gkhy.safePlatform.emergency.rpc.api.model.resp.EmergencyExecuteTimeRPCResp; |
| | | 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.resp.EmergencyExecuteNumDetailRPCResp; |
| | | import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteNumRPCResp; |
| | | import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteTimeRPCResp; |
| | | import com.gkhy.safePlatform.emergency.service.EmergencyCountService; |
| | | import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService; |
| | | import com.gkhy.safePlatform.emergency.service.baseService.EmergencySuppliesInfoService; |
| | |
| | | @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()); |
| | | emergencyExecuteTimeRPCResp.setParentDepId(depInfoRPCRespDTO.getParentDepId()); |
| | | |
| | | ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(query.getDeptId()); |
| | | if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { |
| | | if (rpcResult.getData() != null) { |
| | | DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData(); |
| | | emergencyExecuteTimeRPCResp.setDeptId(dep.getDepId()); |
| | | emergencyExecuteTimeRPCResp.setDeptName(dep.getDepName()); |
| | | emergencyExecuteTimeRPCResp.setDeptLevel(dep.getDepLevel()); |
| | | } |
| | | } else { |
| | | throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); |
| | | } |
| | | return new SearchResultVO<>( |
| | | getSingleTimeData(emergencyExecuteTimeRPCResp); |
| | | SearchResultVO searchResultVO = new SearchResultVO<>( |
| | | false, |
| | | null, |
| | | null, |
| | | null, |
| | | 1L, |
| | | null, |
| | | emergencyExecuteTimeRPCResp, |
| | | ResultCodes.OK |
| | | ); |
| | | searchResultVO.setCount(1); |
| | | return searchResultVO; |
| | | } |
| | | |
| | | @Override |
| | | public SearchResultVO<List<EmergencyExecuteTimeRPCResp>> getTimeByDeptIds(EmergencyExecuteTimeRPCReq query) { |
| | | List<EmergencyExecuteTimeRPCResp> list = new ArrayList<>(); |
| | | return new SearchResultVO<>( |
| | | |
| | | // 获取该部门及其子部门的所有信息 |
| | | 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()); |
| | | emergencyExecuteTimeRPCResp.setParentDepId(depInfoRPCRespDTO.getParentDepId()); |
| | | |
| | | getSingleTimeData(emergencyExecuteTimeRPCResp); |
| | | list.add(emergencyExecuteTimeRPCResp); |
| | | } |
| | | |
| | | SearchResultVO searchResultVO = new SearchResultVO<>( |
| | | false, |
| | | null, |
| | | null, |
| | | null, |
| | | (long)list.size(), |
| | | null, |
| | | list, |
| | | ResultCodes.OK |
| | | ); |
| | | if (!list.isEmpty()){ |
| | | searchResultVO.setCount(list.size()); |
| | | } |
| | | return searchResultVO; |
| | | } |
| | | |
| | | 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) { |
| | | return null; |
| | | if (query.getYear()==null){ |
| | | throw new EmergencyException(EmergencyResultCodes.YEAR_NULL); |
| | | } |
| | | EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp = new EmergencyExecuteNumRPCResp(); |
| | | // 获取id对应的部门 |
| | | DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); |
| | | emergencyExecuteNumRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); |
| | | emergencyExecuteNumRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); |
| | | emergencyExecuteNumRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | emergencyExecuteNumRPCResp.setParentDepId(depInfoRPCRespDTO.getParentDepId()); |
| | | |
| | | getSingleNumData(emergencyExecuteNumRPCResp,query); |
| | | |
| | | SearchResultVO searchResultVO = new SearchResultVO<>( |
| | | false, |
| | | null, |
| | | null, |
| | | null, |
| | | null, |
| | | emergencyExecuteNumRPCResp, |
| | | ResultCodes.OK |
| | | ); |
| | | searchResultVO.setCount(1); |
| | | return searchResultVO; |
| | | } |
| | | |
| | | @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()); |
| | | emergencyExecuteNumRPCResp.setParentDepId(depInfoRPCRespDTO.getParentDepId()); |
| | | |
| | | getSingleNumData(emergencyExecuteNumRPCResp,query); |
| | | list.add(emergencyExecuteNumRPCResp); |
| | | } |
| | | |
| | | SearchResultVO searchResultVO = new SearchResultVO<>( |
| | | false, |
| | | null, |
| | | null, |
| | | null, |
| | | null, |
| | | list, |
| | | ResultCodes.OK |
| | | ); |
| | | if (!list.isEmpty()){ |
| | | searchResultVO.setCount(list.size()); |
| | | } |
| | | return searchResultVO; |
| | | } |
| | | |
| | | private void getSingleNumData(EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp,EmergencyExecuteNumRPCReq query){ |
| | | List<Long> deptIds = new ArrayList<>(); |
| | | deptIds.add(emergencyExecuteNumRPCResp.getDeptId()); |
| | | |
| | | List<Map<String,Integer>> mapList = new ArrayList<>(); |
| | | List<EmergencyDrillExecuteCountRPC> emergencyDrillExecuteCountDataList = new ArrayList<>(); |
| | | String startTime ; |
| | | String endTime ; |
| | | Integer distType; |
| | | if (query.getMonth()==null){ |
| | | distType=1; |
| | | // 查该年度12个月份的 |
| | | startTime = TimeUtils.getYearFirst(query.getYear()); |
| | | endTime = TimeUtils.getYearLast(query.getYear()); |
| | | emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByMonthAndDeptForIntegerMonth(startTime, endTime, deptIds); |
| | | }else{ |
| | | // 查该年度指定月份的 |
| | | distType=2; |
| | | startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth()); |
| | | endTime = TimeUtils.getMonthLast(query.getYear(),query.getMonth()); |
| | | emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByDayAndDept(startTime, endTime, deptIds); |
| | | } |
| | | if (!emergencyDrillExecuteCountDataList.isEmpty()){ |
| | | List<EmergencyExecuteNumDetailRPCResp> detailList =new ArrayList<>(); |
| | | for (EmergencyDrillExecuteCountRPC emergencyDrillExecuteCountRPC : emergencyDrillExecuteCountDataList){ |
| | | |
| | | EmergencyExecuteNumDetailRPCResp emergencyExecuteNumDetailRPCResp = new EmergencyExecuteNumDetailRPCResp(); |
| | | |
| | | emergencyExecuteNumDetailRPCResp.setTime(emergencyDrillExecuteCountRPC.getName()); |
| | | emergencyExecuteNumDetailRPCResp.setDistType(distType); |
| | | emergencyExecuteNumDetailRPCResp.setYear(query.getYear()); |
| | | if (distType==1){ |
| | | emergencyExecuteNumDetailRPCResp.setMonth(emergencyDrillExecuteCountRPC.getName()); |
| | | } |
| | | if (distType==2){ |
| | | emergencyExecuteNumDetailRPCResp.setMonth(query.getMonth()); |
| | | emergencyExecuteNumDetailRPCResp.setDay(emergencyDrillExecuteCountRPC.getName()); |
| | | } |
| | | emergencyExecuteNumDetailRPCResp.setNum(emergencyDrillExecuteCountRPC.getNum()); |
| | | detailList.add(emergencyExecuteNumDetailRPCResp); |
| | | } |
| | | emergencyExecuteNumRPCResp.setDetail(detailList); |
| | | } |
| | | |
| | | } |
| | | |
| | | private DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { |
| | | DepInfoRPCRespDTO dep = new DepInfoRPCRespDTO(); |
| | | ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(deptId); |
| | | if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { |
| | | if (rpcResult.getData() != null) { |
| | | dep = (DepInfoRPCRespDTO) rpcResult.getData(); |
| | | } |
| | | } else { |
| | | throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); |
| | | } |
| | | 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) { |
| | |
| | | List<EmergencyDrillExecuteCountData> list = new ArrayList<>(); |
| | | // 获取部门id集合 |
| | | List<Long> deptIds = new ArrayList<>(); |
| | | |
| | | ResultVO<List<Long>> rpcResult = accountDepartmentService.listDepAndSubDepIds(query.getDeptId()); |
| | | deptIds.add(query.getDeptId()); |
| | | /* ResultVO<List<Long>> rpcResult = accountDepartmentService.listDepAndSubDepIds(query.getDeptId()); |
| | | if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { |
| | | if (rpcResult.getData() != null) { |
| | | deptIds = (List<Long>) rpcResult.getData(); |
| | | } |
| | | } else { |
| | | throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); |
| | | } |
| | | }*/ |
| | | // 获取时间 |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); |
| | | Date date = new Date(); |
| | |
| | | ); |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | Date date = new Date();//获取当前日期 |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//格式化一下 |
| | | Calendar calendar1 = Calendar.getInstance();//获取对日期操作的类对象 |
| | | //两种写法都可以获取到前三天的日期 |
| | | calendar1.set(Calendar.DAY_OF_YEAR, calendar1.get(Calendar.DAY_OF_YEAR) - 40); |
| | | //在当前时间的基础上获取前三天的日期 |
| | | // calendar1.add(Calendar.DATE, -40); |
| | | //add方法 参数也可传入 月份,获取的是前几月或后几月的日期 |
| | | //calendar1.add(Calendar.MONTH, -3); |
| | | Date today = calendar1.getTime(); |
| | | String time = sdf.format(today); |
| | | System.out.println(time); |
| | | } |
| | | } |