From cf9a5039e6db9d1d5963e3fe1a37d00169ec2ef7 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 25 六月 2025 11:18:22 +0800
Subject: [PATCH] 验收报告修改

---
 src/main/java/com/whyc/service/WorksheetLinkService.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorksheetLinkService.java b/src/main/java/com/whyc/service/WorksheetLinkService.java
index 80dd0ac..a93f1d8 100644
--- a/src/main/java/com/whyc/service/WorksheetLinkService.java
+++ b/src/main/java/com/whyc/service/WorksheetLinkService.java
@@ -3,11 +3,13 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.whyc.config.EnumWorksheetType;
+import com.whyc.dto.Response;
 import com.whyc.mapper.ProductBomApprovingMapper;
 import com.whyc.mapper.WorksheetLinkMapper;
 import com.whyc.pojo.*;
 import com.whyc.util.CommonUtil;
 import com.whyc.util.FileUtil;
+import com.whyc.util.WordUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -15,6 +17,7 @@
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.io.FilenameFilter;
 import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -66,6 +69,12 @@
 
     @Autowired
     private ProductHistoryService phService;
+
+    @Autowired
+    private ProcedureDocApprovingService procedureDocApprovingService;
+
+    @Autowired
+    private ProcedureDocService procedureDocService;
 
     @Transactional
     public void audit(WorksheetLink link) {
@@ -583,4 +592,61 @@
     public DocUser getApprovingUser(Integer mainId) {
         return linkMapper.getApprovingUser(mainId);
     }
+
+    @Transactional
+    public Response confirmProductProcedureAndSOP(WorksheetLink link) throws IOException {
+        Integer mainId = linkMapper.selectById(link.getId()).getMainId();
+        //鏇存柊瀛愯〃
+        linkMapper.updateById(link);
+        if(link.getLinkStatus() ==1){
+            //鏌ヨ褰撳墠鍗曟嵁瀛愯〃鏄惁宸茬粡鍏ㄩ儴鍚屾剰
+            QueryWrapper<WorksheetLink> query = Wrappers.query();
+            query.eq("main_id",mainId);
+            List<WorksheetLink> linkList = linkMapper.selectList(query);
+            List<WorksheetLink> rejectList = linkList.stream().filter(linkFilter -> linkFilter.getLinkStatus() != 1).collect(Collectors.toList());
+            if(rejectList == null){
+                //閮戒负1,宸茬‘璁�
+                mainService.updateEndStatusById(mainId,"宸茬‘璁�",5);
+                //鏂囦欢杞Щ鍒板鎵瑰畬鎴愬悗鐨勬寮忚矾寰� 鏂囦欢淇濆瓨鍦�/doc_file/procedure/xxx.doc
+                ProcedureDocApproving approving = procedureDocApprovingService.getByMainId(mainId);
+                String fileRelativePath = approving.getFile();
+                String projectDir = CommonUtil.getProjectDir();
+                String inFilePath = projectDir + File.separator + fileRelativePath;
+                String outFilePath = (projectDir + File.separator + fileRelativePath).replace("_approving","");
+                WordUtil.fillValue(inFilePath,outFilePath,Arrays.asList(approving.getFzr(),approving.getBz(),approving.getZz(),approving.getPb()));
+                //鍒犻櫎涔嬪墠棰勮浜х敓鐨勪腑闂存枃浠�
+                String filename = fileRelativePath.substring(fileRelativePath.lastIndexOf(File.separator)+1,fileRelativePath.lastIndexOf("."));
+                File approvingDir = new File(projectDir + File.separator + "procedure_approving");
+                FilenameFilter filenameFilter = new FilenameFilter() {
+                    @Override
+                    public boolean accept(File dir, String name) {
+                        name = name.substring(0,name.lastIndexOf("."));
+                        if(name.contains(filename) && !name.equals(filename)){
+                            return true;
+                        }
+                        return false;
+                    }
+                };
+                File[] files = approvingDir.listFiles(filenameFilter);
+                for (File file : files) {
+                    file.delete();
+                }
+
+                //娴佺▼鏂囦欢鏁版嵁杞Щ
+                ProcedureDoc procedureDoc = new ProcedureDoc();
+                procedureDoc.setName(approving.getName());
+                procedureDoc.setDescription(approving.getDescription());
+                procedureDoc.setVersion(approving.getVersion());
+                procedureDoc.setFzr(approving.getFzr());
+                procedureDoc.setBz(approving.getBz());
+                procedureDoc.setType(approving.getType());
+                procedureDoc.setCreateTime(new Date());
+                procedureDoc.setFile(fileRelativePath.replace("_approving",""));
+                procedureDocService.insert(procedureDoc);
+            }
+        }else{
+            mainService.updateEndStatusById(mainId,"宸查┏鍥�",0);
+        }
+        return new Response().set(1);
+    }
 }

--
Gitblit v1.9.1