From f206c80520a83a28b3caa91a3fbbd9d039dd8456 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期二, 22 四月 2025 16:10:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev_ztzb' into dev_ztzb --- cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java | 91 ++++++++++++++++----------------------------- 1 files changed, 33 insertions(+), 58 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 index 6d1f901..f4dd8a7 100644 --- 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 @@ -1,21 +1,25 @@ package com.ruoyi.process.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.mapper.ProcessTotalSampleMapper; import com.ruoyi.process.pojo.ProcessSample; -import com.ruoyi.process.pojo.ProcessTotalSample; import com.ruoyi.process.service.ProcessSampleService; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; +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> @@ -31,64 +35,35 @@ @Resource private ProcessSampleMapper processSampleMapper; - @Resource - private ProcessTotalSampleMapper processTotalSampleMapper; - - - @Override public IPage<ProcessSample> pageProcessSample(Page page, ProcessSample processSample) { - //todo锛氫粎鐪嬫垜 - if (ObjectUtils.isEmpty(processSample.getTotalSampleId())) { - //鑾峰彇褰撳墠鏈堜唤 - LocalDate currentDate = LocalDate.now(); - // 瀹氫箟鏃ユ湡鏍煎紡 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); - // 鏍煎紡鍖栧綋鍓嶆棩鏈� - String currentMonth = currentDate.format(formatter); - //鏌ヨ鍘嗗彶 - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectOne(Wrappers.<ProcessTotalSample>lambdaQuery().eq(ProcessTotalSample::getMonth, currentMonth)); - processSample.setTotalSampleId(processTotalSample.getId()); - } return processSampleMapper.pageProcessSample(page, QueryWrappers.queryWrappers(processSample)); } @Override - public int addProcessSample(ProcessSample processSample) { - ProcessTotalSample processTotalSample; - if (ObjectUtils.isEmpty(processSample.getTotalSampleId())){ - LocalDate dealTime = LocalDate.now(); - // 瀹氫箟鏃ユ湡鏍煎紡 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); - // 鏍煎紡鍖栧綋鍓嶆棩鏈� - String currentMonth = dealTime.format(formatter); - processTotalSample= processTotalSampleMapper.selectOne(Wrappers.<ProcessTotalSample>lambdaQuery().eq(ProcessTotalSample::getMonth,currentMonth)); - processSample.setTotalSampleId(processTotalSample.getId()); - }else { - processTotalSample= processTotalSampleMapper.selectById(processSample.getTotalSampleId()); + 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(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); } - processSampleMapper.insert(processSample); - processTotalSample.setTotalNum(processSample.getNum()+processTotalSample.getTotalNum()); - return processTotalSampleMapper.updateById(processTotalSample); - } - - @Override - public int delProcessSample(Integer id) { - ProcessSample processSample = processSampleMapper.selectById(id); - processSampleMapper.deleteById(id); - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(processSample.getTotalSampleId()); - processTotalSample.setTotalNum(processTotalSample.getTotalNum()-processSample.getNum()); - return processTotalSampleMapper.updateById(processTotalSample); - } - - @Override - public int doProcessSample(ProcessSample processSample) { - if (ObjectUtils.isNotEmpty(processSample.getNum())) { - ProcessSample oldProcessSample = processSampleMapper.selectById(processSample.getId()); - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(processSample.getTotalSampleId()); - processTotalSample.setTotalNum(processTotalSample.getTotalNum() - oldProcessSample.getNum() + processSample.getNum()); - processTotalSampleMapper.updateById(processTotalSample); - } - return processSampleMapper.updateById(processSample); } } -- Gitblit v1.9.3