From 8b829bfb8646454fa435c319eacda055d53ed2ba Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 02 九月 2025 22:45:24 +0800
Subject: [PATCH] 首页零组件号加入防抖处理

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.java      |   17 +++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java                      |    7 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/DrawingNos.java            |   37 ++++++++++++
 blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java     |    5 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.xml       |   16 +++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java       |    4 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml        |    3 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java  |    5 +
 blade-service/blade-mdm/pom.xml                                                                     |    5 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java     |   40 +++++++++++++
 11 files changed, 136 insertions(+), 7 deletions(-)

diff --git a/blade-service/blade-mdm/pom.xml b/blade-service/blade-mdm/pom.xml
index 8756645..ddf3ebc 100644
--- a/blade-service/blade-mdm/pom.xml
+++ b/blade-service/blade-mdm/pom.xml
@@ -111,6 +111,11 @@
             <artifactId>groovy-jsr223</artifactId>
             <version>4.0.28</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-freemarker</artifactId>
+        </dependency>
     </dependencies>
     <build>
         <plugins>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java
index 2fbd7d6..cdc92c2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java
@@ -7,6 +7,7 @@
 import org.springblade.mdm.basesetting.machine.service.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.commons.service.ParamService;
+import org.springblade.mdm.flow.service.TaskDispatchService;
 import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.machinefile.filewatch.*;
 import org.springblade.mdm.machinefile.service.MachineFileScanService;
@@ -32,7 +33,7 @@
 	private final ProgramAnnotationService annotationService;
 	private final MachineFileScanService machineFileScanService;
 	private final ISysClient sysClient;
-
+	private final TaskDispatchService taskDispatchService;
 	@PostConstruct
 	public void init() {
 		log.info("搴旂敤鍚姩鏃舵墽琛屽垵濮嬪寲鎿嶄綔 @PostConstruct");
@@ -42,6 +43,10 @@
 			//宸ユ帶缃戞墠鍚姩鏂囦欢鐩戞帶
 			log.info("宸ユ帶缃戝惎鍔ㄦ枃浠剁洃鎺�");
 			initMachineDirMonitor();
+		}else{
+
+			//娑夊瘑缃�
+			taskDispatchService.resetDrawingNos();
 		}
 	}
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java
index 42e4d5f..9782ab8 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java
@@ -4,7 +4,9 @@
 import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.flow.entity.TaskDispatch;
 
+import java.util.List;
+
 public interface TaskDispatchMapper extends BladeMapper<TaskDispatch> {
 
-
+	List<String> distinctAllDrawingNo();
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml
index 7b48cd2..82a6f18 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml
@@ -8,6 +8,9 @@
         <result column="update_time" property="updateTime"/>
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
+    <select id="distinctAllDrawingNo" resultType="java.lang.String">
+        select distinct drawing_no from mdm_task_dispatch
+    </select>
 
 
 </mapper>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
index accafb2..7336c4b 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
@@ -22,6 +22,8 @@
 import java.util.*;
 
 import com.itextpdf.text.*;
+import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
+
 /**
  * 瀹℃壒璁板綍锛岀敤浜庢煡璇㈡墽琛岃建杩�
  *
@@ -46,6 +48,9 @@
 	@Autowired
 	private ApproveInfoQueryService approveInfoQueryService;
 
+	@Autowired
+	private FreeMarkerConfigurer freeMarkerConfigurer;
+
 	//private static final String UNCHECK_BOX = "鈽�";
 	//private static final String CHECKED_BOX = "鈽�";
 	//static Chunk square = new Chunk("o", new Font(Font.FontFamily.ZAPFDINGBATS, 12)); // 绌烘柟妗�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
index 31dc18d..481ea03 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
@@ -1,6 +1,7 @@
 
 package org.springblade.mdm.flow.service;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -10,12 +11,15 @@
 import org.springblade.mdm.flow.entity.TaskDispatch;
 import org.springblade.mdm.flow.mapper.TaskDispatchMapper;
 import org.springblade.mdm.flow.vo.TaskAssignVO;
+import org.springblade.mdm.program.entity.DrawingNos;
+import org.springblade.mdm.program.mapper.DrawingNosMapper;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 浠诲姟娲惧伐鏁版嵁 澶勭悊鏈嶅姟
@@ -28,7 +32,8 @@
 public class TaskDispatchService  extends BizServiceImpl<TaskDispatchMapper, TaskDispatch> {
 	@Autowired
 	private ParamService paramService;
-
+	@Autowired
+	private DrawingNosMapper drawingNosMapper;
 	@Transactional(rollbackFor = Exception.class)
 	public TaskDispatch saveTask(TaskAssignVO startVO,boolean isDup) {
 		TaskDispatch taskDispatch = new TaskDispatch();
@@ -38,7 +43,25 @@
 		}
 		this.save(taskDispatch);
 
+		addDrawingNos(taskDispatch.getDrawingNo());
 		return taskDispatch;
+	}
+
+	/**
+	 * 鍔爑浜轰笅鎷夋暟鎹�
+	 * @param drawingNo
+	 */
+	void addDrawingNos(String drawingNo){
+		DrawingNos data = drawingNosMapper.selectById(drawingNo);
+		if(data == null){
+			data = new DrawingNos();
+			data.setDrawingNo(drawingNo);
+			try {
+				drawingNosMapper.insert(data);
+			}catch (Exception e){
+				log.error("鍔犲叆闆剁粍浠跺彿涓嬫媺鏁版嵁閿欒");
+			}
+		}
 	}
 	/*
 	public void updateSuccess(long id, String instId) {
@@ -74,5 +97,20 @@
 
 		return cnt > 0;
 	}
+	@Transactional(readOnly = true)
+	public List<String> drawingNoSeletDropList(String drawingNo){
+		return drawingNosMapper.selectDropDownList(drawingNo);
+	}
 
+	@Transactional
+	public void resetDrawingNos() {
+		drawingNosMapper.delete(Wrappers.emptyWrapper());//
+		List<String> dnoList =  baseMapper.distinctAllDrawingNo();
+		for(String dno : dnoList){
+			DrawingNos drawingNos = new DrawingNos();
+			drawingNos.setDrawingNo(dno);
+			drawingNosMapper.insert(drawingNos);
+		}
+
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
index 89dd333..af018b9 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
@@ -13,6 +13,7 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.producedivision.service.QinzheFgbService;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
+import org.springblade.mdm.flow.service.TaskDispatchService;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.service.NcNodeService;
 import org.springblade.mdm.program.service.NcProgramService;
@@ -38,7 +39,7 @@
 	private final NcNodeService ncNodeService;
 	private final ProgramFlowStatusQueryService programFlowStatusQueryService;
 	private final FlowProgramFileService flowProgramFileService;
-	private final QinzheFgbService qinzheFgbService;
+	private final TaskDispatchService taskDispatchService;
 	/**
 	 * 鏂板
 	 */
@@ -121,7 +122,7 @@
 	@GetMapping("/drawing-no-pick")
 	@Operation(summary = "棣栭〉鎼滅储闆剁粍浠朵笅鎷夋暟鎹�", description = "鎼滅储鎸囧畾闆剁粍浠跺彿")
 	public R<List<String>> drawingNoPick(String drawingNo) {
-		return R.data(qinzheFgbService.seletDropList(drawingNo));
+		return R.data(taskDispatchService.drawingNoSeletDropList(drawingNo));
 	}
 
 	@GetMapping("/history-by-nodeid")
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/DrawingNos.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/DrawingNos.java
new file mode 100644
index 0000000..226b538
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/DrawingNos.java
@@ -0,0 +1,37 @@
+
+package org.springblade.mdm.program.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 瀹炰綋绫�
+ *
+ * @author yangys
+ */
+@Data
+@TableName("mdm_drawing_nos")
+@Schema(description = "闆剁粍浠朵笅鎷夋暟鎹�")
+public class DrawingNos implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 涓婚敭
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@Schema(description = "涓婚敭")
+	@TableId(value = "drawing_no", type = IdType.ASSIGN_ID)
+	private String drawingNo;
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.java
new file mode 100644
index 0000000..685b4ae
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.java
@@ -0,0 +1,17 @@
+package org.springblade.mdm.program.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.mp.mapper.BladeMapper;
+import org.springblade.mdm.program.entity.DrawingNos;
+import org.springblade.mdm.program.entity.NcNode;
+import org.springblade.mdm.program.vo.NcNodeOldQueryVO;
+import org.springblade.mdm.program.vo.NcNodeQueryVO;
+import org.springblade.mdm.program.vo.NcNodeVO;
+
+import java.util.List;
+
+public interface DrawingNosMapper extends BaseMapper<DrawingNos> {
+
+	List<String> selectDropDownList(String drawingNo);
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.xml
new file mode 100644
index 0000000..d3dfaff
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/DrawingNosMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.mdm.program.mapper.DrawingNosMapper">
+
+    <!--涓嬫媺鏁版嵁鏌ヨ-->
+    <select id="selectDropDownList" resultType="java.lang.String">
+        select drawing_no from mdm_drawing_nos
+
+       <where>
+           <bind name="drawingNo" value="drawingNo+'%'"/>
+           and drawing_no like #{drawingNo}
+       </where>
+        order by drawing_no
+        limit 50
+    </select>
+</mapper>
diff --git a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java
index 4f2de65..f748ed4 100644
--- a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java
+++ b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java
@@ -20,7 +20,7 @@
 	public void test(){
 		ApproveTableService s = new ApproveTableService();
 		try {
-			BaseFont bfChinese =  s.getBaseFont();
+
 
 			Document document = new Document(PageSize.B5.rotate());
 
@@ -62,7 +62,7 @@
 
 			startCal.add(Calendar.DAY_OF_MONTH, 2);
 			appInfo.setApproveDate(startCal.getTime());
-			s.printPage(document,bfChinese,props,machine,1,appInfo);
+
 
 			document.close();
 		} catch (Exception e) {

--
Gitblit v1.9.3