From 7ea5eece501c98a91555a5358931367e78e9d23b Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期四, 25 五月 2023 15:40:09 +0800 Subject: [PATCH] 11 --- src/main/java/com/example/jz/service/impl/ReportServiceImpl.java | 126 +++++++++++++++++++++++------------------ 1 files changed, 71 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java index 36555b4..3acd551 100644 --- a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java @@ -18,6 +18,7 @@ import com.example.jz.modle.dto.ReportParamDto; import com.example.jz.modle.entity.*; import com.example.jz.modle.vo.ExportExcelReportVo; +import com.example.jz.modle.vo.NewCauseVo; import com.example.jz.modle.vo.ReportListVo; import com.example.jz.modle.vo.ReportVXVO; import com.example.jz.service.MinIOService; @@ -42,6 +43,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.function.Consumer; import java.util.stream.Collectors; /** @@ -105,60 +107,63 @@ 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) { @@ -265,12 +270,23 @@ ReportVXVO reportVXVO = new ReportVXVO(); Report report = reportDao.selectOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id)); User user = userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getId, report.getUserId())); - BeanUtils.copyProperties(reportVXVO, report); + BeanUtils.copyProperties(report, reportVXVO); reportVXVO.setLocation(user.getLocation()); reportVXVO.setWorkingLocation(user.getWorkingLocation()); reportVXVO.setSex(user.getSex()); reportVXVO.setRealName(user.getRealName()); reportVXVO.setUserIdCard(user.getUserIdcard()); + reportVXVO.setDescription(causeDao.selectOne(new LambdaQueryWrapper<Cause>().eq(Cause::getId, reportDao.selectOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id)).getCauseId())).getName()); return reportVXVO; } + + @Override + public NewCauseVo rejectCauseList(Integer id) { + Report report = reportDao.selectOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id)); + Cause cause = causeDao.selectOne(new LambdaQueryWrapper<Cause>().eq(Cause::getId, report.getCauseId())); + NewCauseVo newCauseVo = new NewCauseVo(); + newCauseVo.setId(cause.getId()); + newCauseVo.setName(cause.getName()); + return newCauseVo; + } } \ No newline at end of file -- Gitblit v1.8.0