From 23c64b1fc39e1cbaca216d718480f82658362cff Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 24 八月 2025 23:55:28 +0800
Subject: [PATCH] 已办任务查询问题修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java | 113 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 60 insertions(+), 53 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 122d9e8..62d36d6 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
@@ -96,34 +96,12 @@
return this.getBaseMapper().getLastProgramNode(name);
}
-
- /**
- * 杞﹁鑺傜偣
- * @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())) {
@@ -133,8 +111,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);
@@ -154,7 +130,43 @@
}
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.contains(pvo)){
+ rootVos.add(pvo);
+ }
+ if(!allVos.contains(pvo)){
+ allVos.add(pvo);
+ }
+
+ }
+ }
+ for(NcNodeVO root : rootVos){
+ addNodeChildren(root, allVos);
+ }
+ return rootVos;
+ }
+
void addNodeChildren(NcNodeVO node, List<NcNodeVO> allNodes) {
for(NcNodeVO vo : allNodes){
if(Objects.equals(vo.getParentId(), node.getId())){
@@ -167,31 +179,6 @@
addNodeChildren(child, allNodes);
}
}
- }
-
- NcNodeVO toNodeVO(NcNode node){
- NcNodeVO vo = new NcNodeVO();
-
- BeanUtils.copyProperties(node, vo);
-
- return vo;
- }
-
- /**
- * 鑾峰彇绋嬪簭鍖呭悕鐨勬暟鎹�
- * @param programName 绋嬪簭鍚嶇О锛堢▼搴忓寘鍚嶏級
- * @return 绋嬪簭鎶ュ寘鍚嶇殑鑺傜偣
- */
- public NcNode getProgramPackageByName(String programName) {
- List<NcNode> pkgs = this.lambdaQuery().eq(NcNode::getName, programName)
- .eq(NcNode::getIsLastEdition,1)
- .eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE).list();
- if(pkgs.isEmpty()){
- return null;
- }else{
- return pkgs.get(0);
- }
-
}
/**
@@ -286,12 +273,14 @@
* @param machineCode 鏈哄簥缂栧彿
* @return
*/
- public NcNode getCuredProgramPackage(String programPkgName,String machineCode) {
+ public NcNode getCuredProgramPackage(String programPkgName,String processEdition,String machineCode) {
Machine machine = machineService.getByCode(machineCode);
List<Machine> sameGroupMachines = machineService.lambdaQuery().eq(Machine::getMachineGroupCode,machine.getMachineGroupCode()).list();
List<String> machineCodesInGroup = sameGroupMachines.stream().map(Machine::getCode).toList();
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::getName, programPkgName)
+ .eq(NcNode::getProcessEdition,processEdition)
+ .likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1)
.in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup)
.eq(NcNode::getIsLastEdition,1).list();
@@ -377,4 +366,22 @@
node.unlock();
this.updateById(node);
}
+
+ /**
+ * 鏌ヨ鍋忕鍗曠殑搴忓彿
+ * @param programPkgNode 鍋忕鍗曠殑绋嬪簭鍖呭悕鑺傜偣
+ * @return 搴忓彿
+ */
+ public long getDeviationSerialForNode(NcNode programPkgNode) {
+ return lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
+ .eq(NcNode::getName,programPkgNode.getName())
+
+ .eq(NcNode::getDrawingNo,programPkgNode.getDrawingNo())
+ .eq(NcNode::getProcessNo,programPkgNode.getProcessNo())
+ .eq(NcNode::getProcessEdition,programPkgNode.getProcessEdition())
+
+ .isNotNull(NcNode::getDeviation)
+ .le(NcNode::getCreateTime,programPkgNode.getCreateTime()) //鏃堕棿灏忎簬绛変簬褰撳墠鑺傜偣
+ .count();
+ }
}
--
Gitblit v1.9.3