From 2bb12b1ca40b29b7edcf06ef3f3d6de24dde1c4c Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 24 九月 2025 14:59:17 +0800
Subject: [PATCH] 原材料订单拆分功能v1
---
cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java | 94 +++++++++++++++++-----------------------------
1 files changed, 35 insertions(+), 59 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 e351b93..0d7eebe 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,28 +1,32 @@
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>
* 鏍峰搧鎺ユ敹 鏈嶅姟瀹炵幇绫�
* </p>
*
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @author
* @since 2024-12-12 05:02:49
*/
@Service
@@ -31,64 +35,36 @@
@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();
+ inputStream.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