From 112d964cbc94154dd4ca75851231d0c477ebc571 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期二, 20 五月 2025 10:29:22 +0800 Subject: [PATCH] 其他功能合并 --- cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessReportServiceImpl.java | 51 +++++++++++++++++++++------------------------------ 1 files changed, 21 insertions(+), 30 deletions(-) diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessReportServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessReportServiceImpl.java index a92b478..5bca8b2 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessReportServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessReportServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.lang.UUID; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.XWPFTemplate; @@ -13,14 +14,15 @@ import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.SignatureImageUtil; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.process.dto.ProcessReportDto; import com.ruoyi.process.mapper.ProcessReportMapper; import com.ruoyi.process.pojo.ProcessReport; import com.ruoyi.process.service.ProcessReportService; import com.ruoyi.system.mapper.UserMapper; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.StringUtils; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -52,45 +54,32 @@ @Resource private ProcessReportMapper processReportMapper; - - - @Value("${wordUrl}") - private String wordUrl; + @Value("${file.path}") + private String imgUrl; @Resource private UserMapper userMapper; @Override - public IPage<ProcessReport> pageProcessReport(Page page, ProcessReport processReport) { - //todo 浠呯湅鎴� - IPage<ProcessReport> processReportIPage = processReportMapper.pageProcessReport(page, QueryWrappers.queryWrappers(processReport)); -// for (ProcessReport record : processReportIPage.getRecords()) { -// List<String> name = new ArrayList<>(); -// for (String s : record.getSignatory().split(",")) { -// User user = userMapper.selectById(Integer.parseInt(s)); -// name.add(user.getName()); -// } -// String signatoryName = name.stream().collect(Collectors.joining(",")); -// record.setSignatoryName(signatoryName); -// } + public IPage<ProcessReportDto> pageProcessReport(Page page, ProcessReportDto processReport) { + IPage<ProcessReportDto> processReportIPage = processReportMapper.pageProcessReport(page, QueryWrappers.queryWrappers(processReport)); return processReportIPage; } @Override - public void exportProcessReport(List<Integer> ids, HttpServletResponse response) { - List<ProcessReport> processReports = processReportMapper.getIds(ids); -// for (ProcessReport record : processReports) { -// List<String> name = new ArrayList<>(); -// if(StringUtils.isNotBlank(record.getSignatory())){ -// for (String s : record.getSignatory().split(",")) { -// User user = userMapper.selectById(Integer.parseInt(s)); -// name.add(user.getName()); -// } -// String signatoryName = name.stream().collect(Collectors.joining(",")); -// record.setSignatoryName(signatoryName); -// } -// } + public void exportProcessReport(ProcessReportDto dto, HttpServletResponse response) { + List<ProcessReportDto> processReports = processReportMapper.exportProcessReport(); + for (ProcessReportDto processReport : processReports) { + // 鍙戦�佷汉鐢熸垚绛惧悕鍥剧墖 + processReport.setSendUserRender(StringUtils.isNotBlank(processReport.getSendUserUrl()) + ? Pictures.ofLocal(imgUrl + "/" + processReport.getSendUserUrl()).create() : null); + + // 绛炬敹浜虹敓鎴愬浘鐗� + processReport.setSignatoryRender(StringUtils.isNotBlank(processReport.getSignatory()) + ? Pictures.ofStream(SignatureImageUtil.saveImageToFile(processReport.getSignatory())).create() : null); + } + // 鑾峰彇璺緞 InputStream inputStream = this.getClass().getResourceAsStream("/static/report-deal.docx"); Configure configure = Configure.builder() @@ -110,6 +99,8 @@ template.write(os); os.flush(); os.close(); + inputStream.close(); + inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("瀵煎嚭澶辫触"); -- Gitblit v1.9.3