From fcee672452c02cc29e0e17ebc27a8c51698c6d0d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 20 九月 2025 17:28:44 +0800
Subject: [PATCH] 优化程序注释
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java | 148 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 134 insertions(+), 14 deletions(-)
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 74a0d41..c252cb1 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
@@ -3,18 +3,27 @@
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.Parameters;
-import io.swagger.v3.oas.annotations.enums.ParameterIn;
-import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+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.NcNodeHisService;
import org.springblade.mdm.program.service.NcNodeService;
-import org.springblade.mdm.program.vo.NcNodeVO;
+import org.springblade.mdm.program.service.ProgramFlowStatusQueryService;
+import org.springblade.mdm.program.vo.*;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
+import java.rmi.ServerError;
+import java.util.Comparator;
import java.util.List;
/**
@@ -29,9 +38,11 @@
@Tag(name = "绋嬪簭鑺傜偣", description = "绋嬪簭鑺傜偣")
@Slf4j
public class NcNodeController {
-
private final NcNodeService ncNodeService;
-
+ private final NcNodeHisService nodeHisService;
+ private final ProgramFlowStatusQueryService programFlowStatusQueryService;
+ private final FlowProgramFileService flowProgramFileService;
+ private final TaskDispatchService taskDispatchService;
/**
* 鏂板
*/
@@ -39,7 +50,7 @@
@Operation(summary = "鏂板鑺傜偣", description = "鑺傜偣淇℃伅,id淇濇寔绌�")
public R<Boolean> save(@RequestBody NcNodeVO vo) {
ncNodeService.saveNcCode(vo);
- return R.<Boolean>status(true);
+ return R.status(true);
}
@@ -47,25 +58,134 @@
@Operation(summary = "淇敼鑺傜偣", description = "鑺傜偣淇℃伅,蹇呴』浼犲叆ID")
public R<Boolean> update(@RequestBody NcNodeVO vo) {
ncNodeService.updateNcNode(vo);
- return R.<Boolean>status(true);
+ return R.status(true);
}
@PostMapping("/remove")
@Operation(summary = "鍒犻櫎鑺傜偣")
public R<Boolean> remove(Long id) {
ncNodeService.removeById(id);
- return R.<Boolean>status(true);
+ return R.status(true);
+ }
+
+ @PostMapping("/lock")
+ @Operation(summary = "閿佸畾鑺傜偣(绋嬪簭鍖呭悕)")
+ public R<Boolean> lock(@Parameter(description="绋嬪簭鍖呭悕鑺傜偣id)")Long id,@Parameter(description="閿佸畾鍘熷洜)")String remark) {
+ ncNodeService.lock(id,remark);
+ return R.status(true);
+ }
+
+ @GetMapping("/query-lock-remark")
+ @Operation(summary = "鏌ヨ閿佸畾鍘熷洜")
+ public R<String> queryLockRemark(@Parameter(description="绋嬪簭鍖呭悕鑺傜偣id)")Long id) {
+
+ NcNode node = ncNodeService.getById(id);
+ if(node.hasLocked()){
+ return R.data(node.getRemark());
+ }else{
+ return R.data(StringUtils.EMPTY);
+ }
}
@GetMapping("/lazy-list")
- @Parameters({
- @Parameter(name = "deptName", description = "閮ㄩ棬鍚嶇О", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
- @Parameter(name = "fullName", description = "閮ㄩ棬鍏ㄧО", in = ParameterIn.QUERY, schema = @Schema(type = "string"))
- })
-
@Operation(summary = "鎳掑姞杞藉垪琛�", description = "绋嬪簭鐩綍鏍戝舰缁撴瀯")
public R<List<NcNodeVO>> lazyList(Long parentId) {
List<NcNodeVO> list = ncNodeService.lazyList(parentId);
+ if(list != null && !list.isEmpty()) {
+ for(NcNodeVO ncNodeVO : list) {
+ if(NcNode.TYPE_PROGRAM_PACKAGE.equals(ncNodeVO.getNodeType())){
+ ncNodeVO.setFlowStatus(programFlowStatusQueryService.queryFlowStatus(ncNodeVO.getProcessInstanceId()));
+ }
+ }
+ //鏂囦欢锛屾寜鐓у厛绋嬪簭锛屽悗鍏朵粬鎺掑簭
+ if(list.get(0).getNodeType().equals(NcNode.TYPE_PROGRAM_FILE)){
+ NcNode parentNode = ncNodeService.getById(parentId);
+ //list.sort(Comparator.comparing().thenComparing(NcNodeVO::getName));
+ Comparator<NcNodeVO> cp = new Comparator<NcNodeVO>() {
+ @Override
+ public int compare(NcNodeVO n1, NcNodeVO n2) {
+ if (n1.getName().startsWith(parentNode.getName()) && !n2.getName().startsWith(parentNode.getName())) {
+ return -1;
+ } else {
+ return 1;
+ }
+ }
+ };
+ list.sort(cp.thenComparing(NcNodeVO::getName));
+ /*
+ list.sort((n1, n2) -> {
+
+ if(n1.getName().startsWith(parentNode.getName())){
+ return 1;
+ }else{
+ return n1.getName().compareTo(n2.getName());
+ }
+
+ });*/
+ /*
+ Collections.sort(userList, new Comparator<User>() {
+ @Override
+ public int compare(User u1, User u2) {
+ return u1.getName().compareTo(u2.getName());
+ }
+ });*/
+ }
+ }
return R.data(list);
}
+
+ @GetMapping("/search-list")
+ @Operation(summary = "鏌ヨ鏍戠姸鍒楄〃", description = "绋嬪簭鐩綍鏍戝舰缁撴瀯锛堟煡璇笓鐢級")
+ public R<List<NcNodeVO>> searchList(NcNodeOldQueryVO queryVO) {
+ if(Func.isEmpty(queryVO.getName())){
+ return R.fail("璇疯緭鍏ュ悕绉�");
+ }
+ List<NcNodeVO> list = ncNodeService.searchList(queryVO);
+
+ return R.data(list);
+ }
+ @GetMapping("/search-list2")
+ @Operation(summary = "娑夊瘑缃戦椤垫悳绱�", description = "鎼滅储鎸囧畾闆剁粍浠跺彿")
+ public R<List<NcNodeVO>> search(NcNodeQueryVO queryVO) {
+ if(Func.isEmpty(queryVO.getDrawingNo())){
+ return R.fail("璇疯緭鍏ラ浂缁勪欢鍙�");
+ }
+ List<NcNodeVO> list = ncNodeService.searchList2(queryVO);
+
+ return R.data(list);
+ }
+
+ @GetMapping("/drawing-no-pick")
+ @Operation(summary = "棣栭〉鎼滅储闆剁粍浠朵笅鎷夋暟鎹�", description = "鎼滅储鎸囧畾闆剁粍浠跺彿")
+ public R<List<String>> drawingNoPick(String drawingNo) {
+ return R.data(taskDispatchService.drawingNoSeletDropList(drawingNo));
+ }
+/*
+
+ @GetMapping("/history-by-nodeid")
+ @Operation(summary = "鏍规嵁缁戝畾鑺傜偣id鑾峰彇鍘嗗彶鍒楄〃", description = "绋嬪簭鍘嗗彶鍒楄〃锛屼粎鈥樼▼搴忓寘鈥欏瓧鍏稿��60鐨勬暟鎹�傜敤浜庢樉绀虹▼搴忕殑鈥樺巻鍙茬増鏈��")
+ public R<List<NcNodeVO>> historyByBindNodeId(@Parameter(description="鑺傜偣ID(nodeType=60鐨勮妭鐐筰d)")@RequestParam Long id) {
+ return R.data(this.nodeHisService.historyByNodeId(id));
+ }
+*/
+
+ @GetMapping("/compare-content")
+ @Operation(summary = "瀵规瘮鍐呭鏁版嵁", description = "鏌ヨ瀵规瘮鍐呭鐨�2涓枃鏈暟鎹�")
+ public R<CompareDataVO> compareContent(@Parameter(description="鑺傜偣1鐨処D(nodeType=70鐨勮妭鐐筰d)")Long id1,@Parameter(description="鑺傜偣2鐨処D(nodeType=70鐨勮妭鐐筰d)")Long id2) {
+ CompareDataVO vo = new CompareDataVO();
+ NcNode node1 = ncNodeService.getById(id1);
+ NcNode node2 = ncNodeService.getById(id2);
+ if(node1.getFlowProgramFileId() != null) {
+ vo.setContent1(flowProgramFileService.getFileContent(node1.getFlowProgramFileId()));
+ }
+ if(node2.getFlowProgramFileId() != null) {
+ vo.setContent2(flowProgramFileService.getFileContent(node2.getFlowProgramFileId()));
+ }
+
+ return R.data(vo);
+ }
+
+
+
+
}
--
Gitblit v1.9.3