From 7f3a9c6582c18441eb569a4bb2e39b6e5560ffc1 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 18 八月 2025 21:09:53 +0800
Subject: [PATCH] dnc回传记录处理
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java | 4 ++--
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java | 1 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java | 3 +--
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DncBackFileMapper.xml | 4 +---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java | 25 +++++++++++++++++++++++++
5 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
index f85c9bd..ac61907 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
@@ -78,8 +78,7 @@
String programPkgName = NcNodeService.genProgramName(startVO.getDrawingNo(),startVO.getProcessNo());
vars.put(FlowContants.PROGRAM_PACKAGE_NAME,programPkgName);
- //TODO 鏌ヨ鍥哄寲绋嬪簭鏄紝搴旇鍘绘帀鏈夊亸绂诲崟鐨勶紵
- NcNode curedProgramPackage = ncNodeService.getLastEditionCuredProgramPackage(programPkgName);
+ NcNode curedProgramPackage = ncNodeService.getCuredProgramPackage(programPkgName,startVO.getMachineCode());
//璁剧疆鏄惁鏈夊浐鍖栫▼搴忔爣璁�
vars.put(FlowContants.HAS_CURED_PROGRAM,curedProgramPackage != null ? FlowContants.Y:FlowContants.N);
//宸ュ簭鐗堟鏄惁涓�鑷达紝鏄惁鍦ㄦ湁鏁堟湡鍐�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DncBackFileMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DncBackFileMapper.xml
index 1e76ba2..3f8a509 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DncBackFileMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DncBackFileMapper.xml
@@ -20,9 +20,7 @@
<where>
f.is_deleted=0
- <if test="query.machineSpec!=null and query.machineSpec!=''">
- and m.machine_spec=#{query.machineSpec,jdbcType=VARCHAR}
- </if>
+
<if test="query.keyword!=null and query.keyword!=''">
and (m.code like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%') or m.name like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%')
or n.name like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%')
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
index 4e00615..befdbe1 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
@@ -149,9 +149,9 @@
progData.setId(programPackageNode.getId());
progData.setProgramNo(programPackageNode.getProgramNo());
- List<String> fileEtriyNames = fileEntryNameList.stream().filter(n -> n.startsWith(packageName)).toList();
+ List<String> fileEntryNames = fileEntryNameList.stream().filter(n -> n.startsWith(packageName)).toList();
List<DncSendBackFile> programFiles = new ArrayList<>();
- fileEtriyNames.forEach( filePath ->{
+ fileEntryNames.forEach( filePath ->{
DncSendBackFile backFile = new DncSendBackFile();
backFile.setEntryName(filePath);
backFile.setName(StringUtils.removeStart(filePath,entryName));
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 2e9380f..21fc1f7 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,6 +5,8 @@
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.entity.Machine;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.mapper.NcNodeMapper;
import org.springblade.mdm.program.vo.*;
@@ -27,6 +29,7 @@
@AllArgsConstructor
public class NcNodeService extends BizServiceImpl<NcNodeMapper, NcNode> {
+ private final MachineService machineService;
public void saveNcCode(NcNodeVO vo) {
NcNode ncNode = new NcNode();
@@ -255,6 +258,28 @@
}
/**
+ * 鑾峰彇鏈�鏂扮増鏈殑 宸插浐鍖栬妭鐐�
+ * @param programPkgName 绋嬪簭鍖呭悕
+ * @param machineCode 鏈哄簥缂栧彿
+ * @return
+ */
+ public NcNode getCuredProgramPackage(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).list();
+
+ if(nodes.isEmpty()){
+ return null;
+ }else {
+ return nodes.get(0);
+ }
+ }
+
+ /**
* 鑾峰彇鏈�鏂扮増鏈殑 鍋忕鑺傜偣
* @param programPkgName 绋嬪簭鍖呭悕
* @return 鍋忕鐨勭▼搴忚妭鐐�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
index ff92aba..8a1f63f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
@@ -82,6 +82,7 @@
begin = arr[0];
end = arr[1];
}
+ line = StringUtils.trim(line);//鍘婚灏剧┖鏍�
isAnno = StringUtils.startsWith(line,begin) && StringUtils.endsWith(line,end);
return isAnno;
}
--
Gitblit v1.9.3