From 3907579a69079b5ee462d17799e3995d9cd77fd4 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 17 九月 2025 21:54:38 +0800
Subject: [PATCH] 延时问题

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java |   70 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java
index d74e842..0556077 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java
@@ -1,12 +1,16 @@
 
 package org.springblade.mdm.program.service;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.entity.NcNodeHis;
 import org.springblade.mdm.program.mapper.NcNodeHisMapper;
 import org.springblade.mdm.program.vo.NcNodeQueryVO;
@@ -15,10 +19,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.time.LocalDateTime;
+import java.util.*;
 
 /**
  * 绋嬪簭鑺傜偣
@@ -29,6 +31,66 @@
 @Service
 @AllArgsConstructor
 public class NcNodeHisService extends BizServiceImpl<NcNodeHisMapper, NcNodeHis> {
+	public final NcNodeService ncNodeService;
+	/**
+	 * 灏嗘寚瀹氭椂闂存椂鍊欑殑鑺傜偣鍚堝苟鍒板巻鍙茶妭鐐规暟鎹腑锛屽叾浠栨暟鎹粠node琛ㄤ腑鍒犻櫎锛堝彧鍖呭惈涓嶇▼搴忓寘鍚嶅拰绋嬪簭鑺傜偣锛�
+	 * @param time
+	 */
+	public void mergeNodeToHisGeTime(Date time) {
+		Date okTime = DateUtil.minusSeconds(time,10);
+		List<NcNode> nodes = ncNodeService.lambdaQuery().ge(NcNode::getUpdateTime,okTime)
+			.in(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE,NcNode.TYPE_PROGRAM_FILE).list();
 
+		for(NcNode node : nodes){
+			NcNodeHis nodeHis = new NcNodeHis();
+			BeanUtils.copyProperties(node,nodeHis);
 
+			if(baseMapper.countById(nodeHis.getId())>0){
+				this.updateById(nodeHis);
+			}else{
+				this.save(nodeHis);
+			}
+		}
+		ncNodeService.deleteOldEditionNodeData();
+	}
+
+	/**
+	 * 鏌ヨ鍋忕鍗曠殑搴忓彿
+	 * @param programPkgNode 鍋忕鍗曠殑绋嬪簭鍖呭悕鑺傜偣
+	 * @return 搴忓彿
+	 */
+	public long getDeviationSerialForNode(NcNodeHis programPkgNode) {
+		return lambdaQuery().eq(NcNodeHis::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
+			.eq(NcNodeHis::getName,programPkgNode.getName())
+
+			.eq(NcNodeHis::getDrawingNo,programPkgNode.getDrawingNo())
+			.eq(NcNodeHis::getProcessNo,programPkgNode.getProcessNo())
+			.eq(NcNodeHis::getProcessEdition,programPkgNode.getProcessEdition())
+
+			.isNotNull(NcNodeHis::getDeviation)
+			.le(NcNodeHis::getCreateTime,programPkgNode.getCreateTime())  //鏃堕棿灏忎簬绛変簬褰撳墠鑺傜偣
+			.count();
+	}
+
+	/**
+	 * 鏌ヨ鑺傜偣鐨勫巻鍙插垪琛紙鑺傜偣鐨勪笂绾ц妭鐐光�濈▼搴忓寘鍚嶁�滃洜涓哄瓨鍦ㄥ涓増鏈紝鎵�浠ュ巻鍙茶褰曚篃闇�瑕佹牴鎹笉鍚岀増鏈▼搴忓寘鍚嶈繘琛屾煡璇級
+	 * @param id
+	 * @return
+	 */
+	@Transactional(readOnly = true)
+	public List<NcNodeVO> historyByNodeId(Long id) {
+		NcNodeHis node = this.getById(id);
+		/*
+		List<NcNodeHis> nodes = lambdaQuery().eq(NcNodeHis::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
+			.eq(NcNodeHis::getHisSerial, node.getHisSerial()).orderByDesc(NcNodeHis::getCreateTime).list();
+		List<NcNodeVO> voList = new ArrayList<>();
+		nodes.forEach(ncNode -> {
+			NcNodeVO vo = new NcNodeVO();
+			BeanUtils.copyProperties(ncNode, vo);
+			vo.setCreateUserName();
+			voList.add(vo);
+		});*/
+		return this.baseMapper.packageHistoryBySerial(node.getHisSerial());
+		//return voList;
+	}
 }

--
Gitblit v1.9.3