From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期五, 01 八月 2025 13:27:59 +0800 Subject: [PATCH] yys 密码已重置 --- cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java new file mode 100644 index 0000000..0d7eebe --- /dev/null +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java @@ -0,0 +1,70 @@ +package com.ruoyi.process.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.FilePictureRenderData; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.process.mapper.ProcessSampleMapper; +import com.ruoyi.process.pojo.ProcessSample; +import com.ruoyi.process.service.ProcessSampleService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 鏍峰搧鎺ユ敹 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author + * @since 2024-12-12 05:02:49 + */ +@Service +public class ProcessSampleServiceImpl extends ServiceImpl<ProcessSampleMapper, ProcessSample> implements ProcessSampleService { + + @Resource + private ProcessSampleMapper processSampleMapper; + + @Override + public IPage<ProcessSample> pageProcessSample(Page page, ProcessSample processSample) { + return processSampleMapper.pageProcessSample(page, QueryWrappers.queryWrappers(processSample)); + } + + @Override + public void exportProcessSample(ProcessSample processSample, HttpServletResponse response) { + List<ProcessSample> processSampleList = pageProcessSample(new Page(-1, -1), processSample).getRecords(); + InputStream inputStream = this.getClass().getResourceAsStream("/static/sample-receive.docx"); + Configure configure = Configure.builder() + .bind("sampleList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("sampleList", processSampleList); + }}); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "妫�楠屾牱鍝佺櫥璁拌〃", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + inputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} -- Gitblit v1.9.3