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