From 59d3dce7cf32975e59935920968b2266af3c60a6 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期五, 02 六月 2023 14:31:01 +0800
Subject: [PATCH] 链接类型接口修正、页面修改。业务类型Feign接口修改。
---
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LinkTypeMapper.java | 11
Source/UBCS-WEB/src/views/modeling/LinkType.vue | 263 ++++++++++++++++
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java | 96 ++++++
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILinkTypeService.java | 6
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java | 42 ++
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java | 4
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java | 41 ++
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java | 5
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java | 15
Source/UBCS-WEB/src/api/omd/linkType.js | 71 ++++
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java | 43 ++
Source/UBCS-WEB/src/views/modeling/Business.vue | 10
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LinkType.java | 5
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java | 6
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LinkTypeDTO.java | 5
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java | 28 +
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java | 51 ++
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LinkTypeController.java | 169 ++++++++++
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml | 8
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 58 +++
20 files changed, 892 insertions(+), 45 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/omd/linkType.js b/Source/UBCS-WEB/src/api/omd/linkType.js
new file mode 100644
index 0000000..e69fc12
--- /dev/null
+++ b/Source/UBCS-WEB/src/api/omd/linkType.js
@@ -0,0 +1,71 @@
+import request from '@/router/axios';
+
+export const initTree = () => {
+ return request({
+ url: '/api/ubcs-omd/link-type/tree-domain',
+ method: 'get',
+ })
+}
+
+export const refOnLoad = (domain) => {
+ return request({
+ url: '/api/ubcs-omd/link-type/get-from-table',
+ method: 'get',
+ params: {
+ domain: domain
+ }
+ })
+}
+
+export const getDomain = () => {
+ return request({
+ url: '/api/ubcs-omd/link-type/domain',
+ method: 'get'
+ })
+}
+
+export const saveFromTable = (list,domain) => {
+ return request({
+ url: '/api/ubcs-omd/link-type/save-from-table/' + domain,
+ method: 'post',
+ data: list
+ })
+}
+
+export const getDetail = (oid) => {
+ return request({
+ url: '/api/ubcs-omd/link-type/detail',
+ method: 'get',
+ params: {
+ oid: oid
+ }
+ })
+}
+
+export const add = (linkType,auto) => {
+ return request({
+ url: '/api/ubcs-omd/link-type/submit/' + auto,
+ method: 'post',
+ data: linkType
+ })
+}
+
+export const update = (linkType) => {
+ return request({
+ url: '/api/ubcs-omd/link-type/submit/' + auto,
+ method: 'post',
+ data: linkType
+ })
+}
+
+export const btmPage = (current,size,params) => {
+ return request ({
+ url: '/api/ubcs-omd/link-type/page',
+ method: 'get',
+ params: {
+ current,
+ size,
+ ...params
+ }
+ })
+}
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/views/modeling/Business.vue b/Source/UBCS-WEB/src/views/modeling/Business.vue
index 483d1b1..476fe62 100644
--- a/Source/UBCS-WEB/src/views/modeling/Business.vue
+++ b/Source/UBCS-WEB/src/views/modeling/Business.vue
@@ -1,13 +1,16 @@
<template>
<el-container>
<el-header class="businessHeader" style="height: 40px;">
- <el-button type="primary" @click="businessAdd" size="small">鏂板</el-button>
- <el-button type="primary" @click="businessEdit" size="small">淇敼</el-button>
- <el-button type="primary" @click="selectFromTable" size="small">浠庡凡鏈変腑鑾峰彇</el-button>
+ <el-button-group>
+ <el-button type="primary" @click="businessAdd" size="small"> <i class="el-icon-plus"></i> 鏂板</el-button>
+ <el-button type="primary" @click="businessEdit" size="small"><i class="el-icon-edit"></i> 淇敼</el-button>
+ <el-button type="primary" @click="selectFromTable" size="small"><i class="el-icon-thumb"></i> 浠庡凡鏈変腑鑾峰彇</el-button>
+ </el-button-group>
</el-header>
<el-container>
<el-aside width="240px">
<basic-container class="businessTreeContainer">
+ <p style="margin-top: 10px;font-weight: 570;font-size: 19px">{{ treeOption.title }}</p>
<avue-tree id="basic" :data="treeData" :option="treeOption" @node-click="nodeClick" class="businessTree">
<span class="el-tree-node__label" slot-scope="{ node, data }">
<span>
@@ -161,6 +164,7 @@
treeOption: {
defaultExpandAll: true,
title: '涓氬姟绫诲瀷鏍�',
+ addBtn: false,
props: {
labelText: '',
label: 'name',
diff --git a/Source/UBCS-WEB/src/views/modeling/LinkType.vue b/Source/UBCS-WEB/src/views/modeling/LinkType.vue
new file mode 100644
index 0000000..18e6791
--- /dev/null
+++ b/Source/UBCS-WEB/src/views/modeling/LinkType.vue
@@ -0,0 +1,263 @@
+<template>
+ <el-container>
+ <!-- 椤剁鎸夐挳 -->
+ <el-header class="businessHeader" style="height: 40px;">
+ <el-button-group>
+ <el-button type="primary" @click="linkTypeAdd" size="small">
+ <i class="el-icon-plus"></i>
+ 鏂板
+ </el-button>
+ <el-button type="primary" @click="linkTypeEdit" size="small">
+ <i class="el-icon-edit"></i>
+ 淇敼
+ </el-button>
+ <el-button type="primary" @click="selectFromTable" size="small">
+ <i class="el-icon-thumb"></i>
+ 浠庡凡鏈変腑鑾峰彇
+ </el-button>
+ </el-button-group>
+ </el-header>
+ <!-- 渚ц竟鏍忔爲 -->
+ <el-container>
+ <el-aside width="240px">
+ <basic-container class="businessTreeContainer">
+ <p style="margin-top: 10px;font-weight: 570;font-size: 19px">{{ treeOption.title }}</p>
+ <avue-tree id="basic" :data="treeData" :option="treeOption" @node-click="nodeClick"
+ class="businessTree">
+ <span class="el-tree-node__label" slot-scope="{ node, data }">
+ <span>
+ <i class="el-icon-star-on"></i>
+ {{ (node || {}).label }}
+ </span>
+ </span>
+ </avue-tree>
+ </basic-container>
+ </el-aside>
+ <el-container>
+ <el-main>
+ <basic-container>
+ <p style="margin-top: 10px;font-weight: 570;font-size: 19px">鍩烘湰淇℃伅</p>
+ <el-descriptions class="margin-top" :column="2" size="medium" border>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-finished"></i>
+ 鑻辨枃鍚嶇О
+ </template>
+ {{ obj.id }}
+ </el-descriptions-item>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-info"></i>
+ 涓枃鍚嶇О
+ </template>
+ {{ obj.name }}
+ </el-descriptions-item>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-date"></i>
+ 鏁版嵁搴撹〃鍚�
+ </template>
+ {{ obj.tableName }}
+ </el-descriptions-item>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-folder-opened"></i>
+ 鎵�灞為鍩�
+ </template>
+ <el-tag size="small">
+ {{ obj.domainText }}
+ </el-tag>
+ </el-descriptions-item>
+ </el-descriptions>
+ <el-descriptions class="margin-top" direction="vertical" :column="2" border>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-sort-down"></i>
+ From绔被鍨�
+ </template>
+ <span v-for="item in obj.fromBtmTypes" style="margin-left:2px;">
+ <el-tag size="small" effect="plain" style="width:130px;margin-top: 2px;">
+ {{ item.id + '锛�' + item.name + '锛�' }}
+ </el-tag>
+ </span>
+ </el-descriptions-item>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-sort-up"></i>
+ To娈电被鍨�
+ </template>
+ <span v-for="item in obj.toBtmTypes" style="height:26px;width:140px;margin-left:2px">
+ <el-tag size="small" effect="plain" style="width:130px;margin-top: 2px;">
+ {{ item.id + '锛�' + item.name + '锛�' }}
+ </el-tag>
+ </span>
+ </el-descriptions-item>
+ </el-descriptions>
+
+ <el-descriptions class="margin-top" :column="2" size="medium" border>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-info"></i>
+ 涓荤被鍨�
+ </template>
+ {{ obj.fromBtmTypeName }}
+ </el-descriptions-item>
+ <el-descriptions-item labelStyle="text-align:center;width:120px"
+ contentStyle="width:240px;text-align:center;word-break;break-all;">
+ <template slot="label">
+ <i class="el-icon-info"></i>
+ 涓荤被鍨�
+ </template>
+ {{ obj.toBtmTypeName }}
+ </el-descriptions-item>
+ <el-descriptions-item span='2' labelStyle="text-align:center;width:120px">
+ <template slot="label">
+ <i class="el-icon-chat-line-square"></i>
+ 鎻忚堪
+ </template>
+ {{ obj.description }}
+ </el-descriptions-item>
+ </el-descriptions>
+ </basic-container>
+ <!-- 灞炴�у垪琛�-->
+ <basic-container>
+ <p style="margin-top: 10px;font-weight: 570;font-size: 19px">灞炴�у垪琛�</p>
+ <avue-crud class="attributeCrud" v-model="obj" :data="obj.attributes" :option="loadOption">
+ <template slot="attrDataType" slot-scope="{row}">
+ <el-tag>{{ row.attrDataType }}</el-tag>
+ </template>
+ </avue-crud>
+ </basic-container>
+ </el-main>
+ </el-container>
+ </el-container>
+
+
+ </el-container>
+</template>
+
+<script>
+import {
+ initTree,
+ refOnLoad,
+ getDomain,
+ saveFromTable,
+ getDetail
+} from "@/api/omd/linkType"
+export default {
+ name: "LinkType",
+ data() {
+ return {
+ treeData: [
+ { id: "1", name: "2", label: "label" },
+ { id: "a", name: "b", label: "c" }
+ ],
+ loadOption: {
+ border: true,
+ height: 360,
+ editBtn: false,
+ addBtn: false,
+ menu: false,
+ highlightCurrentRow: true,
+ refreshBtn: false,
+ columnBtn: false,
+ column: [
+ {
+ label: '鑻辨枃鍚嶇О',
+ prop: 'id',
+ align: 'center'
+ }, {
+ label: '涓枃鍚嶇О',
+ prop: 'name',
+ align: 'center'
+ },
+ {
+ label: '绫诲瀷',
+ prop: 'attrDataType',
+ align: 'center',
+ slot: true
+ },
+ {
+ label: '榛樿鍊�',
+ prop: 'defaultValue',
+ align: 'center'
+ },
+ {
+ label: '璇存槑',
+ prop: 'description',
+ align: 'center'
+ }
+ ]
+ },
+ obj: {
+ id: 'linkType',
+ name: '閾炬帴绫诲瀷',
+ tableName: 'PLLT_OMD_LINKTYPE',
+ domain: 'ubcs-omd',
+ domainText: '瀵硅薄寤烘ā',
+ fromBtmTypes: [
+ { id: 'btm', name: '涓氬姟绫诲瀷' },
+ { id: 'btm2', name: '涓氬姟绫诲瀷2' }
+ ],
+ toBtmTypes: [{ id: 'btm', name: '涓氬姟绫诲瀷' }, { id: 'btm2', name: '涓氬姟绫诲瀷2' }],
+ fromBtmTypeName: '',
+ toBtmTypeName: '',
+ },
+ treeOption: {
+ defaultExpandAll: true,
+ title: '閾炬帴绫诲瀷鏍�',
+ addBtn: false,
+ props: {
+ labelText: '',
+ label: 'name',
+ value: 'oid',
+ children: 'childList',
+ }
+ },
+ }
+ },
+ created() {
+ this.initTreeOnLoad();
+ // this.initDomainOption();
+ },
+
+ methods: {
+ // 鏍戠偣鍑�
+ nodeClick(data) {
+ console.log(data);
+ },
+ // 娣诲姞鎸夐挳鐐瑰嚮浜嬩欢
+ linkTypeAdd() {
+
+ },
+ // 缂栬緫鎸夐挳鐐瑰嚮浜嬩欢
+ linkTypeEdit() {
+
+ },
+ // 浠庡凡鏈変腑鑾峰彇鎸夐挳鐐瑰嚮浜嬩欢
+ selectFromTable() {
+
+ },
+ initTreeOnLoad() {
+ initTree().then(res => {
+ this.treeData = res.data.data;
+ });
+ }
+
+ }
+}
+</script>
+
+<style lang="scss">
+.attributeCrud>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+ display: none !important;
+}
+</style>
+
\ No newline at end of file
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LinkTypeDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LinkTypeDTO.java
index d0eab19..ab03c86 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LinkTypeDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LinkTypeDTO.java
@@ -48,6 +48,11 @@
*/
private String implClass;
+ /**
+ * 鏁版嵁琛ㄥ悕
+ */
+ private String tableName;
+
/**
* from绔笟鍔$被鍨�
*/
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LinkType.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LinkType.java
index c8df463..6a409cc 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LinkType.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LinkType.java
@@ -53,6 +53,11 @@
*/
private String implClass;
+ /**
+ * 鏁版嵁琛ㄥ悕
+ */
+ private String tableName;
+
/**
* from绔笟鍔$被鍨�
*/
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java
index 741d9bd..7fea663 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java
@@ -1,10 +1,9 @@
package com.vci.ubcs.omd.feign;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import org.springblade.core.launch.constant.AppConstant;
-import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@@ -12,9 +11,7 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
-import java.util.Collection;
import java.util.List;
-import java.util.Map;
/**
* Description: 涓氬姟绫诲瀷Feign鎺ュ彛绫�
@@ -53,6 +50,12 @@
*/
String GET_BY_OIDS = API_PREFIX + "/btm-type/get-by-oids";
+ String GET_DEFAULT_ATTR_BY_BTM_ID = API_PREFIX + "/btm-attribute/get-default-attr-by-btm-id";
+
+ String GET_ALL_ATTR_BY_BTM_ID = API_PREFIX + "/btm-attribute/get-all-attr-by-btm-id";
+
+ String GET_ALL_ATTR_BY_BTM_OID = API_PREFIX + "/btm-attribute/get-all-attr-by-btm-oid";
+
/**
* 鑾峰彇涓氬姟绫诲瀷璇︽儏淇℃伅
*
@@ -64,11 +67,12 @@
/**
* 鍙傜収鍒楄〃鏌ヨ
+ *
* @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
* @return 鏌ヨ缁撴灉
*/
- @GetMapping(GET_REF_PAGE)
- R<IPage<BtmTypeVO>> getRefPage(@RequestBody BaseQueryObject baseQueryObject);
+ @PostMapping(GET_REF_PAGE)
+ R<Page<BtmTypeVO>> getRefPage(@RequestBody BaseQueryObject baseQueryObject);
/**
* 鍙傜収鍒楄〃鏌ヨ
@@ -93,4 +97,31 @@
*/
@PostMapping(GET_BY_OIDS)
R<List<BtmTypeVO>> listBtmTypeByOidCollection(@RequestBody List<String> pkBtmTypeCollection);
+
+ /**
+ * 鑾峰彇涓氬姟绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 榛樿瀛楁灞炴��
+ */
+ @GetMapping(GET_DEFAULT_ATTR_BY_BTM_ID)
+ R<BtmTypeVO> getDefaultAttrByBtmId(@RequestParam("btmTypeId") String btmTypeId);
+
+ /**
+ * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 鎵�鏈夊瓧娈�
+ */
+ @GetMapping(GET_ALL_ATTR_BY_BTM_ID)
+ R<BtmTypeVO> getAllAttributeByBtmId(@RequestParam("btmTypeId") String btmTypeId);
+
+ /**
+ * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+ *
+ * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭
+ * @return 鎵�鏈夊瓧娈�
+ */
+ @GetMapping(GET_ALL_ATTR_BY_BTM_OID)
+ R<BtmTypeVO> getAllAttributeByBtmOid(@RequestParam("btmTypeOid") String btmTypeOid);
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java
index 31f9b9a..6e1762c 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java
@@ -16,17 +16,13 @@
*/
package com.vci.ubcs.omd.feign;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.vci.ubcs.omd.entity.Attribute;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
-import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Component;
-import java.util.Collection;
import java.util.List;
-import java.util.Map;
/**
* Feign澶辫触閰嶇疆
@@ -47,13 +43,13 @@
}
/**
- * 鍙傜収鍒楄〃鏌ヨ
- *
- * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
- * @return 鏌ヨ缁撴灉
- */
+ * 鍙傜収鍒楄〃鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+ * @return 鏌ヨ缁撴灉
+ */
@Override
- public R<IPage<BtmTypeVO>> getRefPage(BaseQueryObject baseQueryObject) {
+ public R<Page<BtmTypeVO>> getRefPage(BaseQueryObject baseQueryObject) {
return R.fail("鑾峰彇鏁版嵁澶辫触");
}
@@ -89,4 +85,37 @@
public R<List<BtmTypeVO>> selectByIdCollection(List<String> ids) {
return R.fail("鑾峰彇鏁版嵁澶辫触");
}
+
+ /**
+ * 鎸夌収涓氬姟绫诲瀷鑾峰彇榛樿瀛楁
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 榛樿瀛楁灞炴��
+ */
+ @Override
+ public R<BtmTypeVO> getDefaultAttrByBtmId(String btmTypeId) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鎸変笟鍔$被鍨媔d鑾峰彇鎵�鏈夌殑瀛楁
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 鎵�鏈夊瓧娈�
+ */
+ @Override
+ public R<BtmTypeVO> getAllAttributeByBtmId(String btmTypeId) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鎸変笟鍔$被鍨嬩富閿幏鍙栨墍鏈夌殑瀛楁
+ *
+ * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭
+ * @return 鎵�鏈夊瓧娈�
+ */
+ @Override
+ public R<BtmTypeVO> getAllAttributeByBtmOid(String btmTypeOid) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeTreeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java
similarity index 77%
rename from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeTreeVO.java
rename to Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java
index 40ea05a..7e45251 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeTreeVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java
@@ -13,7 +13,7 @@
* @date 2023/5/5
*/
@Data
-public class BtmTypeTreeVO implements Serializable{
+public class BtmTreeVO implements Serializable{
/**
* 搴忓垪鍖�
*/
@@ -25,5 +25,7 @@
private String oid;
- private List<BtmTypeTreeVO> childList;
+ private String type;
+
+ private List<BtmTreeVO> childList;
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java
index 264ddb6..423bac7 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java
@@ -119,6 +119,11 @@
*/
private Date ts;
+ /**
+ * 棰嗗煙鍊�
+ */
+ private String domain;
+
/**
* 鍖呭惈灞炴��
*/
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
index 4613774..beee556 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
@@ -11,7 +11,7 @@
import com.vci.ubcs.omd.entity.BtmType;
import com.vci.ubcs.omd.repeater.DomainRepeater;
import com.vci.ubcs.omd.service.IBtmTypeService;
-import com.vci.ubcs.omd.vo.BtmTypeTreeVO;
+import com.vci.ubcs.omd.vo.BtmTreeVO;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.DomainVO;
import com.vci.ubcs.omd.wrapper.BtmTypeWrapper;
@@ -161,7 +161,7 @@
@GetMapping("/tree-domain")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "涓氬姟绫诲瀷鏍戝舰缁撴瀯", notes = "涓氬姟绫诲瀷鏍戝舰缁撴瀯")
- public R<List<BtmTypeTreeVO>> treeDomain(){
+ public R<List<BtmTreeVO>> treeDomain(){
return R.data(btmTypeService.treeDomain());
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LinkTypeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LinkTypeController.java
new file mode 100644
index 0000000..6d8170b
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LinkTypeController.java
@@ -0,0 +1,169 @@
+package com.vci.ubcs.omd.controller;
+
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.alibaba.nacos.api.exception.NacosException;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.omd.constant.OmdCacheConstant;
+import com.vci.ubcs.omd.dto.LinkTypeDTO;
+import com.vci.ubcs.omd.entity.LinkType;
+import com.vci.ubcs.omd.repeater.DomainRepeater;
+import com.vci.ubcs.omd.service.ILinkTypeService;
+import com.vci.ubcs.omd.vo.BtmTreeVO;
+import com.vci.ubcs.omd.vo.LinkTypeVO;
+import com.vci.ubcs.omd.vo.DomainVO;
+import com.vci.ubcs.omd.wrapper.LinkTypeWrapper;
+import io.swagger.annotations.*;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.cache.utils.CacheUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringPool;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.validation.Valid;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Description:閾炬帴绫诲瀷鎺у埗鍣�
+ *
+ * @author LiHang
+ * @date 2023/5/29
+ */
+@NonDS
+@RestController
+@AllArgsConstructor
+@RequestMapping("/link-type")
+@Api(value = "閾炬帴绫诲瀷鎺у埗鍣�", tags = "閾炬帴绫诲瀷鎺у埗鍣�")
+public class LinkTypeController extends BladeController {
+ /**
+ * 閾炬帴绫诲瀷鏈嶅姟
+ */
+ private final ILinkTypeService linkTypeService;
+
+ /**
+ * 鏌ョ湅璇︽儏
+ *
+ * @param oid 涓婚敭
+ * @return 鎵ц缁撴灉
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "鏌ョ湅璇︽儏", notes = "浼犲叆涓婚敭")
+ public R<LinkTypeVO> detail(String oid) {
+ return R.data(linkTypeService.getLinkTypeByOid(oid));
+ }
+
+ /**
+ * 鍒楄〃
+ *
+ * @param condition 鏌ヨ鏉′欢
+ * @return 鎵ц缁撴灉
+ */
+ @GetMapping("/list")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "oid", value = "涓婚敭", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "id", value = "閾炬帴绫诲瀷鑻辨枃鍚嶇О", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "name", value = "閾炬帴绫诲瀷涓枃鍚嶇О", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "tableName", value = "閾炬帴绫诲瀷鏁版嵁搴撹〃鍚�", paramType = "query", dataType = "string"),
+ })
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "鏌ヨ鍒楄〃", notes = "浼犲叆鏌ヨ")
+ public R<List<LinkTypeVO>> list(@ApiIgnore @RequestParam Map<String, Object> condition) {
+ return R.data(LinkTypeWrapper.build().listEntityVO(linkTypeService.list(Condition.getQueryWrapper(condition, LinkType.class).lambda().orderByAsc(LinkType::getId))));
+ }
+
+ /**
+ * 鍒嗛〉鍒楄〃
+ *
+ * @param condition 鏌ヨ鏉′欢
+ */
+ @GetMapping("/page")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "oid", value = "涓婚敭", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "id", value = "閾炬帴绫诲瀷鑻辨枃鍚嶇О", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "name", value = "閾炬帴绫诲瀷涓枃鍚嶇О", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "tableName", value = "閾炬帴绫诲瀷鏁版嵁搴撹〃鍚�", paramType = "query", dataType = "string"),
+ })
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "鏌ヨ鍒楄〃", notes = "浼犲叆鏌ヨ")
+ public R<IPage<LinkTypeVO>> parentList(@ApiIgnore @RequestParam Map<String, Object> condition, Query query) {
+ IPage<LinkTypeVO> pageVO = new Page<>();
+ IPage<LinkType> page = linkTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, LinkType.class).lambda().orderByAsc(LinkType::getId));
+ BeanUtil.copy(page, pageVO);
+ pageVO.setRecords(LinkTypeWrapper.build().listEntityVO(page.getRecords()));
+ return R.data(pageVO);
+ }
+
+
+ /**
+ * 鏂板鎴栦慨鏀�
+ *
+ * @param dto 鍏冩暟鎹〉闈紶杈撳璞�
+ * @return 鎵ц缁撴灉
+ */
+ @PostMapping("/submit/{auto}")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆閾炬帴绫诲瀷瀵硅薄")
+ public R submit(@Valid @RequestBody LinkTypeVO dto, @PathVariable(value = "auto") boolean auto) {
+ CacheUtil.clear(OmdCacheConstant.LINK_CACHE);
+ if (StringUtils.isNotBlank(dto.getOid())){
+ return R.data(linkTypeService.editSave(dto));
+ }else {
+ return R.data(linkTypeService.addSave(dto));
+ }
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param ids 涓婚敭闆嗗悎
+ * @return 鎵ц缁撴灉
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "鍒犻櫎", notes = "涓婚敭闆嗗悎")
+ public R remove(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam String ids) {
+ CacheUtil.clear(OmdCacheConstant.LINK_CACHE);
+ List<String> oidList = new ArrayList<>();
+ if (ids.contains(",")) {
+ oidList.addAll(Func.toStrList(",", ids));
+ } else {
+ oidList.add(ids);
+ }
+ return R.status(linkTypeService.removeBatchByIds(oidList));
+ }
+
+ /**
+ * 鑾峰彇棰嗗煙鍊�
+ */
+ @GetMapping("/domain")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "鑾峰彇棰嗗煙鍊�")
+ public R<List<DomainVO>> getDomain(){
+ try {
+ return R.data(DomainRepeater.getDomain());
+ } catch (NacosException e) {
+ return R.fail(e.getErrMsg());
+ }
+ }
+
+ /**
+ * 鎸塪omain鍒嗙粍锛屾煡璇㈤摼鎺ョ被鍨嬬殑鏍戝舰缁撴瀯
+ */
+ @GetMapping("/tree-domain")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "閾炬帴绫诲瀷鏍戝舰缁撴瀯", notes = "閾炬帴绫诲瀷鏍戝舰缁撴瀯")
+ public R<List<BtmTreeVO>> treeDomain(){
+ return R.data(linkTypeService.treeDomain());
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
index 997bea0..84d76d9 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
@@ -51,7 +51,7 @@
@Override
@GetMapping(GET_DETAIL)
public R<BtmTypeVO> getDetail(String oid) {
- return R.data(btmTypeService.getBtmTypeByOid(oid));
+ return R.data(btmTypeService.getAllAttributeByBtmOid(oid));
}
/**
@@ -62,7 +62,7 @@
*/
@Override
@PostMapping(GET_REF_PAGE)
- public R<IPage<BtmTypeVO>> getRefPage(BaseQueryObject baseQueryObject) {
+ public R<Page<BtmTypeVO>> getRefPage(BaseQueryObject baseQueryObject) {
Map<String, String> conditionMap = baseQueryObject.getConditionMap();
if (conditionMap == null){
conditionMap = new HashMap<>(16);
@@ -83,10 +83,10 @@
query.setSize(pageHelper.getLimit());
query.setCurrent(pageHelper.getPage());
IPage<BtmType> page = btmTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(queryObj).lambda().eq(BtmType::getDomain, domainValue).orderByAsc(BtmType::getId));
- IPage<BtmTypeVO> pageVO = new Page<>();
+ Page<BtmTypeVO> pageVO = new Page<>();
BeanUtil.copy(page,pageVO);
pageVO.setRecords(BtmTypeWrapper.build().listEntityVO(page.getRecords()));
- R<IPage<BtmTypeVO>> r = R.data(pageVO);
+ R<Page<BtmTypeVO>> r = R.data(pageVO);
r.setSuccess(true);
return r;
}
@@ -152,4 +152,37 @@
);
return R.data(voList);
}
+
+ /**
+ * 鑾峰彇涓氬姟绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 榛樿瀛楁灞炴��
+ */
+ @Override
+ public R<BtmTypeVO> getDefaultAttrByBtmId(String btmTypeId) {
+ return R.data(Optional.ofNullable(btmTypeService.getDefaultAttrByBtmId(btmTypeId)).orElseGet(BtmTypeVO::new));
+ }
+
+ /**
+ * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 鎵�鏈夊瓧娈�
+ */
+ @Override
+ public R<BtmTypeVO> getAllAttributeByBtmId(String btmTypeId) {
+ return R.data(Optional.ofNullable(btmTypeService.getAllAttributeByBtmId(btmTypeId)).orElseGet(BtmTypeVO::new));
+ }
+
+ /**
+ * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+ *
+ * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭
+ * @return 鎵�鏈夊瓧娈�
+ */
+ @Override
+ public R<BtmTypeVO> getAllAttributeByBtmOid(String btmTypeOid) {
+ return R.data(Optional.ofNullable(btmTypeService.getAllAttributeByBtmOid(btmTypeOid)).orElseGet(BtmTypeVO::new));
+ }
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LinkTypeMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LinkTypeMapper.java
index aa779f4..38abcd1 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LinkTypeMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LinkTypeMapper.java
@@ -1,13 +1,22 @@
package com.vci.ubcs.omd.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.omd.entity.BtmType;
import com.vci.ubcs.omd.entity.LinkType;
+import java.util.List;
+
/**
- * Description:
+ * Description: 閾炬帴绫诲瀷鏁版嵁灞�
*
* @author LiHang
* @date 2023/5/24
*/
public interface LinkTypeMapper extends BaseMapper<LinkType> {
+
+ /**
+ * 鏌ヨ鍏ㄩ儴鐨勯摼鎺�
+ * @return 閾炬帴绫诲瀷鏁版嵁瀵硅薄鍒楄〃
+ */
+ List<LinkType> selectAll();
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java
index 2e06c1f..a9a5392 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java
@@ -3,6 +3,7 @@
import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseService;
@@ -74,4 +75,18 @@
* @return 鍖呭惈鐨勫睘鎬�
*/
List<BtmTypeAttribute> selectByBtmTypeIds(List<String> idList);
+
+ /**
+ * 鑾峰彇榛樿瀛楁
+ * @param btmType 涓氬姟绫诲瀷
+ * @return 鎵ц缁撴灉
+ */
+ List<BtmTypeAttributeVO> getDefaultAttribute(BtmTypeVO btmType);
+
+ /**
+ * 鑾峰彇鎵�鏈夊瓧娈�
+ * @param btmType 涓氬姟绫诲瀷
+ * @return 鎵ц缁撴灉
+ */
+ List<BtmTypeAttributeVO> getAllAttribute(BtmTypeVO btmType);
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java
index d47082a..0049267 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java
@@ -1,11 +1,9 @@
package com.vci.ubcs.omd.service;
import com.vci.ubcs.omd.dto.BtmTypeDTO;
-import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.BtmType;
-import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.entity.ModifyAttributeInfo;
-import com.vci.ubcs.omd.vo.BtmTypeTreeVO;
+import com.vci.ubcs.omd.vo.BtmTreeVO;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.LinkTypeVO;
@@ -14,7 +12,6 @@
import org.springblade.core.tool.api.R;
import java.util.Collection;
-import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -216,7 +213,7 @@
* 鎸塪omain鍒嗙粍锛屾煡璇笟鍔$被鍨嬪睘鎬х粨鏋�
* @return 鏌ヨ缁撴灉
*/
- List<BtmTypeTreeVO> treeDomain();
+ List<BtmTreeVO> treeDomain();
/**
* 浠庢暟鎹簱琛ㄤ腑鑾峰彇
@@ -232,4 +229,25 @@
* @return 鎵ц缁撴灉
*/
List<BtmTypeVO> saveFromTable(List<BtmTypeDTO> btmTypeDTOList,String domain);
+
+ /**
+ * 鎸夌収涓氬姟绫诲瀷id鑾峰彇榛樿灞炴��
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 涓氬姟绫诲瀷
+ */
+ BtmTypeVO getDefaultAttrByBtmId(String btmTypeId);
+
+ /**
+ * 鎸夌収涓氬姟绫诲瀷id鑾峰彇鎵�鏈夌殑灞炴��
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 涓氬姟绫诲瀷
+ */
+ BtmTypeVO getAllAttributeByBtmId(String btmTypeId);
+
+ /**
+ * 鎸夌収涓氬姟绫诲瀷涓婚敭鑾峰彇鎵�鏈夌殑灞炴��
+ * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭
+ * @return 涓氬姟绫诲瀷
+ */
+ BtmTypeVO getAllAttributeByBtmOid(String btmTypeOid);
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILinkTypeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILinkTypeService.java
index 716a052..203a3cd 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILinkTypeService.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILinkTypeService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.omd.entity.LinkType;
+import com.vci.ubcs.omd.vo.BtmTreeVO;
import com.vci.ubcs.omd.vo.LinkTypeAttributeVO;
import com.vci.ubcs.omd.vo.LinkTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
@@ -203,4 +204,9 @@
* @return 鑻辨枃鍚嶇О鑻辨枃灏忓啓
*/
Set<String> listUsedBtmType();
+ /**
+ * 鎸塪omain鍒嗙粍锛屾煡璇笟鍔$被鍨嬪睘鎬х粨鏋�
+ * @return 鏌ヨ缁撴灉
+ */
+ List<BtmTreeVO> treeDomain();
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
index a37c01c..6742b49 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
@@ -1,15 +1,20 @@
package com.vci.ubcs.omd.service.impl;
+import com.alibaba.cloud.commons.lang.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.omd.constant.BtmTypeConstant;
+import com.vci.ubcs.omd.constant.BtmTypeFieldConstant;
import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.mapper.BtmTypeAttributeMapper;
import com.vci.ubcs.omd.service.IAttributeService;
import com.vci.ubcs.omd.service.IBtmTypeAttributeService;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.wrapper.BtmTypeAttributeWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
@@ -169,4 +174,95 @@
public List<BtmTypeAttribute> selectByBtmTypeIds(List<String> idList) {
return baseMapper.selectByBtmTypeIds(idList);
}
+
+ /**
+ * 鑾峰彇榛樿瀛楁
+ *
+ * @param btmType 涓氬姟绫诲瀷
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public List<BtmTypeAttributeVO> getDefaultAttribute(BtmTypeVO btmType) {
+ List<BtmTypeAttributeVO> list = new ArrayList<>();
+ // 涓氬姟绫诲瀷鐨勫熀鏈瓧娈�
+ BtmTypeFieldConstant.BASIC_FIELD_MAP.forEach((id,name) -> {
+ BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+ vo.setId(id);
+ vo.setName(name);
+ vo.setPkBtmType(btmType.getOid());
+ if (StringUtils.equals(id,"oid")){
+ vo.setNullableFlag(false);
+ }else {
+ vo.setNullableFlag(true);
+ }
+ if (Arrays.asList("createtime","lastmodifytime","owner").contains(id)){
+ vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
+ vo.setAttributeLength(6);
+ }else {
+ vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+ vo.setAttributeLength(150);
+ }
+ list.add(vo);
+ });
+
+ // 鐗堟湰瑙勫垯瀛楁
+ if (StringUtils.isNotBlank(btmType.getRevisionRuleId())){
+ BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.forEach((id,name) -> {
+ BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+ vo.setId(id);
+ vo.setName(name);
+ vo.setPkBtmType(btmType.getOid());
+ if (Arrays.asList("lastr","firstr","lastv","firstv","revisionseq","versionseq","revisionvalue","versionvalue").contains(id)){
+ vo.setAttributeLength(5);
+ vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
+ }
+ if (Arrays.asList("checkintime","checkouttime").contains(id)){
+ vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
+ vo.setAttributeLength(6);
+ }
+ list.add(vo);
+ });
+ }
+
+ // 鐢熷懡鍛ㄦ湡瀛楁
+ if (StringUtils.isNotBlank(btmType.getLifeCycleId())){
+ BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.forEach((id,name) -> {
+ BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+ vo.setId(id);
+ vo.setName(name);
+ vo.setPkBtmType(btmType.getOid());
+ vo.setAttributeLength(50);
+ vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+ list.add(vo);
+ });
+ }
+
+ // 瀵嗙骇瀛楁
+ if (btmType.isSecretFlag()){
+ BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP.forEach((id,name) -> {
+ BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+ vo.setId(id);
+ vo.setName(name);
+ vo.setPkBtmType(btmType.getOid());
+ vo.setAttributeLength(5);
+ vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
+ list.add(vo);
+ });
+ }
+
+ return list;
+ }
+
+ /**
+ * 鑾峰彇鎵�鏈夊瓧娈�
+ *
+ * @param btmType 涓氬姟绫诲瀷
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public List<BtmTypeAttributeVO> getAllAttribute(BtmTypeVO btmType) {
+ List<BtmTypeAttributeVO> list = getAttributeByBtmTypeOid(btmType.getOid());
+ list.addAll(getDefaultAttribute(btmType));
+ return list;
+ }
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
index 266fe5a..2e7f48f 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
@@ -88,7 +88,7 @@
/**
* 琛ㄥ悕鍓嶇紑
*/
- public static final String PL = "PL";
+ public static final String PL = "PLBT";
/**
* 璁剧疆骞冲彴鏈韩鐨勪笟鍔$被鍨�
@@ -639,20 +639,20 @@
* @return 鏌ヨ缁撴灉
*/
@Override
- public List<BtmTypeTreeVO> treeDomain() {
+ public List<BtmTreeVO> treeDomain() {
try {
Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(s -> s.getValue(), t -> t.getLabel()));
List<BtmTypeVO> vos = BtmTypeWrapper.build().listEntityVO(baseMapper.selectAll());
Map<String, List<BtmTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(BtmTypeVO::getDomain));
- List<BtmTypeTreeVO> treeList = new ArrayList<>();
+ List<BtmTreeVO> treeList = new ArrayList<>();
domainMap.forEach((k,v)-> {
if (domain.containsKey(k)){
String label = domain.get(k);
- BtmTypeTreeVO parent = new BtmTypeTreeVO();
+ BtmTreeVO parent = new BtmTreeVO();
parent.setName(label);
parent.setId(k);
parent.setChildList(v.stream().map(s -> {
- BtmTypeTreeVO child = new BtmTypeTreeVO();
+ BtmTreeVO child = new BtmTreeVO();
child.setOid(s.getOid());
child.setName(s.getId() + " " + (s.getName() == null ? "" : s.getName()));
child.setId(s.getId());
@@ -810,4 +810,52 @@
}
return BtmTypeWrapper.build().listEntityVO(btmList);
}
+
+ /**
+ * 鎸夌収涓氬姟绫诲瀷id鑾峰彇榛樿灞炴��
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 涓氬姟绫诲瀷
+ */
+ @Override
+ public BtmTypeVO getDefaultAttrByBtmId(String btmTypeId) {
+ BtmTypeVO btmType = getBtmTypeById(btmTypeId);
+ if (btmType == null){
+ return null;
+ }
+ btmType.setAttributes(btmTypeAttributeService.getDefaultAttribute(btmType));
+ return btmType;
+ }
+
+ /**
+ * 鎸夌収涓氬姟绫诲瀷id鑾峰彇鎵�鏈夌殑灞炴��
+ *
+ * @param btmTypeId 涓氬姟绫诲瀷id
+ * @return 涓氬姟绫诲瀷
+ */
+ @Override
+ public BtmTypeVO getAllAttributeByBtmId(String btmTypeId) {
+ BtmTypeVO btmType = getBtmTypeById(btmTypeId);
+ if (btmType == null){
+ return null;
+ }
+ btmType.setAttributes(btmTypeAttributeService.getAllAttribute(btmType));
+ return btmType;
+ }
+
+ /**
+ * 鎸夌収涓氬姟绫诲瀷涓婚敭鑾峰彇鎵�鏈夌殑灞炴��
+ *
+ * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭
+ * @return 涓氬姟绫诲瀷
+ */
+ @Override
+ public BtmTypeVO getAllAttributeByBtmOid(String btmTypeOid) {
+ BtmTypeVO btmType = getBtmTypeByOid(btmTypeOid);
+ if (btmType == null){
+ return null;
+ }
+ btmType.setAttributes(btmTypeAttributeService.getAllAttribute(btmType));
+ return btmType;
+ }
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java
index 80820f9..e616cd2 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java
@@ -26,8 +26,8 @@
import com.vci.ubcs.omd.mapper.LinkTypeMapper;
import com.vci.ubcs.omd.repeater.DomainRepeater;
import com.vci.ubcs.omd.service.*;
-import com.vci.ubcs.omd.vo.LinkTypeAttributeVO;
-import com.vci.ubcs.omd.vo.LinkTypeVO;
+import com.vci.ubcs.omd.vo.*;
+import com.vci.ubcs.omd.wrapper.BtmTypeWrapper;
import com.vci.ubcs.omd.wrapper.LinkTypeAttributeWrapper;
import com.vci.ubcs.omd.wrapper.LinkTypeWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
@@ -95,12 +95,10 @@
@Autowired
private IModifyAttributeService modifyAttributeService;
- public final String BTM_NAME = "linkType";
-
/**
* 琛ㄥ悕鍓嶇紑
*/
- public static final String PL = "PL";
+ public static final String PL = "PLLT";
/**
@@ -865,4 +863,38 @@
}
return btmTypeSet;
}
+
+ /**
+ * 鎸塪omain鍒嗙粍锛屾煡璇㈤摼鎺ョ被鍨嬪睘鎬х粨鏋�
+ *
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ public List<BtmTreeVO> treeDomain() {
+ try {
+ Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(DomainVO::getValue, DomainVO::getLabel));
+ List<LinkTypeVO> vos = LinkTypeWrapper.build().listEntityVO(baseMapper.selectAll());
+ Map<String, List<LinkTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(LinkTypeVO::getDomain));
+ List<BtmTreeVO> treeList = new ArrayList<>();
+ domainMap.forEach((k,v)-> {
+ if (domain.containsKey(k)){
+ String label = domain.get(k);
+ BtmTreeVO parent = new BtmTreeVO();
+ parent.setName(label);
+ parent.setId(k);
+ parent.setChildList(v.stream().map(s -> {
+ BtmTreeVO child = new BtmTreeVO();
+ child.setOid(s.getOid());
+ child.setName(s.getId() + " " + (s.getName() == null ? "" : s.getName()));
+ child.setId(s.getId());
+ return child;
+ }).collect(Collectors.toList()));
+ treeList.add(parent);
+ }
+ });
+ return treeList;
+ } catch (NacosException e) {
+ throw new RuntimeException(e);
+ }
+ }
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml
index c21779e..0034781 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml
@@ -23,7 +23,7 @@
</resultMap>
<sql id="base_query_column">
- oid, id, name, descrption, shape, impl_class, from_btm_type, from_btm_type_name,
+ oid, id, name, description, shape, impl_class, from_btm_type, from_btm_type_name,
to_btm_type, to_btm_type_name, btm_name, owner, creator, create_time, last_modifier, last_modify_time,
ts, domain
</sql>
@@ -31,4 +31,10 @@
<sql id="tableName">
pl_omd_link_type
</sql>
+
+ <select id="selectAll" resultMap="BaseResultMap">
+ select <include refid="base_query_column"/>
+ from <include refid="tableName" />
+ </select>
+
</mapper>
--
Gitblit v1.9.3