| | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.function.Consumer; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | groupUserDao.delete(new QueryWrapper<GroupUser>().eq("user_id", id).eq("group_id", groupId)); |
| | | } |
| | | |
| | | @Override |
| | | @SneakyThrows |
| | | public void exportReporter(Integer id, HttpServletResponse response) { |
| | | //查询报案人相关信息通过案件 |
| | | List<Report> reports = reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", id).orderByDesc()); |
| | | ArrayList<ExportExcelReportVo> exportExcelReportVos = new ArrayList<>(); |
| | | reports.forEach( |
| | | a -> { |
| | | ExportExcelReportVo exportExcelReportVo = new ExportExcelReportVo(); |
| | | User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())); |
| | | BeanUtils.copyProperties(a, exportExcelReportVo); |
| | | exportExcelReportVo.setUserIdcard(user.getUserIdcard()); |
| | | exportExcelReportVo.setUserMobile(user.getUserMobile()); |
| | | exportExcelReportVo.setRealName(user.getRealName()); |
| | | WriteCellData<List<ImageData>> objectWriteCellData = new WriteCellData<>(); |
| | | ArrayList<ImageData> imageDataList = new ArrayList<>(); |
| | | if (StringUtils.isNotBlank(a.getReportMaterials())) { |
| | | String[] urls = a.getReportMaterials().split(","); |
| | | if (urls.length == 1) { |
| | | int width = 600; |
| | | try { |
| | | ImageData imageData = new ImageData(); |
| | | imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[0])).openConnection().getInputStream())); |
| | | imageData.setRight(width / 2); |
| | | imageDataList.add(imageData); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } else { |
| | | for (int i = 0; i < urls.length; i++) { |
| | | int width = 600; |
| | | try { |
| | | ImageData imageData = new ImageData(); |
| | | imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[i])).openConnection().getInputStream())); |
| | | imageData.setLeft(width / urls.length * i); |
| | | imageData.setRight(width - width / urls.length * (i + 1)); |
| | | imageDataList.add(imageData); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | objectWriteCellData.setImageDataList(imageDataList); |
| | | exportExcelReportVo.setWriteCellData(objectWriteCellData); |
| | | exportExcelReportVos.add(exportExcelReportVo); |
| | | } |
| | | ); |
| | | String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName(); |
| | | response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + URLEncoder.encode(name + ".xlsx", "utf-8")); |
| | | EasyExcel.write(response.getOutputStream(), ExportExcelReportVo.class).sheet("材料导出").doWrite(exportExcelReportVos); |
| | | } |
| | | // @Override |
| | | // @SneakyThrows |
| | | // public void exportReporter(Integer id, HttpServletResponse response) { |
| | | // //查询报案人相关信息通过案件 |
| | | // List<Report> reports = reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", id).orderByDesc()); |
| | | // ArrayList<ExportExcelReportVo> exportExcelReportVos = new ArrayList<>(); |
| | | // reports.forEach( |
| | | // new Consumer<Report>() { |
| | | // @Override |
| | | // public void accept(Report a) { |
| | | // ExportExcelReportVo exportExcelReportVo = new ExportExcelReportVo(); |
| | | // User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())); |
| | | // BeanUtils.copyProperties(a, exportExcelReportVo); |
| | | // exportExcelReportVo.setUserIdcard(user.getUserIdcard()); |
| | | // exportExcelReportVo.setUserMobile(user.getUserMobile()); |
| | | // exportExcelReportVo.setRealName(user.getRealName()); |
| | | // WriteCellData<List<ImageData>> objectWriteCellData = new WriteCellData<>(); |
| | | // ArrayList<ImageData> imageDataList = new ArrayList<>(); |
| | | // if (StringUtils.isNotBlank(a.getReportMaterials())) { |
| | | // String[] urls = a.getReportMaterials().split(","); |
| | | // if (urls.length == 1) { |
| | | // int width = 600; |
| | | // try { |
| | | // ImageData imageData = new ImageData(); |
| | | // imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[0])).openConnection().getInputStream())); |
| | | // imageData.setRight(width / 2); |
| | | // imageDataList.add(imageData); |
| | | // } catch (Exception e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | // } else { |
| | | // for (int i = 0; i < urls.length; i++) { |
| | | // int width = 600; |
| | | // try { |
| | | // ImageData imageData = new ImageData(); |
| | | // imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[i])).openConnection().getInputStream())); |
| | | // imageData.setLeft(width / urls.length * i); |
| | | // imageData.setRight(width - width / urls.length * (i + 1)); |
| | | // imageDataList.add(imageData); |
| | | // } catch (Exception e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // objectWriteCellData.setImageDataList(imageDataList); |
| | | // exportExcelReportVo.setWriteCellData(objectWriteCellData); |
| | | // exportExcelReportVos.add(exportExcelReportVo); |
| | | // } |
| | | // } |
| | | // ); |
| | | // String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName(); |
| | | // response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
| | | // response.setCharacterEncoding("utf-8"); |
| | | // response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + URLEncoder.encode(name + ".xlsx", "utf-8")); |
| | | // EasyExcel.write(response.getOutputStream(), ExportExcelReportVo.class).sheet("材料导出").doWrite(exportExcelReportVos); |
| | | // } |
| | | |
| | | @Override |
| | | public Page<ReportListVo> getPage(Page<ReportListVo> page, ReportParamDto reportParamDto) { |