From d4ca3871c18474768c924fcbfd6e8d3178040092 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 15 九月 2025 01:19:56 +0800
Subject: [PATCH] 性能优化
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java | 46 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 42 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..173ad44 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,15 @@
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.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 +18,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 +30,43 @@
@Service
@AllArgsConstructor
public class NcNodeHisService extends BizServiceImpl<NcNodeHisMapper, NcNodeHis> {
+ public final NcNodeService ncNodeService;
+ /**
+ * 灏嗘寚瀹氭椂闂存椂鍊欑殑鑺傜偣鍚堝苟鍒板巻鍙茶妭鐐规暟鎹腑锛屽叾浠栨暟鎹粠node琛ㄤ腑鍒犻櫎锛堝彧鍖呭惈涓嶇▼搴忓寘鍚嶅拰绋嬪簭鑺傜偣锛�
+ * @param time
+ */
+ public void mergeNodeToHisGeTime(Date time) {
+ List<NcNode> nodes = ncNodeService.lambdaQuery().ge(NcNode::getUpdateTime,time)
+ .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();
+ }
}
--
Gitblit v1.9.3