From 46929f181707162f21eb6e7735350969097fe21d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 23 七月 2025 20:52:34 +0800
Subject: [PATCH] 增加字典查询接口
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java | 94 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 89 insertions(+), 5 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
index f41b3e9..eb4769a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -62,6 +62,7 @@
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
/**
* 宸ヤ綔娴佹湇鍔″疄鐜扮被
@@ -139,6 +140,7 @@
prog.setProcessEdition(uploadVO.getProcessEdition());
prog.setIsLastEdition(1);
prog.setMachineCode(uploadVO.getMachineCode());
+ prog.setProcessName(uploadVO.getProcessName());
boolean isTextFile = false;
try {
isTextFile = FileContentUtil.isTextFile(file.getInputStream());
@@ -157,6 +159,10 @@
node.setDrawingNo(uploadVO.getDrawingNo());
node.setProcessName(uploadVO.getProcessName());
+ NcNode parentNode = nodeService.getById(uploadVO.getNodeId());
+ node.setParentIds(parentNode.getParentIds()+","+uploadVO.getNodeId());
+ //uploadVO.getre
+ //node.setDescription(uploadVO.getDrawingNo());
nodeService.save(node);
prog.setBindNcNodeId(node.getId());
@@ -242,13 +248,15 @@
/**
* 鍗囩増(鍗囩骇宸ュ簭鐗堟),鍗囩骇宸ュ簭鐗堟湰锛堝寘鎷▼搴忓拰鍏朵粬闄勪欢锛�
- * @param id 绋嬪簭鏂囦欢id
+ * @param bindNcNodeId 绋嬪簭鏂囦欢缁戝畾鐨勮妭鐐筰d
* @param newProcessEdition 鏂扮増娆�
*/
- public void upgradeProcessEdition(long id,String newProcessEdition) {
- NcProgram prog = this.getById(id);
+ public void upgradeProcessEdition(Long bindNcNodeId,String newProcessEdition) {
+ //NcProgram prog = this.getById(id);
+ NcProgram prog = getByBindNodeId(bindNcNodeId);
+
//灏嗙幇鏈夌▼搴忔洿鏂颁负闈炴渶鏂扮増鏈�
- this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getId,id).set(NcProgram::getIsLastEdition,0));
+ this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getBindNcNodeId,bindNcNodeId).set(NcProgram::getIsLastEdition,0));
NcProgram newVerProg = new NcProgram();
BeanUtils.copyProperties(prog, newVerProg);
@@ -278,7 +286,8 @@
wrapper.eq(NcProgram::getBindNcNodeId, bindNcNodeId);
wrapper.eq(NcProgram::getIsLastEdition,1);
NcProgram prog = this.getOne(wrapper);
- String filePath = prog.getName();
+
+ String filePath = getFilePath(prog);
try(InputStream ins = ossTemplate.statFileStream(prog.getOssName());){
File targetFile = new File(filePath);
FileUtils.copyInputStreamToFile(ins, targetFile);
@@ -297,4 +306,79 @@
return dirPath+File.separator+prog.getName();
}
+
+ /**
+ *
+ * @param bindNcNodeId
+ * @return
+ */
+ public NcProgram getByBindNodeId(Long bindNcNodeId) {
+
+ LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(NcProgram::getBindNcNodeId, bindNcNodeId);
+ wrapper.eq(NcProgram::getIsLastEdition,1);
+
+ Optional<NcProgram> progOpt = this.getOneOpt(wrapper);
+
+ return progOpt.orElse(null);
+ }
+
+ /**
+ * 鏍规嵁绋嬪簭鍚嶇О鑾峰彇鏈�鏂扮殑绋嬪簭鏁版嵁
+ * @param name 绋嬪簭鍚嶇О
+ * @return
+ */
+ public NcProgram getByName(String name) {
+ LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(NcProgram::getName, name);
+ wrapper.eq(NcProgram::getIsLastEdition,1);
+ Optional<NcProgram> progOpt = this.getOneOpt(wrapper);
+
+ return progOpt.orElse(null);
+ }
+
+ /**
+ *
+ * @param nodeId 涓婄骇鑺傜偣id
+ * @param name 绋嬪簭鍚嶇О
+ */
+ public boolean programExistsUnderNode(Long nodeId, String name) {
+ LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(nodeId!=null,NcProgram::getNcNodeId, nodeId);
+ wrapper.eq(NcProgram::getName, name);
+ wrapper.eq(NcProgram::getIsLastEdition,1);
+
+ return this.count(wrapper)>0;
+ }
+
+ /**
+ *
+ * @param nodeId 涓婄骇鑺傜偣id
+ * @param name 绋嬪簭鍚嶇О
+ */
+ public boolean programExistsUnderOtherNode(Long nodeId, String name) {
+ LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+ wrapper.ne(NcProgram::getNcNodeId, nodeId);
+ wrapper.eq(NcProgram::getName, name);
+ wrapper.eq(NcProgram::getIsLastEdition,1);
+
+ return this.count(wrapper)>0;
+ }
+
+ /**
+ * 鏄剧ず绋嬪簭鐨勫巻鍙茶褰曞垪琛�
+ * @param bindNodeId
+ * @return
+ */
+ public List<NcProgramVO> historyByBindNode(Long bindNodeId) {
+
+ NcProgram program = this.getByBindNodeId(bindNodeId);
+ List<NcProgram> list = this.lambdaQuery().eq(NcProgram::getName,program.getName())
+ .eq(NcProgram::getNcNodeId,program.getNcNodeId()).orderByDesc(NcProgram::getCreateTime).list();
+
+ return list.stream().map(p -> {
+ NcProgramVO vo = new NcProgramVO();
+ BeanUtils.copyProperties(p,vo);
+ return vo;}).toList();
+ }
}
--
Gitblit v1.9.3