From 43b6b4b905fb272e2d7d9c0738610c4204c958ce Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 01:07:24 +0800
Subject: [PATCH] 增加首页搜索接口参数调整
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java | 73 ++++++++++++++++++++++++++++++++----
1 files changed, 65 insertions(+), 8 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
index 21fc1f7..d275a46 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -18,6 +18,7 @@
import java.util.List;
import java.util.Objects;
import java.util.Optional;
+import java.util.stream.Collectors;
/**
* 绋嬪簭鑺傜偣
@@ -97,11 +98,32 @@
/**
+ * 杞﹁鑺傜偣
+ * @param queryVO
+ * @return
+ */
+ /*
+ public List<Long> searchDrawing(NcNodeQueryVO queryVO) {
+ List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_DRAWING_NO)
+ .eq(NcNode::getIsLastEdition,1)
+ .eq(NcNode::getName,queryVO.getDrawingNo())
+ .ge(queryVO.getCreateTimeBegin()!=null,NcNode::getCreateTime,queryVO.getCreateTimeBegin())
+ .le(queryVO.getCreateTimeEnd()!=null,NcNode::getCreateTime,queryVO.getCreateTimeEnd())
+ .and(i->{
+
+ i.or().likeRight(queryVO.getProgramStatus().contains("1"),NcNode::getParentIds,"0,1,");
+ i.or().likeRight(queryVO.getProgramStatus().contains("2"),NcNode::getParentIds,"0,2,");
+ i.or().likeRight(queryVO.getProgramStatus().contains("3"),NcNode::getParentIds,"0,3,");
+ }).list();
+
+ return nodes.stream().map(NcNode::getId).toList();
+ }*/
+ /**
* 棣栭〉鏍戞煡璇�
* @param queryVO
* @return
*/
- public List<NcNodeVO> searchList(NcNodeQueryVO queryVO) {
+ public List<NcNodeVO> searchList(NcNodeOldQueryVO queryVO) {
//1.鏍规嵁鍏宠繘瀛楀拰鑺傜偣绫诲瀷鏌ヨ鍒濆鍒楄〃,鏌ヨ鐨勫師濮嬪垪琛紝闇�瑕乭asChild瀛楁锛屾墍浠ヤ娇鐢╩apper.xml
List<NcNodeVO> oriList = this.getBaseMapper().searchList(queryVO);
if ("10".equals(queryVO.getNodeType())) {
@@ -111,8 +133,6 @@
List<NcNodeVO> allVos = new ArrayList<NcNodeVO>();//宸茬粡鍔犲叆杩囩殑鑺傜偣锛岀敤浜庡幓閲�
List<NcNodeVO> rootVos = new ArrayList<NcNodeVO>();
-
- //List<NcNode> rootNodes = new ArrayList<>();
for(NcNodeVO vo : oriList){
allVos.add(vo);
@@ -129,6 +149,40 @@
for(NcNodeVO root : rootVos){
addNodeChildren(root, allVos);
+ }
+ return rootVos;
+ }
+
+ /**
+ * 棣栭〉鎼滅储 鏂扮殑
+ * @param queryVO 鏌ヨ鍙傛暟
+ * @return
+ */
+ public List<NcNodeVO> searchList2(NcNodeQueryVO queryVO) {
+ //1.鏍规嵁闆剁粍浠跺彿鍜屽垱寤烘椂闂存煡璇㈠垵濮嬪垪琛�,鏌ヨ鐨勫師濮嬪垪琛紝闇�瑕乭asChild瀛楁锛屾墍浠ヤ娇鐢╩apper.xml
+ if(queryVO.getCreateTimeEnd()!=null){
+ queryVO.setCreateTimeEnd(queryVO.getCreateTimeEnd().plusDays(1));
+ }
+ List<NcNodeVO> oriList = this.getBaseMapper().searchList2(queryVO);
+
+
+ List<NcNodeVO> allVos = new ArrayList<>();//宸茬粡鍔犲叆杩囩殑鑺傜偣锛岀敤浜庡幓閲�
+ List<NcNodeVO> rootVos = new ArrayList<>();
+
+ for(NcNodeVO vo : oriList){
+ allVos.add(vo);
+ //涓婄骇鍚勭骇鐨勮妭鐐�
+ List<NcNodeVO> parents = this.getBaseMapper().searchListInIds(Func.toLongList(vo.getParentIds()));
+
+ for(NcNodeVO pvo : parents){
+ if(pvo.getParentId() == 0L){
+ rootVos.add(pvo);
+ }
+ allVos.add(pvo);
+ }
+ }
+ for(NcNodeVO root : rootVos){
+ addNodeChildren(root, allVos);
}
return rootVos;
}
@@ -189,13 +243,13 @@
* @param name 鑺傜偣鍚嶇О
* @return 鏈�鏂扮増鏈▼搴忔姤鍚嶈妭鐐�
*/
- public NcNode getLastEditionTryingProgramPackage(String name){
+ public NcNode getLastEditionTryingProgramPackage(String name,String processEdition){
//.or(NcNode::getIsCured,0)
List<NcNode> pkgList = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
.eq(NcNode::getName, name).and(i->{
i.eq(NcNode::getIsCured, 0).or().isNull(NcNode::getIsCured);
}).likeRight(NcNode::getParentIds,"0,1,")
- .eq(NcNode::getIsLastEdition,1).orderByDesc(NcNode::getCreateTime).list();
+ .eq(NcNode::getIsLastEdition,1).eq(NcNode::getProcessEdition,processEdition).orderByDesc(NcNode::getCreateTime).list();
if(pkgList.isEmpty()){
return null;
@@ -245,9 +299,10 @@
* @param programPkgName
* @return
*/
- public NcNode getLastEditionCuredProgramPackage(String programPkgName) {
+ public NcNode getLastEditionCuredProgramPackage(String programPkgName,String processEdition) {
List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
.eq(NcNode::getName, programPkgName).likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1)
+ .eq(NcNode::getProcessEdition, processEdition)
.eq(NcNode::getIsLastEdition,1).list();
if(nodes.isEmpty()){
@@ -284,9 +339,11 @@
* @param programPkgName 绋嬪簭鍖呭悕
* @return 鍋忕鐨勭▼搴忚妭鐐�
*/
- public NcNode getLastEditionDeviationProgramPackage(String programPkgName) {
+ public NcNode getLastEditionDeviationProgramPackage(String programPkgName,String processEdition) {
List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
- .eq(NcNode::getName, programPkgName).likeRight(NcNode::getParentIds,"0,3,")
+ .eq(NcNode::getName, programPkgName)
+ .eq(NcNode::getProcessEdition, processEdition)
+ .likeRight(NcNode::getParentIds,"0,3,")
.eq(NcNode::getIsLastEdition,1).list();
if(nodes.isEmpty()){
--
Gitblit v1.9.3