From 3ac8ee52eef07ff8deeea11015035ad17c4d67e8 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期二, 13 六月 2023 17:58:37 +0800
Subject: [PATCH] 链接类型feign添加;状态池查询应用范围按钮修正;

---
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeFallback.java  |  104 ++++++++++
 Source/UBCS-WEB/src/views/modeling/status.vue                                                          |   65 ++++-
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeClient.java    |  136 +++++++++++++
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILinkTypeService.java         |   27 ++
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/LinkTypeClient.java             |  183 ++++++++++++++++++
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java     |    6 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java |   53 +++++
 Source/UBCS-WEB/src/api/omd/status.js                                                                  |   12 +
 8 files changed, 562 insertions(+), 24 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/omd/status.js b/Source/UBCS-WEB/src/api/omd/status.js
index e80f0f8..4a287a3 100644
--- a/Source/UBCS-WEB/src/api/omd/status.js
+++ b/Source/UBCS-WEB/src/api/omd/status.js
@@ -72,4 +72,14 @@
             pageSize
         }
     })
-}
\ No newline at end of file
+}
+
+export const getApplyRange = (id) => {
+  return request({
+    url: '/api/ubcs-omd/status/get-apply-range',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
diff --git a/Source/UBCS-WEB/src/views/modeling/status.vue b/Source/UBCS-WEB/src/views/modeling/status.vue
index 4fb492e..9d7c465 100644
--- a/Source/UBCS-WEB/src/views/modeling/status.vue
+++ b/Source/UBCS-WEB/src/views/modeling/status.vue
@@ -11,36 +11,41 @@
                  @row-del="rowDel"
                  @refresh-change="refreshChange"
                  @search-reset="searchChange"
-                 @search-change="searchChange">
+                 @search-change="searchChange"
+                 @row-click="rowClick">
         <template slot="menuLeft">
-          <el-tooltip class="item" effect="dark" content="鏌ユ壘鐘舵�佹睜浣跨敤鑼冨洿" placement="top">
+          <el-tooltip class="item" effect="dark" content="鏌ユ壘鐘舵�佷娇鐢ㄨ寖鍥�" placement="top">
             <el-button size="small"
                        plain
                        type="primary"
                        icon="el-icon-zoom-in"
-                       @click="handleSearch">鏌ョ湅浣跨敤鑼冨洿
+                       @click="applyRangeSearch">鏌ョ湅浣跨敤鑼冨洿
             </el-button>
           </el-tooltip>
-        </template>>
+        </template>
+        <template slot="radio"
+                  slot-scope="{row}">
+          <el-radio v-model="selectRow"
+                    :label="row.$index">&nbsp;
+          </el-radio>
+        </template>
       </avue-crud>
-      <el-dialog title="鏌ョ湅浣跨敤鑼冨洿"
-                 append-to-body
-                 :visible.sync="packageSearchBox"
-                 width="1200px">
-        <versionpackage></versionpackage>
-      </el-dialog>
+      <versionpackage :rangeData="applyRangeData" ref="applyRange"></versionpackage>
     </basic-container>
-  
+
   </template>
-  
+
   <script>
-  import { getPage,add,update,remove } from '../../api/omd/status';
+  import { getPage,add,update,remove,getApplyRange } from '../../api/omd/status';
   export default {
     name: "status",
     data(){
       return {
         //鏌ョ湅浣跨敤鑼冨洿
         packageSearchBox:false,
+        // 鐐瑰嚮鏁版嵁
+        selectRow: '',
+        selectRowData: {},
         //鍒嗛〉鏁版嵁
         page: {
           pageSize: 10,
@@ -56,7 +61,14 @@
           border: true,
           index: true,
           searchMenuSpan:5,
+          highlightCurrentRow: true,
+          stripe:true,
           column:[
+            {
+              label: '',
+              prop: 'radio',
+              width: 120
+            },
             {
               label:'鑻辨枃鍚嶇О',
               prop: 'id',
@@ -73,12 +85,28 @@
               type:'textarea'
             }
           ]
-        }
+        },
+        applyRangeData: []
       }
     },
     methods:{
-      handleSearch(){
-        // this.packageSearchBox=true
+      rowClick(row){
+        this.selectRow = row.$index;
+        this.selectRowData = row;
+      },
+      applyRangeSearch(){
+        if (!this.selectRow && this.selectRow != 0){
+          console.log(this.selectRow);
+          this.$message({
+            type:"warning",
+            message: "璇峰厛閫夋嫨灞炴��"
+          })
+        }
+        getApplyRange(this.selectRowData.id).then(res => {
+          this.applyRangeData = res.data.data;
+          this.$refs.applyRange.rangeData = this.applyRangeData;
+          this.$refs.applyRange.showDialog = true;
+        })
       },
       getList() {
         this.loading = true;
@@ -134,8 +162,7 @@
     }
   }
   </script>
-  
+
   <style scoped>
-  
+
   </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/feign/IBtmTypeClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java
index 7fea663..544e14e 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
@@ -50,11 +50,11 @@
 	 */
 	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_DEFAULT_ATTR_BY_BTM_ID = API_PREFIX + "/btm-type/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_ID = API_PREFIX + "/btm-type/get-all-attr-by-btm-id";
 
-	String GET_ALL_ATTR_BY_BTM_OID = API_PREFIX + "/btm-attribute/get-all-attr-by-btm-oid";
+	String GET_ALL_ATTR_BY_BTM_OID = API_PREFIX + "/btm-type/get-all-attr-by-btm-oid";
 
 	/**
 	 * 鑾峰彇涓氬姟绫诲瀷璇︽儏淇℃伅
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeClient.java
new file mode 100644
index 0000000..b5f682f
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeClient.java
@@ -0,0 +1,136 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.vci.ubcs.omd.vo.LinkTypeVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+/**
+ * Description: 閾炬帴绫诲瀷Feign鎺ュ彛
+ *
+ * @author LiHang
+ * @date 2023/6/13
+ */
+@FeignClient(
+	value = AppConstant.APPLICATION_NAME_OMD,
+	fallback = ILinkTypeFallback.class
+)
+public interface ILinkTypeClient {
+	/**
+	 * 鍓嶇紑
+	 */
+	String API_PREFIX = "/client";
+
+	/**
+	 * 鍒嗛〉鍙傜収鏌ヨ
+	 */
+	String GET_REF_PAGE =API_PREFIX + "/link-type/get-ref-page";
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ鏃犲垎椤�
+	 */
+	String GET_REF = API_PREFIX + "/link-type/get-ref";
+	/**
+	 * 鍙傜収鏄庣粏
+	 */
+	String GET_DETAIL = API_PREFIX + "/link-type/get-detail";
+	/**
+	 * 鑻辨枃鍚嶇О鎵归噺鏌ヨ
+	 */
+	String GET_BY_IDS = API_PREFIX + "/link-type/get-by-ids";
+	/**
+	 * 涓婚敭鎵归噺鏌ヨ
+	 */
+	String GET_BY_OIDS = API_PREFIX + "/link-type/get-by-oids";
+	/**
+	 * 鎸夐摼鎺ョ被鍨嬭嫳鏂囧悕绉拌幏鍙栭粯璁ゅ瓧娈�
+	 */
+	String GET_DEFAULT_ATTR_BY_LINK_ID = API_PREFIX + "/link-type/get-default-attr-by-link-id";
+
+	/**
+	 * 鎸夐摼鎺ョ被鍨嬭嫳鏂囧悕绉拌幏鍙栧叏閮ㄥ瓧娈�
+	 */
+	String GET_ALL_ATTR_BY_LINK_ID = API_PREFIX + "/link-type/get-all-attr-by-link-id";
+
+	/**
+	 * 鎸夐摼鎺ョ被鍨嬩富閿幏鍙栧叏閮ㄥ瓧娈�
+	 */
+	String GET_ALL_ATTR_BY_LINK_OID = API_PREFIX + "/link-type/get-all-attr-by-link-oid";
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷璇︽儏淇℃伅
+	 *
+	 * @param oid 涓婚敭
+	 * @return 涓氬姟绫诲瀷璇︽儏淇℃伅
+	 */
+	@GetMapping(GET_DETAIL)
+	R<LinkTypeVO> getDetail(@RequestParam("oid") String oid);
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ
+	 *
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@PostMapping(GET_REF_PAGE)
+	R<Page<LinkTypeVO>> getRefPage(@RequestBody BaseQueryObject baseQueryObject);
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@PostMapping(GET_REF)
+	R<List<LinkTypeVO>> getRef(@RequestBody BaseQueryObject baseQueryObject);
+
+	/**
+	 * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄
+	 * @param ids 瀵硅薄鑻辨枃鍚嶇О 浣嗘槸涓嶈兘瓒呰繃1000
+	 * @return 涓氬姟瀵硅薄
+	 */
+	@PostMapping(GET_BY_IDS)
+	R<List<LinkTypeVO>> selectByIdCollection(@RequestBody List<String> ids);
+
+	/**
+	 * 鎵归噺鏍规嵁涓婚敭鑾峰彇涓氬姟绫诲瀷
+	 * @param pkLinkTypeCollection 涓氬姟绫诲瀷涓婚敭闆嗗悎
+	 * @return 涓氬姟绫诲瀷鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+	 */
+	@PostMapping(GET_BY_OIDS)
+	R<List<LinkTypeVO>> listLinkTypeByOidCollection(@RequestBody List<String> pkLinkTypeCollection);
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+	 *
+	 * @param linkTypeId 涓氬姟绫诲瀷id
+	 * @return 榛樿瀛楁灞炴��
+	 */
+	@GetMapping(GET_DEFAULT_ATTR_BY_LINK_ID)
+	R<LinkTypeVO> getDefaultAttrByLinkId(@RequestParam("linkTypeId") String linkTypeId);
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeId 涓氬姟绫诲瀷id
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@GetMapping(GET_ALL_ATTR_BY_LINK_ID)
+	R<LinkTypeVO> getAllAttributeByLinkId(@RequestParam("linkTypeId") String linkTypeId);
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeOid 涓氬姟绫诲瀷涓婚敭
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@GetMapping(GET_ALL_ATTR_BY_LINK_OID)
+	R<LinkTypeVO> getAllAttributeByLinkOid(@RequestParam("linkTypeOid") String linkTypeOid);
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeFallback.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeFallback.java
new file mode 100644
index 0000000..8310f6b
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/ILinkTypeFallback.java
@@ -0,0 +1,104 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.vci.ubcs.omd.vo.LinkTypeVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import org.springblade.core.tool.api.R;
+
+import java.util.List;
+
+/**
+ * Description: 閾炬帴绫诲瀷feign澶辫触鐨勯厤缃被
+ *
+ * @author LiHang
+ * @date 2023/6/13
+ */
+public class ILinkTypeFallback implements ILinkTypeClient{
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷璇︽儏淇℃伅
+	 *
+	 * @param oid 涓婚敭
+	 * @return 涓氬姟绫诲瀷璇︽儏淇℃伅
+	 */
+	@Override
+	public R<LinkTypeVO> getDetail(String oid) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ
+	 *
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@Override
+	public R<Page<LinkTypeVO>> getRefPage(BaseQueryObject baseQueryObject) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ
+	 *
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@Override
+	public R<List<LinkTypeVO>> getRef(BaseQueryObject baseQueryObject) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	/**
+	 * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄
+	 *
+	 * @param ids 瀵硅薄鑻辨枃鍚嶇О 浣嗘槸涓嶈兘瓒呰繃1000
+	 * @return 涓氬姟瀵硅薄
+	 */
+	@Override
+	public R<List<LinkTypeVO>> selectByIdCollection(List<String> ids) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	/**
+	 * 鎵归噺鏍规嵁涓婚敭鑾峰彇涓氬姟绫诲瀷
+	 *
+	 * @param pkLinkTypeCollection 涓氬姟绫诲瀷涓婚敭闆嗗悎
+	 * @return 涓氬姟绫诲瀷鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+	 */
+	@Override
+	public R<List<LinkTypeVO>> listLinkTypeByOidCollection(List<String> pkLinkTypeCollection) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+	 *
+	 * @param linkTypeId 涓氬姟绫诲瀷id
+	 * @return 榛樿瀛楁灞炴��
+	 */
+	@Override
+	public R<LinkTypeVO> getDefaultAttrByLinkId(String linkTypeId) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeId 涓氬姟绫诲瀷id
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public R<LinkTypeVO> getAllAttributeByLinkId(String linkTypeId) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeOid 涓氬姟绫诲瀷涓婚敭
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public R<LinkTypeVO> getAllAttributeByLinkOid(String linkTypeOid) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/LinkTypeClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/LinkTypeClient.java
new file mode 100644
index 0000000..e82d50f
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/LinkTypeClient.java
@@ -0,0 +1,183 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.vci.ubcs.omd.entity.LinkType;
+import com.vci.ubcs.omd.service.ILinkTypeService;
+import com.vci.ubcs.omd.vo.LinkTypeVO;
+import com.vci.ubcs.omd.wrapper.LinkTypeWrapper;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.cglib.beans.BeanMap;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.*;
+
+/**
+ * Description: 閾炬帴绫诲瀷Feign瀹炵幇绫�
+ *
+ * @author LiHang
+ * @date 2023/6/13
+ */
+@ApiIgnore()
+@RestController
+@AllArgsConstructor
+public class LinkTypeClient implements ILinkTypeClient{
+
+	private final ILinkTypeService linkTypeService;
+
+	private final String DOMAIN = "domain";
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷璇︽儏淇℃伅
+	 *
+	 * @param oid 涓婚敭
+	 * @return 閾炬帴绫诲瀷璇︽儏淇℃伅
+	 */
+	@Override
+	public R<LinkTypeVO> getDetail(String oid) {
+		LinkTypeVO vo = linkTypeService.getLinkTypeByOid(oid);
+		return R.data(vo);
+	}
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ
+	 *
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@Override
+	public R<Page<LinkTypeVO>> getRefPage(BaseQueryObject baseQueryObject) {
+		Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+		if (conditionMap == null){
+			conditionMap = new HashMap<>(16);
+		}
+		if (!conditionMap.containsKey(DOMAIN)){
+			return R.fail("棰嗗煙鍊间笉鑳戒负绌�");
+		}
+		PageHelper pageHelper = baseQueryObject.getPageHelper();
+		if (pageHelper == null){
+			pageHelper = new PageHelper(-1);
+		}
+		String domainValue = conditionMap.get(DOMAIN);
+		VciBaseUtil.alertNotNull(domainValue,"棰嗗煙鍊�");
+		conditionMap.remove(DOMAIN);
+		LinkType queryObj = new LinkType();
+		BeanMap.create(queryObj).putAll(conditionMap);
+		Query query = new Query();
+		query.setSize(pageHelper.getLimit());
+		query.setCurrent(pageHelper.getPage());
+		IPage<LinkType> page = linkTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(queryObj).lambda().eq(LinkType::getDomain, domainValue).orderByAsc(LinkType::getId));
+		Page<LinkTypeVO> pageVO = new Page<>();
+		BeanUtil.copy(page,pageVO);
+		pageVO.setRecords(LinkTypeWrapper.build().listEntityVO(page.getRecords(),null));
+		R<Page<LinkTypeVO>> r = R.data(pageVO);
+		r.setSuccess(true);
+		return r;
+	}
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ
+	 *
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@Override
+	public R<List<LinkTypeVO>> getRef(BaseQueryObject baseQueryObject) {
+		Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+		if (conditionMap == null){
+			conditionMap = new HashMap<>(16);
+		}
+		if (!conditionMap.containsKey(DOMAIN)){
+			return R.fail("棰嗗煙鍊间笉鑳戒负绌�");
+		}
+		PageHelper pageHelper = baseQueryObject.getPageHelper();
+		if (pageHelper == null){
+			pageHelper = new PageHelper(-1);
+		}
+		String domainValue = conditionMap.get(DOMAIN);
+		VciBaseUtil.alertNotNull(domainValue,"棰嗗煙鍊�");
+		conditionMap.remove(DOMAIN);
+		LinkType queryObj = new LinkType();
+		BeanMap.create(queryObj).putAll(conditionMap);
+		List<LinkType> doList = linkTypeService.list(Condition.getQueryWrapper(queryObj).lambda().eq(LinkType::getDomain, domainValue).orderByAsc(LinkType::getId));
+		return R.data(LinkTypeWrapper.build().listEntityVO(doList,null));
+	}
+
+	/**
+	 * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄
+	 *
+	 * @param ids 瀵硅薄鑻辨枃鍚嶇О 浣嗘槸涓嶈兘瓒呰繃1000
+	 * @return 涓氬姟瀵硅薄
+	 */
+	@Override
+	public R<List<LinkTypeVO>> selectByIdCollection(List<String> ids) {
+		Func.requireNotNull(ids,"閾炬帴绫诲瀷鑻辨枃鍚嶇О");
+		List<LinkTypeVO> voList = LinkTypeWrapper.build().listEntityVO(
+			Optional.ofNullable(linkTypeService.list(
+					Wrappers.<LinkType>query().lambda().in(LinkType::getId, ids)
+				)
+			).orElseGet(ArrayList::new),null
+		);
+		return R.data(voList);
+	}
+
+	/**
+	 * 鎵归噺鏍规嵁涓婚敭鑾峰彇閾炬帴绫诲瀷
+	 *
+	 * @param pkLinkTypeCollection 閾炬帴绫诲瀷涓婚敭闆嗗悎
+	 * @return 閾炬帴绫诲瀷鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+	 */
+	@Override
+	public R<List<LinkTypeVO>> listLinkTypeByOidCollection(List<String> pkLinkTypeCollection) {
+		Func.requireNotNull(pkLinkTypeCollection,"閾炬帴绫诲瀷涓婚敭");
+		List<LinkTypeVO> voList = LinkTypeWrapper.build().listEntityVO(
+			Optional.ofNullable(linkTypeService.list(
+					Wrappers.<LinkType>query().lambda().in(LinkType::getOid, pkLinkTypeCollection)
+				)
+			).orElseGet(ArrayList::new),null
+		);
+		return R.data(voList);
+	}
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+	 *
+	 * @param linkTypeId 閾炬帴绫诲瀷ID
+	 * @return 榛樿瀛楁灞炴��
+	 */
+	@Override
+	public R<LinkTypeVO> getDefaultAttrByLinkId(String linkTypeId) {
+		return R.data(linkTypeService.getLinkTypeDefaultAttrById(linkTypeId));
+	}
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeId 閾炬帴绫诲瀷id
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public R<LinkTypeVO> getAllAttributeByLinkId(String linkTypeId) {
+		return R.data(linkTypeService.getLinkTypeAllAttrById(linkTypeId));
+	}
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeOid 閾炬帴绫诲瀷涓婚敭
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public R<LinkTypeVO> getAllAttributeByLinkOid(String linkTypeOid) {
+		return R.data(linkTypeService.getLinkTypeAllAttrByOid(linkTypeOid));
+	}
+}
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 203a3cd..4dfece4 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
@@ -8,6 +8,7 @@
 import com.vci.ubcs.omd.vo.LinkTypeVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import org.springblade.core.mp.base.BaseService;
 
 import java.util.Collection;
 import java.util.List;
@@ -20,7 +21,7 @@
  * @author LiHang
  * @date 2023/5/24
  */
-public interface ILinkTypeService extends IService<LinkType> {
+public interface ILinkTypeService extends BaseService<LinkType> {
 
 	/**
 	 * 鑾峰彇閾炬帴绫诲瀷鍒楄〃
@@ -209,4 +210,28 @@
 	 * @return 鏌ヨ缁撴灉
 	 */
 	List<BtmTreeVO> treeDomain();
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+	 *
+	 * @param linkTypeId 閾炬帴绫诲瀷id
+	 * @return 榛樿瀛楁灞炴��
+	 */
+	LinkTypeVO getLinkTypeDefaultAttrById(String linkTypeId);
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeId 閾炬帴绫诲瀷id
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	LinkTypeVO getLinkTypeAllAttrById(String linkTypeId);
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeOid 閾炬帴绫诲瀷涓婚敭
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	LinkTypeVO getLinkTypeAllAttrByOid(String linkTypeOid);
 }
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 409b4f2..1451bc7 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
@@ -45,6 +45,7 @@
 import org.springframework.transaction.support.DefaultTransactionDefinition;
 import org.springframework.util.CollectionUtils;
 
+import javax.validation.constraints.NotEmpty;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -901,4 +902,56 @@
 			throw new RuntimeException(e);
 		}
 	}
+
+	@Override
+	public boolean deleteLogic(@NotEmpty List<Long> ids) {
+		return false;
+	}
+
+	@Override
+	public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) {
+		return false;
+	}
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+	 *
+	 * @param linkTypeId 閾炬帴绫诲瀷id
+	 * @return 榛樿瀛楁灞炴��
+	 */
+	@Override
+	public LinkTypeVO getLinkTypeDefaultAttrById(String linkTypeId) {
+		LinkTypeVO vo = getLinkTypeById(linkTypeId);
+		List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getDefaultAttributes(vo);
+		vo.setAttributes(attributes);
+		return vo;
+	}
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeId 閾炬帴绫诲瀷id
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public LinkTypeVO getLinkTypeAllAttrById(String linkTypeId) {
+		LinkTypeVO vo = getLinkTypeById(linkTypeId);
+		List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getAllAttributes(vo);
+		vo.setAttributes(attributes);
+		return vo;
+	}
+
+	/**
+	 * 鑾峰彇閾炬帴绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param linkTypeOid 閾炬帴绫诲瀷涓婚敭
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public LinkTypeVO getLinkTypeAllAttrByOid(String linkTypeOid) {
+		LinkTypeVO vo = getLinkTypeByOid(linkTypeOid);
+		List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getAllAttributes(vo);
+		vo.setAttributes(attributes);
+		return vo;
+	}
 }

--
Gitblit v1.9.3