From 9810791a41d381a10451f3e9770cfcfedf98e886 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 00:39:34 +0800
Subject: [PATCH] 增加首页搜索接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 insertions(+), 4 deletions(-)

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 9efc7a7..79562d7 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,9 +1,14 @@
 package org.springblade.mdm.program.entity;
 
+import com.alibaba.excel.util.StringUtils;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Getter;
 import lombok.Setter;
 import org.springblade.core.mp.base.BizEntity;
+import org.springblade.mdm.flow.entity.FlowProgramFile;
+
+import java.util.Date;
+
 
 @Setter
 @Getter
@@ -49,6 +54,28 @@
 	 */
 	public static final String TYPE_PROGRAM_FILE = "70";
 
+	/**
+	 * 鏈攣瀹�
+	 */
+	public static final int UNLOCK = 0;
+	/**
+	 * 宸查攣瀹�
+	 */
+	public static final int LOCKED = 1;
+
+	/**
+	 * 鏂囦欢鑺傜偣鏂囦欢绫诲瀷锛氱▼搴�
+	 */
+	public static final String FILE_CATEGOAY_PROGRAM = "program";
+	/**
+	 * 鏂囦欢鑺傜偣鏂囦欢绫诲瀷锛氬叾浠�
+	 */
+	public static final String FILE_CATEGORY_OTHER = "other";
+	/**
+	 * 鏂囦欢鑺傜偣鏂囦欢绫诲瀷锛氬瓙绋嬪簭
+	 */
+	public static final String FILE_CATEGORY_SUBPROGRAM = "subprogram";
+
 	private String name;
 	private Long parentId;
 
@@ -61,8 +88,10 @@
 	 */
 	private String machineCode;
 
-
-
+	/**
+	 * 鏂囦欢绫诲瀷锛屽彧鏈�
+	 */
+	//private String fileCategory;
 	/**
 	 * 宸ュ簭锛屽鈥滅簿閾b��
 	 */
@@ -93,11 +122,11 @@
 	/**
 	 * 鏄惁鍥哄寲
 	 */
-	private Integer isCured;
+	private Integer isCured = 0;
 	/**
 	 * 杩囨湡鏃ユ湡
 	 */
-	//private LocalDate expireDate;
+	private Date expireDate;
 	/**
 	 * 鏄惁閿佸畾
 	 */
@@ -120,6 +149,11 @@
 	private String productModel;
 
 	/**
+	 * 绋嬪簭缂栧彿锛堢▼搴忓寘鍚嶈妭鐐归渶瑕侊級
+	 */
+	private String programNo;
+
+	/**
 	 * 娴佺▼绋嬪簭鏂囦欢id锛屽彧鏈夌▼搴忔枃浠讹紙70锛夌被鍨嬬殑鑺傜偣鏈夋鍊�
 	 */
 	private Long flowProgramFileId;
@@ -128,4 +162,67 @@
 	 * 瀹℃壒鏃剁殑娴佺▼瀹炰緥id锛屽彧鏈夌▼搴忓寘鑺傜偣鏈夎繖涓瓧娈靛��
 	 */
 	private String processInstanceId;
+	/**
+	 * 鍋忕鍗曞彿
+	 */
+	private String deviation;
+	/**
+	 * 鐗堟湰鍙凤紝鏇存柊涓�娆★紙鍏ュ崌鐗堬紝dnc瀵煎叆锛夛紝灏变細+1
+	 */
+	private Integer versionNumber = 1;
+
+	transient FlowProgramFile flowProgramFile;
+
+	/**
+	 * 鏄惁鏄亸绂荤▼搴�
+	 * @return 鏄惁鍋忕
+	 */
+	public boolean isDeviationProgram(){
+		return StringUtils.isNotBlank(this.deviation);
+	}
+	/**
+	 * 鏍规嵁褰撳墠鐗堟湰鍙凤紝鑾峰彇鏂板鐗堟湰鍙�
+	 * @return 鍗囩骇鍚庣殑鐗堟湰鍙�
+	 */
+	public int genNewVersionNumber(){
+		if(this.versionNumber == null){
+			return 1;
+		}else{
+			return this.versionNumber + 1;
+		}
+	}
+
+	/**
+	 * 鏄惁鍦ㄦ湁鏁堟湡鍐�
+	 * @return 鏄惁
+	 */
+	public boolean withinValidityPeriod() {
+		if(expireDate == null){
+			return true;
+		}
+		return expireDate.getTime() > System.currentTimeMillis();
+	}
+
+	/**
+	 * 鏄惁宸茬粡鍥哄寲
+	 * @return 鏄惁
+	 */
+	public boolean hasCured() {
+		return this.isCured != null && this.isCured == 1;
+	}
+
+	public void upgradeVersionNumber() {
+		this.versionNumber = genNewVersionNumber();
+	}
+
+	/**
+	 * 閿佸畾鑺傜偣
+	 */
+	public void lock() {
+		this.isLocked = LOCKED;
+	}
+
+	public void unlock() {
+		this.isLocked = UNLOCK;
+	}
 }

--
Gitblit v1.9.3