From 3357f4b98b68460c920df66260b0e641b60569be Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 10 八月 2025 19:14:25 +0800
Subject: [PATCH] 修复工控网导入判断是否有固化程序的判断
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java | 10 +++++++++-
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java | 10 ++++++----
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java | 18 ++++++++++++------
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java | 5 ++++-
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java | 4 ++--
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java | 8 ++++++++
6 files changed, 41 insertions(+), 14 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
index 7c5b22d..e1fa5b8 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
@@ -114,8 +114,8 @@
// 鑾峰彇涓婁竴涓凡瀹屾垚鐨勪换鍔�
String assignee = "";
- if(historicTasks.size()>1) {
- assignee = historicTasks.get(historicTasks.size() - 2).getAssignee();
+ if(!historicTasks.isEmpty()) {
+ assignee = historicTasks.get(historicTasks.size() - 1).getAssignee();
}
return R.data(assignee);
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 5f73767..2f20bad 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
@@ -6,6 +6,7 @@
import org.flowable.engine.IdentityService;
import org.flowable.engine.runtime.ProcessInstance;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.FlowProgramFileService;
@@ -74,11 +75,13 @@
}
String programPkgName = NcNodeService.genProgramName(startVO.getDrawingNo(),startVO.getProcessNo());
vars.put(FlowContants.PROGRAM_PACKAGE_NAME,programPkgName);
+
+ //TODO 鏌ヨ鍥哄寲绋嬪簭鏄紝搴旇鍘绘帀鏈夊亸绂诲崟鐨勶紵
NcNode curedProgramPackage = ncNodeService.getLastEditionCuredProgramPackage(programPkgName);
//璁剧疆鏄惁鏈夊浐鍖栫▼搴忔爣璁�
vars.put(FlowContants.HAS_CURED_PROGRAM,curedProgramPackage != null ? FlowContants.Y:FlowContants.N);
//宸ュ簭鐗堟鏄惁涓�鑷达紝鏄惁鍦ㄦ湁鏁堟湡鍐�
- if(curedProgramPackage != null){
+ if(curedProgramPackage != null && Func.isBlank(startVO.getDeviation())){//鍋忕鍗曚紭鍏堬紝濡傛灉鏈夊亸绂诲崟锛岄偅涔堟壘鍒板浐鍖栫▼搴忕殑涔熶笉绠楀浐鍖栦簡
vars.put(FlowContants.CURED_NODE_ID,curedProgramPackage.getId());
vars.put(FlowContants.IS_PROCESS_EDITION_SAME, StringUtils.equals(curedProgramPackage.getProcessEdition(),startVO.getProcessEdition()) ? "Y":"N");
vars.put(FlowContants.VALIDITY_PERIOD, curedProgramPackage.withinValidityPeriod() ? FlowContants.Y:FlowContants.N);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
index 3d508da..bf874c4 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
@@ -50,13 +50,19 @@
//绋嬪簭鍖呰妭鐐瑰拰涓嬪睘绋嬪簭鑺傜偣(鍖呮嫭鍘嗗彶鑺傜偣闈炴渶鏂扮増鏈殑)浠庤瘯鍒囨尓鍒板浐鍖栦笅闈�
//绋嬪簭鍖呰妭鐐� 璁剧疆鏈凡鍥哄寲
NcNode pkgNode = nodeService.lambdaQuery().eq(NcNode::getProcessInstanceId, processInstanceId).one();
- pkgNode.setIsCured(1);
- //璁剧疆杩囨湡鏃ユ湡
- pkgNode.setExpireDate(calculateExpireDate());
- nodeService.updateById(pkgNode);
+ if(pkgNode.isDeviation()){
+ //鍋忕鐨勭▼搴忕洿鎺ラ攣瀹�
+ pkgNode.setIsLocked(1);
+ nodeService.updateById(pkgNode);
+ }else {
+ pkgNode.setIsCured(1);
+ //璁剧疆杩囨湡鏃ユ湡
+ pkgNode.setExpireDate(calculateExpireDate());
+ nodeService.updateById(pkgNode);
- List<NcNode> historyNodes = nodeService.getNodeHistory(pkgNode);
- moveNodeToCuredTree(pkgNode,historyNodes,flowCommonService.getProgramProperties(processInstanceId));
+ List<NcNode> historyNodes = nodeService.getNodeHistory(pkgNode);
+ moveNodeToCuredTree(pkgNode, historyNodes, flowCommonService.getProgramProperties(processInstanceId));
+ }
}
/**
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
index 06af7c3..7178d5e 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
@@ -1,5 +1,6 @@
package org.springblade.mdm.program.entity;
+import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
@@ -164,6 +165,13 @@
transient FlowProgramFile flowProgramFile;
/**
+ * 鏄惁鏄亸绂荤▼搴�
+ * @return 鏄惁鍋忕
+ */
+ public boolean isDeviation(){
+ return StringUtils.isNotBlank(this.deviation);
+ }
+ /**
* 鏍规嵁褰撳墠鐗堟湰鍙凤紝鑾峰彇鏂板鐗堟湰鍙�
* @return 鍗囩骇鍚庣殑鐗堟湰鍙�
*/
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 775e09c..4d443dc 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
@@ -2,6 +2,7 @@
package org.springblade.mdm.program.service;
import com.alibaba.fastjson.JSONObject;
+import io.netty.util.internal.StringUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -63,6 +64,13 @@
*/
public List<DncSendBackData> dncSendBackUpload(MultipartFile file) {
List<DncSendBackData> list;
+ if(file == null || file.isEmpty()){
+ throw new ServiceException("鏂囦欢涓虹┖");
+ }
+
+ if(StringUtils.endsWith(file.getOriginalFilename(),".zip")){
+ throw new ServiceException("鏂囦欢蹇呴』涓簔ip鍖� ");
+ }
try {
BladeFile bfile = ossTemplate.putFile(file);//涓婁紶锛屼緵鍚庣画鍏ュ簱浣跨敤
//璁剧疆涓�涓紦瀛橈紝2灏忔椂杩囨湡
@@ -106,7 +114,7 @@
NcNode programPackageNode = ncNodeService.getLastEditionTryingProgramPackage(packageName);
NcNode curedProgramPkg = ncNodeService.getLastEditionCuredProgramPackage(packageName);
- if(programPackageNode!=null && curedProgramPkg != null) {//鏃犲浐鍖栫▼搴忥紝鎵嶆斁鍏ュ垪琛�
+ if(programPackageNode!=null && curedProgramPkg == null) {//鏃犲浐鍖栫▼搴忥紝鎵嶆斁鍏ュ垪琛�
//NcNode programPackageNode = pkgList.get(0);
progData.setId(programPackageNode.getId());
progData.setProgramName(packageName);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
index fa2d695..f681814 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -110,13 +110,15 @@
zipOut.putNextEntry(zipEntry);
zipOut.closeEntry();
- List<NcNode> programNodes = ncNodeService.lambdaQuery().eq(NcNode::getParentId, approved.getNcNodeId()).list();
+ List<NcNode> programNodes = ncNodeService.lambdaQuery().eq(NcNode::getIsLastEdition,1).eq(NcNode::getParentId, approved.getNcNodeId()).list();
FlowProgramFile programFile;
NcNode programPackageNode = this.ncNodeService.getById(approved.getNcNodeId());
- String status = "鏈浐鍖�";
- if(programPackageNode.hasCured()){
- status = "宸插浐鍖�";
+ String status = "璇曞垏";
+ if(programPackageNode.isDeviation()){
+ status = "鍋忕";
+ }else if(programPackageNode.hasCured()){
+ status = "鍥哄寲";
}
List<Dict> annotationList = getAnnotionList();
for (NcNode node : programNodes) {
--
Gitblit v1.9.3