From 143e74027f8b68fb7fa4dcd0026ccfa1e0e16788 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 10 九月 2025 16:41:45 +0800
Subject: [PATCH] mes接口调整
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java | 63 +++++++++++++++++++++++++++++--
1 files changed, 58 insertions(+), 5 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
index 21d0558..d65e692 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -5,7 +5,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.basesetting.machine.MachineService;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.mapper.NcNodeMapper;
@@ -18,7 +18,6 @@
import java.util.List;
import java.util.Objects;
import java.util.Optional;
-import java.util.stream.Collectors;
/**
* 绋嬪簭鑺傜偣
@@ -245,8 +244,8 @@
* @param processNo 宸ュ簭鐗堟
* @return 绋嬪簭鍖呭悕/绋嬪簭鍚嶇О
*/
- public static String genProgramName(String drawingNo,String processNo){
- return drawingNo+"-"+processNo;
+ public static String genProgramName(String drawingNo,String processNo,String processEdition){
+ return drawingNo+"-"+processNo+"-"+processEdition;
}
/**
@@ -283,6 +282,29 @@
.likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1)
.in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup)
.eq(NcNode::getIsLastEdition,1).list();
+
+ if(nodes.isEmpty()){
+ return null;
+ }else {
+ return nodes.get(0);
+ }
+ }
+
+ /**
+ * 鑾峰彇鏈�鏂扮殑鍥哄寲绋嬪簭锛屼笉鐢ㄥ伐搴忕増娆″尮閰�
+ * @param programPkgName
+ * @param machineCode
+ * @return
+ */
+ public NcNode getLastCuredProgramPackageWithoutProcessEdition(String programPkgName,String machineCode) {
+ Machine machine = machineService.getByCode(machineCode);
+ List<Machine> sameGroupMachines = machineService.lambdaQuery().eq(Machine::getMachineGroupCode,machine.getMachineGroupCode()).list();
+ List<String> machineCodesInGroup = sameGroupMachines.stream().map(Machine::getCode).toList();
+ List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
+ .eq(NcNode::getName, programPkgName)
+ .likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1)
+ .in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup)
+ .eq(NcNode::getIsLastEdition,1).orderByDesc(NcNode::getCreateTime).list();
if(nodes.isEmpty()){
return null;
@@ -337,7 +359,6 @@
return this.lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_FILE)
.eq(NcNode::getParentId,packageNodeId).eq(NcNode::getIsLastEdition,1).list();
}
-
/**
* 鍗囩骇鐗堟湰鍙凤紙+1锛�
* @param nodeId 鑺傜偣id
@@ -361,9 +382,41 @@
this.updateById(node);
}
@Transactional
+ public void lock(Long id,String remark) {
+ NcNode node = this.getById(id);
+ node.lock(remark);
+ this.updateById(node);
+ }
+ @Transactional
public void unlock(Long id) {
NcNode node = this.getById(id);
node.unlock();
this.updateById(node);
}
+
+ /**
+ * 鏌ヨ鍋忕鍗曠殑搴忓彿
+ * @param programPkgNode 鍋忕鍗曠殑绋嬪簭鍖呭悕鑺傜偣
+ * @return 搴忓彿
+ */
+ public long getDeviationSerialForNode(NcNode programPkgNode) {
+ return lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
+ .eq(NcNode::getName,programPkgNode.getName())
+
+ .eq(NcNode::getDrawingNo,programPkgNode.getDrawingNo())
+ .eq(NcNode::getProcessNo,programPkgNode.getProcessNo())
+ .eq(NcNode::getProcessEdition,programPkgNode.getProcessEdition())
+
+ .isNotNull(NcNode::getDeviation)
+ .le(NcNode::getCreateTime,programPkgNode.getCreateTime()) //鏃堕棿灏忎簬绛変簬褰撳墠鑺傜偣
+ .count();
+ }
+
+ /**
+ * 鏍规嵁涓婄骇鑺傜偣id锛岀Щ鍔ㄤ笅闈㈢殑鍔犲伐鏈哄簥鑺傜偣
+ * @param parentId 涓婄骇鑺傜偣id
+ */
+ public void deleteMachineNodeByParentId(Long parentId) {
+ baseMapper.deleteMachineNodeByParentId(parentId);
+ }
}
--
Gitblit v1.9.3