liuyc 1 vuosi sitten
vanhempi
commit
cedc19028c

+ 32 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/MeterTreeController.java

@@ -174,7 +174,7 @@ public class MeterTreeController extends BladeController {
         return R.data(null);
     }
 
-    /*系统获取第二层级节点名称*/
+    /*获取系统第二层级节点名称*/
     private String getSystemTheParentRecursivelyInReverse(MeterTreeSystem node) {
         if (node != null) {
             MeterTreeSystem parentNode = meterTreeSystemService.getOne(Wrappers.<MeterTreeSystem>lambdaQuery()
@@ -614,6 +614,37 @@ public class MeterTreeController extends BladeController {
         return R.fail("操作失败");
     }
 
+    @GetMapping("/contract/getEngineeringTypeName")
+    @ApiOperationSupport(order = 24)
+    @ApiOperation(value = "合同段节点新增获取工程类型名称", notes = "传入id")
+    public R<Object> getContractEngineeringTypeName(@RequestParam String id) {
+        MeterTreeContract node = meterTreeContractService.getById(id);
+        if (node != null) {
+            String resultNodeName = getContractTheParentRecursivelyInReverse(node);
+            return R.data(ObjectUtil.isNotEmpty(resultNodeName) ? resultNodeName : null);
+        }
+        return R.data(null);
+    }
+
+    /*获取合同段第二层级节点名称*/
+    private String getContractTheParentRecursivelyInReverse(MeterTreeContract node) {
+        if (node != null) {
+            MeterTreeContract parentNode = meterTreeContractService.getOne(Wrappers.<MeterTreeContract>lambdaQuery()
+                    .select(MeterTreeContract::getNodeName, MeterTreeContract::getParentId, MeterTreeContract::getAncestor)
+                    .eq(MeterTreeContract::getId, node.getParentId())
+                    .eq(MeterTreeContract::getStatus, 1)
+            );
+            if (parentNode != null) {
+                if (parentNode.getAncestor().split(",").length == 2) {
+                    return parentNode.getNodeName();
+                } else if (parentNode.getAncestor().split(",").length > 2) {
+                    return getContractTheParentRecursivelyInReverse(parentNode);
+                }
+            }
+        }
+        return null;
+    }
+
     @GetMapping("/contract/detail")
     @ApiOperationSupport(order = 25)
     @ApiOperation(value = "合同段树节点详情", notes = "传入id")