| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importExcel(MultipartFile file) throws Exception { |
| | | ImportParams importParams = new ImportParams(); |
| | | //表格标题行数,默认0 |
| | | // 表格标题行数,默认0 |
| | | importParams.setTitleRows(1); |
| | | //是否需要校验上传的Excel |
| | | // 是否需要校验上传的Excel |
| | | importParams.setNeedVerify(true); |
| | | //使用自定义校验规则 |
| | | // 使用自定义校验规则 |
| | | importParams.setVerifyHandler(deptVerifyHandler); |
| | | InputStream inputStream = file.getInputStream(); |
| | | ExcelImportResult<DeptExcel> result = ExcelImportUtil.importExcelMore(inputStream, |
| | |
| | | Date date = new Date(); |
| | | Date quarterStart = DateUtil.beginOfQuarter(date); |
| | | Date quarterEnd = DateUtil.endOfQuarter(date); |
| | | //判断当前时间是否在季度初1-15号 |
| | | // 判断当前时间是否在季度初1-15号 |
| | | Instant instant = quarterStart.toInstant(); |
| | | LocalDate quarterStartLocalDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate fifteenDaysLimit = quarterStartLocalDate.plusDays(14); |
| | | LocalDate now = LocalDate.now(); |
| | | //如果当前时间不在规定范围内:季度初1-15号 |
| | | // 如果当前时间不在规定范围内:季度初1-15号 |
| | | if (now.isAfter(quarterStartLocalDate) || now.isBefore(fifteenDaysLimit)) { |
| | | //查询所有的部门 |
| | | // 查询所有的部门 |
| | | List<SysUser> list = sysUserService.lambdaQuery() |
| | | .eq(SysUser::getUserType, UserTypeEnum.DEPARTMENT.getCode()).list(); |
| | | Set<String> deptAreaCodeList = list.stream().map(SysUser::getAreaCode) |
| | | .collect(Collectors.toSet()); |
| | | //查询当前季度填报了数据的部门 |
| | | // 查询当前季度填报了数据的部门 |
| | | List<TbBasicData> filledBasicData = tbBasicDataService.lambdaQuery() |
| | | .between(TbBasicData::getReportingTime, quarterStartLocalDate, fifteenDaysLimit) |
| | | .eq(TbBasicData::getStatus, ReportingStatusEnum.FILLED).list(); |