ludc
2023-07-28 6ddaebea3b9afa4a34500068a21203ea05ba5ad7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package com.vci.ubcs.code.controller;
 
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.service.ICodeClassifyService;
import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
import com.vci.ubcs.code.service.MdmEngineService;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.starter.web.pagemodel.KeyValue;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.List;
 
/**
 * 主题库定义表 控制器
 *
 * @author xiejun
 * @since 2023-07-24
 */
@RestController
@AllArgsConstructor
@RequestMapping("/codeApplySwingController")
@Api(value = "主题库定义表", tags = "主题库定义表接口")
public class CodeApplySwingController {
    /***
     * 分类服务对象
     */
    private final ICodeClassifyService codeClassifyService;
    /***
     * 数据操作服务对象
     */
    private final MdmEngineService mdmEngineService;
    /***
     * 模板属性服务
     */
    private final ICodeClassifyTemplateAttrService  codeClstempattrService;
    /**
     * 获取库节点信息
     * @param libName 库节点名称
     * @return 主题库分类显示树
     */
    @GetMapping("/getRMLibByName")
    public R<List<CodeClassifyVO>> getRMLibByName(String libName)  {
        List<CodeClassifyVO> codeClassifyVOList=codeClassifyService.getRMLibByName(libName);
        return R.data(codeClassifyVOList) ;
    }
 
    /***
     * 根据分类描述备注和库节点查询分类信息
     * @param desc
     * @param codeLibName
     * @return
     */
    @GetMapping("/getRMTypeByDescAndLib")
    public R<List<CodeClassifyVO>> getRMTypeByDescAndLib(String desc,String codeLibName)  {
        List<CodeClassifyVO> codeClassifyVOList=codeClassifyService.getRMTypeByDescAndLib(desc,codeLibName);
        return R.data(codeClassifyVOList) ;
    }
 
    /**
     * 主题库分类树
     * @param parentId 树形查询对象
     * @return 主题库分类显示树
     */
    @GetMapping("/selectCodeClassifyVOByParentId")
    public R<List<CodeClassifyVO>> selectCodeClassifyVOByParentId(String parentId)  {
          List<CodeClassifyVO> codeClassifyVOList =codeClassifyService.selectCodeClassifyVOByParentId(parentId);
          return R.data(codeClassifyVOList);
    }
 
    /**
     * 使用分类的主键获取可以使用的模板对象
     * @param codeClassifyOid 分类的主键
     * @return 模板的显示对象
     */
    @GetMapping("/getUsedTemplateByClassifyOid")
    public R<CodeClassifyTemplateVO> getUsedTemplateByClassifyOid(String codeClassifyOid){
        CodeClassifyTemplateVO codeClassifyTemplateVO=mdmEngineService.getUsedTemplateByClassifyOid(codeClassifyOid);
        return R.data(codeClassifyTemplateVO);
    }
 
    /***
     * 根據分类oid获取规则信息
     * @param codeClassId
     * @return
     */
    @GetMapping("/getCodeRuleByClassifyFullInfo")
    public R<CodeRuleVO> getCodeRuleByClassifyFullInfo(String codeClassId){
        CodeRuleVO codeRuleVO=new CodeRuleVO();
        CodeClassifyFullInfoBO classifyFullInfo = codeClassifyService.getClassifyFullInfo(codeClassId);
        if(classifyFullInfo!=null) {
            codeRuleVO = mdmEngineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
        }
        return R.data(codeRuleVO);
    }
 
    /***
     * 根据属性获取枚举值
     * @param oid
     * @return
     */
    @GetMapping("/listComboboxItems")
    public R<List<KeyValue>> listComboboxItems(String oid){
        List<KeyValue> keyValueList=mdmEngineService.listComboboxItems(codeClstempattrService.getObjectByOid(oid));
        return R.data(keyValueList);
    }
}