From d4c06254a33d257cd608348d98db901dbda98b58 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期五, 02 六月 2023 14:31:50 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs

---
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java                         |  672 +++++++
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java             |    6 
 Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java                 |   12 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java                                      |   30 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml                                                 |   65 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml                                                       |   34 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java                                           |   12 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java                                  |   10 
 Source/UBCS-WEB/vue.config.js                                                                                                              |    3 
 Source/UBCS-WEB/src/views/integration/integrationIndex.vue                                                                                 |  333 +-
 Source/UBCS-WEB/src/api/formTemplate.js                                                                                                    |   11 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java                                 |   66 
 Source/UBCS-WEB/src/router/axios.js                                                                                                        |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java                                 |  675 +++++++
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java          |    9 
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java                            |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java                             |  107 +
 Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java                   |   12 
 Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/collection/DockingPreAttrMappingVOList.java |   29 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java                                       |   67 
 Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java                 |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java                                       |   24 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java                                |   13 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java                        |   23 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java                                         |    4 
 Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue                                                                                  |   85 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java                                   |   10 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java                                   |    7 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java                                       |    6 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml                                                        |    2 
 /dev/null                                                                                                                                  |  746 --------
 Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue                                                                               |  762 ++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java                              |   88 
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java     |   48 
 Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue                                                                              |  184 ++
 Source/UBCS-WEB/src/components/FormTemplate/index.vue                                                                                      |  783 -------
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java                                 |  312 +++
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml                                            |   13 
 Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue                                                                                  |   23 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java                               |    2 
 Source/UBCS-WEB/src/api/integration/integration.js                                                                                         |   58 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java                                |    2 
 Source/UBCS-WEB/src/main.js                                                                                                                |    3 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java                                       |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java                                         |    7 
 45 files changed, 3,684 insertions(+), 1,682 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/formTemplate.js b/Source/UBCS-WEB/src/api/formTemplate.js
index 17498e9..acbb3d4 100644
--- a/Source/UBCS-WEB/src/api/formTemplate.js
+++ b/Source/UBCS-WEB/src/api/formTemplate.js
@@ -20,8 +20,17 @@
 // 鐩镐技椤规煡璇�
 export const findLike = (data) => {
   return request({
-    url: 'api/mdmEngineController/resembleQuery',
+    url: 'api/ubcs-code/ubcs-code/mdmEngineController/resembleQuery',
     method: 'post',
     data
   })
+}
+
+// 鑾峰彇鏁版嵁
+export const getCodeRule = (params) => {
+  return request({
+    url: 'api/ubcs-code/ubcs-code/mdmEngineController/getCodeRuleByClassifyOid',
+    method: 'get',
+    params
+  })
 }
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/api/integration/integration.js b/Source/UBCS-WEB/src/api/integration/integration.js
new file mode 100644
index 0000000..4135761
--- /dev/null
+++ b/Source/UBCS-WEB/src/api/integration/integration.js
@@ -0,0 +1,58 @@
+import request from '@/router/axios';
+
+// 涓绘暟鎹垎绫绘爲
+export const referCodeClassifyTree = (params) => {
+    return request({
+      url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referCodeClassifyTree',
+      method: 'get',
+      params: params
+    })
+  }
+  // 涓绘暟鎹垎绫诲睘鎬т俊鎭�
+export const listCodeAttributeByClassId = (params) => {
+  return request({
+    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listCodeAttributeByClassId',
+    method: 'get',
+    params: params
+  })
+}
+// 闆嗗洟鍒嗙被鏍�
+export const referTree = (params) => {
+  return request({
+    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referTree',
+    method: 'get',
+    params: params
+  })
+}
+// 闆嗗洟鍒嗙被鏍戯紙鏌ヨ闆嗗洟鍒嗙被灞炴�ф帴鍙o級
+export const referTreeByClassId = (params) => {
+  return request({
+    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listViewModelAttributeByClassId',
+    method: 'get',
+    params: params
+  })
+}
+// 灞炴�ф槧灏�
+export const gridAttrMapping = (params) => {
+  return request({
+    url: '/api//ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrMapping',
+    method: 'get',
+    params: params
+  })
+}
+// 灞炴�у彇鍊艰寖鍥存槧灏�
+export const gridAttrRanges = (params) => {
+  return request({
+    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrRanges',
+    method: 'get',
+    params: params
+  })
+}
+// 灞炴�ф槧灏勪繚瀛樻柟娉�
+export const batchAddSave = (params) => {
+  return request({
+    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/batchAddSave',
+    method: 'get',
+    params: params
+  })
+}
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue b/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue
new file mode 100644
index 0000000..8b86bd3
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue
@@ -0,0 +1,85 @@
+<template>
+  <div></div>
+</template>
+
+<script>
+import { getCodeRule } from "@/api/formTemplate.js";
+
+export default {
+  name: "CodeApply",
+  props: {
+    codeClassifyOid: {
+      type: String,
+      default: ''
+    }
+  },
+  data() {
+    return {
+      secVOList: [],
+      formItems: [],
+      trendsSpan: 8
+    };
+  },
+  created() {
+    this.handleResize();
+    this.getCodeRule();
+  },
+  mounted() {
+    
+  },
+  methods: {
+    getCodeRule() {
+      getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => {
+        if (res.data && res.data.code === 200) {
+          this.defaultValue = res.data.data;
+          this.secVOList = res.data.data.secVOList || [];
+          this.codeRuleOid = res.data.data.oid;
+        }
+      });
+    },
+    handleResize() {
+      let windowWidth = document.body.clientWidth;
+      this.trendsSpan = 24 / Math.floor(windowWidth / 500);
+    },
+  },
+  watch: {
+    secVOList: {
+      deep: true,
+      handler(newV) {
+        this.formItems = [];
+        newV.forEach((item) => {
+          let itemObj = {};
+          let options = [];
+          //鍥哄畾鐮佹
+          if (item.sectype == "codefixedsec") {
+            options = item.fixedValueVOList.map((item) => {
+              item.key = item.id;
+              item.value = item.id;
+            });
+            itemObj = {
+              field: item.oid,
+              title: item.name,
+              required: item.nullableFlag != "true",
+              type: "combox",
+              data: options,
+              search: true,
+            };
+            //鍙彉鐮佹
+          } else if (item.sectype == "codevariablesec") {
+            itemObj = {
+              field: item.oid,
+              title: item.name,
+              required: item.nullableFlag != "true",
+              type: "text",
+            };
+          }
+          itemObj.span = item.type === "textarea" ? 24 : this.trendsSpan,
+          this.formItems.push(itemObj);
+        });
+      },
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FindLike.vue b/Source/UBCS-WEB/src/components/FormTemplate/FindLike.vue
deleted file mode 100644
index 3dc09e9..0000000
--- a/Source/UBCS-WEB/src/components/FormTemplate/FindLike.vue
+++ /dev/null
@@ -1,636 +0,0 @@
-<template>
-  <div v-if="visible">
-    <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
-      <el-tab-pane label="鐩镐技椤规暟鎹�" name="findlike">
-        <el-table
-          :data="tableData"
-          v-loading="loading"
-          height="250"
-          :border="true"
-        >
-          <el-table-column
-            v-for="item in column"
-            :key="item.prop"
-            :prop="item.prop"
-            :label="item.label"
-          >
-            <template #default="{ row }">
-              <el-button type="text" @click="openFormTemlpate(row)">{{
-                row.id
-              }}</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </el-tab-pane>
-    </el-tabs>
-
-    <FormTemplate
-      type="detail"
-      :visible.sync="templateVisible"
-      templateOid="78B8C7C5-A042-0B96-FE6D-65421451782A"
-      codeClassifyOid="4524E801-6CC6-92E8-1AC3-2AB9604E8F96"
-    ></FormTemplate>
-  </div>
-</template>
-
-<script>
-import { findLike } from "@/api/formTemplate";
-import FormTemplate from "./index.vue";
-export default {
-  name: "FindLike",
-  components: { FormTemplate },
-  props: {
-    column: {
-      type: Array,
-      default: () => [{ prop: "id", label: "浠e彿" }],
-    },
-  },
-  data() {
-    return {
-      visible: false,
-      templateVisible: false,
-      activeName: 'findlike',
-      tableData: [
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "C2FD69E0-59CA-7A3C-D3BE-A95AB67F81D4",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "5052756D-CE43-8F30-AE6B-A4F4102A66C5",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 21:53:06.637",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 21:53:06.637",
-          nameoid: "69E5E86F-AD62-1DBE-05D3-E0CE4C07408F",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 21:53:06.637",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "C33464B7-79A8-095B-D6FC-F9EB2EA0C985",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "4AF61981-D2E8-D8A2-9704-D12B043C22D1",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 21:51:06.262",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 21:51:06.262",
-          nameoid: "53E9B351-C410-2A78-3DC0-159BB3E695F9",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 21:51:06.262",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "00813CDD-4066-5FF5-0AAF-4AFCDB0C2CAE",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "47E45EAF-74E3-C722-3FCA-8FC8F996684F",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 21:41:14.965",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 21:41:14.965",
-          nameoid: "0AA8ACA8-1961-A670-93C5-744DCFF64238",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 21:41:14.965",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "413C9BA4-877D-AC01-554D-4DF3CCC0CCA5",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "E2F85B5B-9812-0A03-59D1-F4A48BCDA20B",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 21:38:11.315",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 21:38:11.315",
-          nameoid: "231D873D-ADF0-1E46-5E02-A2C0C1667324",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 21:38:11.315",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "99E22C15-228E-E64B-E0F4-BB699CF1E686",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test1223",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "A750F940-B2EA-DB08-5240-1379FE34E9C1",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 21:26:31.626",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 21:26:31.626",
-          nameoid: "B38F560F-38EF-4E80-A843-0EF0556DBE1A",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 21:26:31.626",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "0D8A595E-962C-E88A-1B75-CCBA29675B7A",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "80602381-F29D-E6A3-9DD4-FEF211DB8EAA",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 21:20:08.311",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 21:20:08.311",
-          nameoid: "DBDF377F-F7CF-67BA-673B-D8DE7E6D6587",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 21:20:08.311",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "3EFB6B91-E320-58DD-8402-956E9D416D2C",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "0B6D7C29-DE6A-9D81-BC11-EB39D454877F",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 21:16:24.964",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 21:16:24.964",
-          nameoid: "3B3C476A-74E2-FF4A-7228-01D1F1EA18B8",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 21:16:24.964",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "F3EB357A-1285-6BED-105E-4E4F1230CB76",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "247CF179-AA18-E636-F66E-054BF1A4A03C",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 20:28:37.591",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 20:28:37.591",
-          nameoid: "F95AF399-F100-8CD0-F944-DE528F8DFC93",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 20:28:37.591",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "610F9365-8E6E-699F-07A0-BC35601BD952",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "9DBE4C77-D0E6-4326-621D-EA9AACD86AD4",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 20:27:05.35",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 20:27:05.35",
-          nameoid: "B1B51981-A1D9-20A0-F974-5A61C1B9F3FF",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 20:27:05.35",
-        },
-        {
-          lastmodifier: "1(涓氬姟娴嬭瘯)",
-          revisionseq: "1",
-          versionvalue: "1",
-          secondfl: "",
-          versionseq: "1",
-          checkinby: "",
-          firstfl: "",
-          jiliangdwname: "",
-          materialtype: "1001",
-          materialtypeText: "鏉愭枡",
-          chukufangshi: "鍏堣繘鍏堝嚭",
-          hesuanfenlei: "",
-          lctid: "wupinLC",
-          id: "******",
-          isfirstv: "1",
-          revisionoid: "7AF39DAB-A6EA-C0E0-303F-BD8B493553AE",
-          checkouttime: "",
-          btmname: "wupin",
-          codeclsfid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          revisionvalue: "1",
-          secretgradeText: "鏅�氬晢瀵�",
-          name: "",
-          secretgrade: "2",
-          isfirstr: "1",
-          xinghaoguige: "",
-          materialname: "test12",
-          codetemplateoid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
-          description: "",
-          oid: "CD5EF43C-41E5-A0AC-42B1-BBEE6535AE1C",
-          thrifl: "",
-          revisionrule: "numberversionrule",
-          lcstatus_text: "缂栬緫涓�",
-          oldcode: "223",
-          hesuanfenleiname: "",
-          codeclsfpath:
-            "D9CF223F-317D-71EB-BD11-433A94CAD9F3##535FC9B6-FE27-241F-5FCA-ED4DC17CF95B##8EB35A1D-AB8B-2255-565C-84D309E0C62B##4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
-          owner: "1",
-          xiaoshouwl: "false",
-          checkoutby: "",
-          creator: "1(涓氬姟娴嬭瘯)",
-          createtime: "2023-04-12 20:25:28.642",
-          tuhao: "yy002",
-          beizhushuoming: "",
-          versionrule: "0",
-          jiliangdw: "涓�",
-          islastr: "1",
-          copyfromversion: "",
-          materialclassify: "",
-          lastmodifytime: "2023-04-12 20:25:28.642",
-          nameoid: "9BC308A8-35D7-49FD-4E49-B93CB21E22A3",
-          lcstatus: "Editing",
-          islastv: "1",
-          checkintime: "",
-          ts: "2023-04-12 20:25:28.642",
-        },
-      ],
-      loading: false,
-      templateOid: "",
-      codeClassifyOid: "",
-    };
-  },
-  methods: {
-    findLinkClick(data) {
-      this.visible = true;
-      // findLike(data).then((res) => {
-      //   this.tableData = res.data.data
-      // });
-    },
-    openFormTemlpate(row) {
-      this.codetemplateoid = row.codetemplateoid;
-      this.codeClassifyOid = row.codeclsfid;
-      this.templateVisible = true;
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped></style>
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue
new file mode 100644
index 0000000..b827c1f
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue
@@ -0,0 +1,762 @@
+<template>
+  <avue-form v-model="form" :option="option" v-loading="loading" ref="form">
+    <template :slot="item.prop + 'Label'" v-for="item in option.column">
+      <span>
+        <span>{{ item.label }} </span>
+        <el-tooltip
+          v-if="item.keyAttr"
+          class="item"
+          effect="dark"
+          content="璇ュ睘鎬т负鍏抽敭灞炴��"
+          placement="top-start"
+        >
+          <i class="el-icon-star-on key_attr_icon"></i>
+        </el-tooltip>
+      </span>
+    </template>
+  </avue-form>
+</template>
+
+<script>
+import { getFormTemplate } from "@/api/formTemplate";
+import { getDictionary } from "../../api/system/dict";
+export default {
+  name: "FormTemplate",
+  props: {
+    disabledProp: {
+      type: Array,
+      default: () => ["id"],
+    },
+    templateOid: {
+      type: String,
+      default: "",
+    },
+    codeClassifyOid: {
+      type: String,
+      default: "",
+    },
+    editForm: {
+      type: Object,
+      default: () => ({}),
+    },
+    type: {
+      type: String,
+      default: "add",
+    },
+    dialogOpen: {
+      type: Boolean,
+      default: false,
+    },
+    selfColumnType: {
+      type: Object,
+      default: () => ({}),
+    },
+    selfColumnConfig: {
+      type: Object,
+      default: () => ({}),
+    },
+  },
+  data() {
+    return {
+      formIndex: 0,
+      form: {},
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        labelWidth: "130",
+        column: [],
+        group: [],
+      },
+      loading: false,
+      templateData: {},
+      columnType: {
+        text: "input",
+        combox: "select",
+        truefalse: "switch",
+        number: "number",
+        textarea: "textarea",
+        datetime: "datetime",
+        date: "date",
+      },
+      // 鍋囨暟鎹�
+      testItems: [
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "id",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "浼犲�肩鐢ㄥ姛鑳�",
+          tooltips: "",
+          type: "combox",
+          unique: false,
+          verify: "",
+        },
+        {
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "state",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: true,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "鎺ュ彛绂佺敤鍔熻兘",
+          tooltips: "",
+          type: "combox",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "oldcode",
+          hidden: false,
+          keyAttr: false,
+          prefix: "el-icon-search",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "鏂囨湰鍚庣紑娴嬭瘯",
+          text: "鍓嶅悗缂�鍔熻兘",
+          tooltips: "",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "materialname",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: true,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "姝e垯鏍¢獙鍔熻兘",
+          tooltips: "璇疯緭鍏ユ暟瀛�",
+          type: "text",
+          unique: false,
+          verify: "/[0-9]/",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: [
+            {
+              attributes: {},
+              key: "model_type",
+              value: "妯″瀷",
+            },
+            {
+              attributes: {},
+              key: "part_type",
+              value: "闆朵欢",
+            },
+          ],
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "dataSelect",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "鐩存帴杩斿洖涓嬫媺",
+          tooltips: "",
+          type: "combox",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: "formTemplateTest",
+          customClass: null,
+          data: [],
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "dictSelect",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "瀛楀吀杩斿洖涓嬫媺",
+          tooltips: "",
+          type: "combox",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "firstfl",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "鏁板瓧杈撳叆妗�",
+          tooltips: "",
+          type: "number",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "yyyy-MM-dd HH:mm:ss",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "datetime",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "鏃ユ湡鏃堕棿閫夋嫨鍣�",
+          tooltips: "",
+          type: "datetime",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "time",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "鏃堕棿閫夋嫨鍣�",
+          tooltips: "",
+          type: "date",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "false",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "xiaoshouwl",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "寮�鍏�",
+          tooltips: "",
+          type: "truefalse",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "鎴戞槸榛樿鍊�",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "tuhao",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "榛樿鍊煎姛鑳�",
+          tooltips: "鎻愮ず",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "xinghaoguige",
+          hidden: false,
+          keyAttr: true,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "灞炴�у叧閿��",
+          tooltips: "",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "jiliangdw",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          tip: "鎴戞槸鎻愮ず鍔熻兘",
+          required: false,
+          selectLibFlag: "",
+          showField: "jiliangdwname",
+          suffix: "",
+          text: "鎻愮ず鍔熻兘",
+          tooltips: "",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "fun1",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "鍙傛暟1娴嬭瘯js",
+          tooltips: "",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "fun2",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          required: false,
+          selectLibFlag: "",
+          showField: "hesuanfenleiname",
+          suffix: "",
+          text: "鍙傛暟2娴嬭瘯js",
+          tooltips: "",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: "",
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "sum",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: true,
+          required: false,
+          selectLibFlag: "",
+          showField: "",
+          suffix: "",
+          text: "鍙傛暟1鍙傛暟2姹傚拰",
+          tooltips: "",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "textarea",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: false,
+          referConfig: null,
+          required: false,
+          selectLibFlag: "",
+          showField: null,
+          suffix: "",
+          text: "鏂囨湰鍩�",
+          tooltips: "",
+          type: "textarea",
+          unique: false,
+          verify: "",
+        },
+        {
+          comboxKey: null,
+          customClass: null,
+          data: null,
+          dateFormate: "",
+          defaultValue: "",
+          displayExtension: null,
+          extendAttrMap: null,
+          extendAttrString: null,
+          field: "cz",
+          hidden: false,
+          keyAttr: false,
+          prefix: "",
+          readOnly: true,
+          referConfig: true,
+          required: false,
+          selectLibFlag: "",
+          showField: "depId",
+          suffix: "",
+          text: "鍙傜収",
+          tooltips: "",
+          type: "text",
+          unique: false,
+          verify: "",
+        },
+      ],
+      trendsSpan: 8,
+      defaultValue: {},
+      // 琛ㄥ崟灞炴��
+      attributes: [],
+      // 琛ㄥ崟鍏冪礌
+      items: [],
+    };
+  },
+  mounted() {
+    this.handleResize();
+  },
+  methods: {
+    getFormTemplate() {
+      this.loading = true;
+      getFormTemplate({
+        templateOid: this.templateOid,
+        codeClassifyOid: this.codeClassifyOid,
+      })
+        .then((res) => {
+          if (res.status === 200) {
+            this.templateData = res.data;
+            // 琛ㄥ崟鍏冪礌锛堣繃婊ら渶瑕侀殣钘忕殑灞炴�э級
+            this.items = res.data.formDefineVO.items;
+            this.templateRender();
+            this.$emit("getFormTemplateEnd", res.data);
+          }
+          this.loading = false;
+        })
+        .catch((err) => {
+          this.loading = false;
+          console.log(err);
+        });
+    },
+    templateRender() {
+      // 鏃犻渶鍒嗙粍鏁版嵁
+      let column = [];
+      let group = [];
+      let dictKeys = [];
+      this.items.forEach((formItem) => {
+        if (formItem.type === "line") {
+          group.push({
+            label: formItem.text,
+            prop: formItem.text,
+            collapse: true,
+            column: [],
+          });
+        }
+        if (
+          formItem.type === "combox" &&
+          formItem.comboxKey &&
+          (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0)
+        ) {
+          dictKeys.push({ dictKey: formItem.comboxKey, field: formItem.field });
+        }
+        // 绂佺敤閮ㄥ垎灞炴�э紙澶栭儴浼犲�肩鐢ㄥ拰鍙傜収绂佺敤锛�
+        if (
+          this.disabledProp.includes(formItem.field) ||
+          this.$utilFunc.isValuableObj(formItem.referConfig)
+        ) {
+          formItem.readOnly = true;
+        }
+        // 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰
+        let message = "璇烽�夋嫨";
+        let trigger = "change";
+        if (formItem.type === "text") {
+          message = "璇疯緭鍏�";
+          trigger = "blur";
+        } else if (formItem.type === "file") {
+          message = "璇蜂笂浼�";
+        }
+        let columnItem = {
+          label: formItem.text,
+          labelslot: true,
+          prop: this.$utilFunc.isValuableObj(formItem.referConfig)
+            ? formItem.showField || formItem.field
+            : formItem.field,
+          field: formItem.field,
+          type: this.columnType[formItem.type],
+          dicData: this.getDataList(formItem.type, formItem.data),
+          disabled: this.type === "detail" ? true : formItem.readOnly,
+          prepend: this.preOrSufFixShow("text", formItem.prefix),
+          append: this.preOrSufFixShow("text", formItem.suffix),
+          prefixIcon: this.preOrSufFixShow("icon", formItem.prefix),
+          suffixIcon: this.preOrSufFixShow("icon", formItem.suffix),
+          valueFormat: formItem.dateFormate,
+          format: formItem.dateFormate,
+          keyAttr: formItem.keyAttr,
+          value: formItem.defaultValue,
+          tip: formItem.tooltips,
+          tipPlacement: "right",
+          comboxKey: formItem.comboxKey,
+          display: !formItem.hidden,
+          filterable: true,
+          change: () => {
+            this.changeFun(formItem.displayExtension, formItem.prop);
+          },
+          span: formItem.type === "textarea" ? 24 : this.trendsSpan,
+          click: this.clickFun(formItem.referConfig),
+          rules: [
+            {
+              required: formItem.required,
+              message: `璇�${message}${formItem.text}`,
+              trigger,
+            },
+            {
+              // 濡傛灉娌℃湁姝e垯鍒欏尮閰嶄换浣曞瓧绗�
+              pattern: formItem.verify ? formItem.verify : /[\s\S.]*/g,
+              message: formItem.tooltips,
+              trigger,
+            },
+          ],
+          props: {
+            label: "value",
+            value: "key",
+          },
+        };
+        columnItem = this.resetFormConfig(columnItem);
+        if (group.length === 0) {
+          column.push(columnItem);
+        } else {
+          group[group.length - 1]["column"].push(columnItem);
+        }
+      });
+      this.$set(this.option, "column", column);
+      this.$set(this.option, "group", group);
+      this.formIndex++;
+      this.geDictData(dictKeys);
+    },
+    // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
+    resetFormConfig(formItem) {
+      for (const key in this.selfColumnConfig) {
+        if (Object.hasOwnProperty.call(this.selfColumnConfig, key)) {
+          const element = this.selfColumnConfig[key];
+          formItem[key] = element;
+        }
+      }
+      return formItem;
+    },
+    handleResize() {
+      let windowWidth = document.body.clientWidth;
+      this.trendsSpan = 24 / Math.floor(windowWidth / 500);
+      this.formIndex++;
+    },
+    // 鍓嶅悗缂�
+    preOrSufFixShow(type, val) {
+      if (this.$utilFunc.isEmpty(val) && typeof val !== "string") return;
+      const isIcon = val.slice(0, 8) === "el-icon-";
+      if ((type === "text" && !isIcon) || (type === "icon" && isIcon)) {
+        return val;
+      }
+    },
+    changeFun(displayExtension, prop) {
+      // executeCode({displayExtension, data: this.form}).then(res => {
+      //   this.form[prop] = res.data.data
+      // })
+    },
+    clickFun(referConfig) {
+      if (this.type === "detail") {
+        return;
+      }
+    },
+    // 鑾峰彇swich鍜屽凡鎷垮埌鐨勪笅鎷夋暟鎹�
+    getDataList(type, dicData) {
+      if (type === "truefalse") {
+        return [
+          {
+            key: false,
+            value: "鍚�",
+          },
+          {
+            key: true,
+            value: "鏄�",
+          },
+        ];
+      } else if (type === "combox") {
+        return dicData;
+      }
+      return [];
+    },
+    // 鑾峰彇瀛楀吀鏁版嵁
+    geDictData(dictKeys) {
+      dictKeys.forEach((dictObj) => {
+        getDictionary({ code: dictObj.dictKey }).then((res) => {
+          if (res.data && res.data.code === 200) {
+            this.option.column = this.option.column.map((item) => {
+              if (item.field === dictObj.field) {
+                let dictData = (res.data.data || []).map((itm) => {
+                  itm.value = itm.dictValue;
+                  itm.key = itm.dictKey;
+                  return itm;
+                });
+                item.dicData = dictData;
+              }
+              return item;
+            });
+          }
+        });
+      });
+    },
+  },
+  watch: {
+    dialogOpen: {
+      immediate: true,
+      handler(newV) {
+        if (newV) {
+          this.getFormTemplate();
+        }
+      },
+    },
+    form: {
+      deep: true,
+      immediate: true,
+      handler(newV) {
+        this.$emit("getFormData", newV);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue b/Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue
new file mode 100644
index 0000000..894b3c0
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue
@@ -0,0 +1,184 @@
+<template>
+  <div>
+    <el-table :data="tableData" v-loading="loading" height="250" :border="true">
+      <el-table-column
+        type="index"
+        width="60"
+        label="搴忓彿"
+        align="center"
+      ></el-table-column>
+      <el-table-column
+        v-for="item in column[0]"
+        :key="item.field"
+        :prop="item.field"
+        :label="item.title"
+        :min-width="item.width"
+        align="center"
+      >
+        <template #default="{ row }" v-if="item.field === 'id'">
+          <el-button type="text" @click="openFormTemlpate(row)">{{
+            row.id
+          }}</el-button>
+        </template>
+        <template #default="{ row }" v-else>
+          <span>{{ row[item.field] }}</span>
+        </template>
+      </el-table-column>
+    </el-table>
+    <FormTemplate
+      ref="FormTemplate"
+      type="detail"
+      :visible.sync="formTemplateVisible"
+      :templateOid="this.resembleTemplateOid"
+      :codeClassifyOid="this.resembleCodeClassifyOid"
+    ></FormTemplate>
+  </div>
+</template>
+
+<script>
+import { findLike } from "@/api/formTemplate.js";
+
+export default {
+  name: "ResembleQuery",
+  props: {
+    column: {
+      type: Array,
+      default: () => [],
+    },
+    codeClassifyOid: {
+      type: String,
+      default: "",
+    },
+    templateOid: {
+      type: String,
+      default: "",
+    },
+    hasResemble: {
+      type: Boolean,
+      default: false,
+    },
+    type: {
+      type: String,
+      default: "add",
+    },
+    form: {
+      type: Object,
+      default: () => ({}),
+    },
+    codeRuleOid: {
+      type: String,
+      default: ''
+    }
+  },
+  data() {
+    return {
+      tableVisible: true,
+      formTemplateVisible: false,
+      activeName: "findlike",
+      tableData: [],
+      loading: false,
+      resembleTemplateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
+      resembleCodeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
+      defaultValue: {},
+      secVOList: [],
+      defaultKeys: [
+        "oid",
+        "id",
+        "name",
+        "description",
+        "revisionoid",
+        "nameoid",
+        "btmname",
+        "lastr",
+        "firstr",
+        "lastv",
+        "firstv",
+        "creator",
+        "createtime",
+        "lastModifier",
+        "lastmodifytime",
+        "revisionrule",
+        "revisionseq",
+        "revisionvalue",
+        "versionrule",
+        "versionseq",
+        "versionvalue",
+        "lcstatus",
+        "ts",
+        "owner",
+        "checkinby",
+        "checkintime",
+        "checkoutby",
+        "checkouttime",
+        "copyfromversion",
+        "secretgrade",
+      ],
+      formItems: [],
+    };
+  },
+  created() {
+    this.getCodeRule();
+  },
+  computed: {
+    showCodeOrder() {
+      if (this.type === "add") {
+        if (this.secVOList.length == 0 && this.hasResemble) {
+          return false;
+        }
+      } else {
+        if (this.hasResemble) {
+          return false;
+        }
+      }
+      return true;
+    },
+  },
+  methods: {
+    // 鐩镐技椤规煡璇�
+    resembleQuery(form) {
+      this.loading = true;
+      this.activeName = "findlike";
+      const { defaultValue, formValue } = this.getDefaultValueAndFormValues(form);
+      let params = {
+        codeClassifyOid: this.codeClassifyOid,
+        codeRuleOid: this.codeRuleOid,
+        templateOid: this.templateOid,
+        data: formValue,
+      };
+      params = Object.assign(params, defaultValue);
+      this.tableVisible = true;
+      findLike(params).then((res) => {
+        this.loading = false;
+        this.tableData = res.data.data || [];
+      });
+    },
+    
+    openFormTemlpate(row) {
+      this.$nextTick(() => {
+        console.log(this.$refs.FormTemplate);
+      });
+      this.codetemplateoid = row.codetemplateoid;
+      this.formTemplateVisible = true;
+    },
+    getDefaultValueAndFormValues(form) {
+      let defaultValue = {};
+      let formValue = {};
+      for (const key in form) {
+        if (Object.hasOwnProperty.call(form, key)) {
+          const element = form[key];
+          if (this.defaultKeys.includes(key)) {
+            defaultValue[key] = element;
+          } else {
+            formValue[key] = element;
+          }
+        }
+      }
+      return {
+        defaultValue,
+        formValue,
+      };
+    },
+  },
+  
+};
+</script>
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 0bb85c0..8a1c2d1 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -5,574 +5,82 @@
     top="0vh"
     :title="title"
     class="avue-dialog avue-dialog--top"
-    :width="dialogOptions.width"
+    :width="width"
     append-to-body
-    v-if="dialogVisible"
   >
-    <avue-form
-      v-model="form"
-      :option="option"
-      v-loading="loading"
-      ref="form"
-      :key="index"
-    >
-      <template :slot="item.prop + 'Label'" v-for="item in option.column">
-        <span>
-          <span>{{ item.label }} </span>
-          <el-tooltip
-            v-if="item.keyAttr"
-            class="item"
-            effect="dark"
-            content="璇ュ睘鎬т负鍏抽敭灞炴��"
-            placement="top-start"
-          >
-            <i class="el-icon-star-on key_attr_icon"></i>
-          </el-tooltip>
-          <el-tooltip
-            v-if="item.tip"
-            class="item"
-            effect="dark"
-            :content="item.tip"
-            placement="top-start"
-          >
-            <i class="el-icon-warning"></i>
-          </el-tooltip>
-        </span>
-      </template>
-      <template :slot="item.prop + ''" v-for="item in option.column">
-        <vciWebRefer v-if="item.type=='refer'" :value="item.value" :options="item.referConfig"></vciWebRefer>
-      </template>
-    </avue-form>
-    <FindLike ref="findLike"></FindLike>
+    <FormTempalte
+      v-bind="$attrs"
+      :dialogOpen="visible"
+      :type="type"
+      @getFormTemplateEnd="getFormTemplate"
+      @getFormData="getFormData"
+    ></FormTempalte>
+
+    <div class="tab_box">
+      <el-tabs v-model="activeName" type="card">
+        <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply">
+          <CodeApply v-bind="$attrs"></CodeApply>
+        </el-tab-pane>
+        <el-tab-pane
+          label="鐩镐技椤规煡璇�"
+          name="resembleQuery"
+          v-if="showResembleQuery"
+        >
+          <ResembleQuery
+            v-bind="$attrs"
+            ref="resembleQueryRef"
+            :hasResemble="this.hasResemble"
+            :column="this.resembleTableColumn"
+            :form="this.form"
+          ></ResembleQuery>
+        </el-tab-pane>
+      </el-tabs>
+    </div>
     <div class="avue-dialog__footer" v-if="type !== 'detail'">
       <el-button @click="close()">鍙� 娑�</el-button>
-      <el-button @click="close()" type="primary" :loading="submitBtnLoading">纭� 瀹�</el-button>
-      <el-button @click="findLinkSubmit" type="primary">鐩镐技鍍忔煡璇�</el-button>
+      <el-button @click="close()" type="primary" :loading="submitBtnLoading"
+        >纭� 瀹�</el-button
+      >
+      <el-button @click="resembleQuerySubmit" type="primary" v-if="hasResemble"
+        >鐩镐技鍍忔煡璇�</el-button
+      >
     </div>
   </el-dialog>
 </template>
 
 <script>
-import { getFormTemplate, executeCode, findLike } from "@/api/formTemplate";
-import { getDictionary } from "../../api/system/dict";
-import FindLike from "./FindLike.vue";
-import vciWebRefer from "../refer/vciWebRefer.vue";
+import FormTempalte from "./FormTempalte";
+import ResembleQuery from "./ResembleQuery";
+import CodeApply from "./CodeApply";
 export default {
-  name: "FormTemplate",
-  components: { FindLike ,vciWebRefer},
+  name: "FormTemplateDialog",
+  components: { ResembleQuery, FormTempalte, CodeApply },
   props: {
     visible: {
       type: Boolean,
       default: false,
     },
-    disabledProp: {
-      type: Array,
-      default: () => ["id"],
-    },
-    templateOid: {
-      type: String,
-      default: "",
-    },
-    codeClassifyOid: {
-      type: String,
-      default: "",
-    },
     type: {
       type: String,
-      default: 'add'
+      default: "add",
     },
     title: {
       type: String,
-      default: '琛ㄥ崟妯℃澘'
-    }
+      default: "琛ㄥ崟妯℃澘",
+    },
+    width: {
+      type: String,
+      default: "80%",
+    },
   },
   data() {
     return {
-      index: 0,
-      form: {},
       loading: false,
-      dialogOptions: {
-        width: "60%",
-      },
-      option: {
-        emptyBtn: false,
-        submitBtn: false,
-        labelWidth: "120",
-        column: [],
-      },
-      templateData: {},
-      columnType: {
-        text: "input",
-        combox: "select",
-        truefalse: "switch",
-        number: "number",
-        textarea: "textarea",
-        datetime: "datetime",
-        date: "date",
-        refer:'refer'
-      },
-      // 鍋囨暟鎹�
-      testItems: [
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "id",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "浼犲�肩鐢ㄥ姛鑳�",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "state",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: true,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鎺ュ彛绂佺敤鍔熻兘",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "oldcode",
-          hidden: false,
-          keyAttr: false,
-          prefix: "el-icon-search",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "鏂囨湰鍚庣紑娴嬭瘯",
-          text: "鍓嶅悗缂�鍔熻兘",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "materialname",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: true,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "姝e垯鏍¢獙鍔熻兘",
-          tooltips: "璇疯緭鍏ユ暟瀛�",
-          type: "text",
-          unique: false,
-          verify: "/[0-9]/",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: [
-            {
-              attributes: {},
-              key: "model_type",
-              value: "妯″瀷",
-            },
-            {
-              attributes: {},
-              key: "part_type",
-              value: "闆朵欢",
-            },
-          ],
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "dataSelect",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鐩存帴杩斿洖涓嬫媺",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: "formTemplateTest",
-          customClass: null,
-          data: [],
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "dictSelect",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "瀛楀吀杩斿洖涓嬫媺",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "firstfl",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏁板瓧杈撳叆妗�",
-          tooltips: "",
-          type: "number",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "yyyy-MM-dd HH:mm:ss",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "datetime",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏃ユ湡鏃堕棿閫夋嫨鍣�",
-          tooltips: "",
-          type: "datetime",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "time",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏃堕棿閫夋嫨鍣�",
-          tooltips: "",
-          type: "date",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "false",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "xiaoshouwl",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "寮�鍏�",
-          tooltips: "",
-          type: "truefalse",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "鎴戞槸榛樿鍊�",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "tuhao",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "榛樿鍊煎姛鑳�",
-          tooltips: "鎻愮ず",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "xinghaoguige",
-          hidden: false,
-          keyAttr: true,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "灞炴�у叧閿��",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "jiliangdw",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          tip: "鎴戞槸鎻愮ず鍔熻兘",
-          required: false,
-          selectLibFlag: "",
-          showField: "jiliangdwname",
-          suffix: "",
-          text: "鎻愮ず鍔熻兘",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "fun1",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鍙傛暟1娴嬭瘯js",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "fun2",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          required: false,
-          selectLibFlag: "",
-          showField: "hesuanfenleiname",
-          suffix: "",
-          text: "鍙傛暟2娴嬭瘯js",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: "",
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "sum",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: true,
-          required: false,
-          selectLibFlag: "",
-          showField: "",
-          suffix: "",
-          text: "鍙傛暟1鍙傛暟2姹傚拰",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "textarea",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏂囨湰鍩�",
-          tooltips: "",
-          type: "textarea",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "cz",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: true,
-          referConfig: true,
-          required: false,
-          selectLibFlag: "",
-          showField: "depId",
-          suffix: "",
-          text: "鍙傜収",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-      ],
-      submitBtnLoading: false
+      submitBtnLoading: false,
+      hasResemble: false,
+      resembleTableColumn: [],
+      activeName: "resembleQuery",
+      form: {}
     };
   },
   created() {},
@@ -585,171 +93,38 @@
         this.$emit("update:visible", val);
       },
     },
+    showCodeApply() {
+      if (this.type === "add") {
+        if (this.hasResemble && this.resembleTableColumn.length === 0) {
+          return false;
+        }
+      } else {
+        if (this.hasResemble) {
+          return false;
+        }
+      }
+      return true;
+    },
+    showResembleQuery() {
+      return this.hasResemble;
+    },
   },
   methods: {
-    getFormTemplate() {
-      this.loading = true;
-      getFormTemplate({
-        templateOid: this.templateOid,
-        codeClassifyOid: this.codeClassifyOid,
-      })
-        .then((res) => {
-          if (res.status === 200) {
-            this.templateData = res.data;
-            this.templateRender();
-          }
-          this.loading = false;
-          console.log(res.data);
-        })
-        .catch((err) => {
-          this.loading = false;
-          console.log(err);
-        });
+    close() {
+      this.dialogVisible = false;
     },
-    templateRender() {
-      const items = this.templateData.formDefineVO.items;
-      let column = [];
-      let dictKeys = [];
-      items.forEach((item) => {
-        // 闅愯棌琛ㄥ崟鍏冪礌
-        if (item.hide) {
-          return;
-        }
-        if (
-          item.type === "combox" &&
-          item.comboxKey &&
-          (!Array.isArray(item.dicData) || item.dicData.length === 0)
-        ) {
-          dictKeys.push({ dictKey: item.comboxKey, field: item.field });
-        }
-        // 绂佺敤閮ㄥ垎灞炴�э紙澶栭儴浼犲�肩鐢ㄥ拰鍙傜収绂佺敤锛�
-        if (this.disabledProp.includes(item.field) || this.$utilFunc.isValuableObj(item.referConfig)) {
-          item.readOnly = true;
-        }
-        // 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰
-        let message = "璇烽�夋嫨";
-        let trigger = "change";
-        if (item.type === "text") {
-          message = "璇疯緭鍏�";
-          trigger = "blur";
-        } else if (item.type === "file") {
-          message = "璇蜂笂浼�";
-        }
-        let columnItem = {
-          label: item.text,
-          labelslot: true,
-          prop: this.$utilFunc.isValuableObj(item.referConfig) ? (item.showField || item.field) : item.field,
-          type: this.columnType[item.type],
-          dicData: this.getDataList(item.type, item.data),
-          disabled: this.type === 'detail' ? true : item.readOnly,
-          prepend: this.preOrSufFixShow("text", item.prefix),
-          append: this.preOrSufFixShow("text", item.suffix),
-          prefixIcon: this.preOrSufFixShow("icon", item.prefix),
-          suffixIcon: this.preOrSufFixShow("icon", item.suffix),
-          valueFormat: item.dateFormate,
-          format: item.dateFormate,
-          keyAttr: item.keyAttr,
-          value: item.defaultValue,
-          tip: item.tip,
-          comboxKey: item.comboxKey,
-          referConfig:item.referConfig,
-          change: () => {
-            this.changeFun(item.displayExtension, item.prop);
-          },
-          span: item.type === "file" || item.type === "textarea" ? 24 : null,
-          click: this.clickFun(item.referConfig),
-          rules: [
-            {
-              required: item.required,
-              message: `璇�${message}${item.text}`,
-              trigger,
-            },
-            {
-              // 濡傛灉娌℃湁姝e垯鍒欏尮閰嶄换浣曞瓧绗�
-              pattern: item.verify ? item.verify : /[\s\S.]*/g,
-              message: item.tooltips,
-              trigger,
-            },
-          ],
-          props: {
-            label: "value",
-            value: "key",
-          },
-        };
-        column.push(columnItem);
-        this.$set(this.option, "column", column);
-      });
-      this.index++;
-      this.geDictData(dictKeys);
+    getFormTemplate(data) {
+      this.hasResemble =
+        data.resembleTableVO &&
+        data.resembleTableVO.cols &&
+        data.resembleTableVO.cols.length > 0;
+      this.resembleTableColumn = data.resembleTableVO.cols || [];
     },
-    changeFun(displayExtension, prop) {
-      // executeCode({displayExtension, data: this.form}).then(res => {
-      //   this.form[prop] = res.data.data
-      // })
+    getFormData(form) {
+      this.form = form
     },
-    clickFun(referConfig) {
-      if (this.type === 'detail') {
-        return
-      }
-    },
-    // 鍓嶅悗缂�
-    preOrSufFixShow(type, val) {
-      if (this.$utilFunc.isEmpty(val) && typeof val !== "string") return;
-      const isIcon = val.slice(0, 8) === "el-icon-";
-      if ((type === "text" && !isIcon) || (type === "icon" && isIcon)) {
-        return val;
-      }
-    },
-    // 鑾峰彇swich鍜屽凡鎷垮埌鐨勪笅鎷夋暟鎹�
-    getDataList(type, dicData) {
-      if (type === "truefalse") {
-        return [
-          {
-            key: false,
-            value: "鍚�",
-          },
-          {
-            key: true,
-            value: "鏄�",
-          },
-        ];
-      } else if (type === "combox") {
-        return dicData;
-      }
-      return [];
-    },
-    // 鑾峰彇瀛楀吀鏁版嵁
-    geDictData(dictKeys) {
-      dictKeys.forEach((dictObj) => {
-        getDictionary({ code: dictObj.dictKey }).then((res) => {
-          if (res.data && res.data.code === 200) {
-            this.option.column = this.option.column.map((item) => {
-              if (item.field === dictObj.field) {
-                let dictData = (res.data.data || []).map((itm) => {
-                  itm.value = itm.dictValue;
-                  itm.key = itm.dictKey;
-                  return itm;
-                });
-                item.dicData = dictData;
-              }
-              return item;
-            });
-          }
-        });
-      });
-    },
-    findLinkSubmit() {
-      this.templateData.templateVO.data = this.form
-      console.log(this.$refs.findLike, 'this.$refs.findLike');
-      this.$refs.findLike.findLinkClick(this.templateData.templateVO)
-    }
-  },
-  watch: {
-    visible(newV) {
-      if (newV) {
-        this.getFormTemplate();
-        // this.templateRender()
-      }
+    resembleQuerySubmit() {
+      this.$refs.resembleQueryRef.resembleQuery(this.form);
     },
   },
 };
diff --git a/Source/UBCS-WEB/src/main.js b/Source/UBCS-WEB/src/main.js
index 3cf0e47..0ea5d3e 100644
--- a/Source/UBCS-WEB/src/main.js
+++ b/Source/UBCS-WEB/src/main.js
@@ -42,6 +42,7 @@
 import businessAdd from "@/views/modeling/BusinessAdd"
 import TableCrud from "@/components/Crud/Crud"
 import originalAdd from "@/views/modeling/originalAdd"
+import FormTemplateDialog from "@/components/FormTemplate/index"
 
 // 灏嗗伐鍏峰嚱鏁版坊鍔犲埌鍏ㄥ眬
 import utilFunc from './util/func'
@@ -85,7 +86,7 @@
 Vue.component('attrCrud',attrCrud)
 Vue.component('TableCrud',TableCrud)
 Vue.component('originalAdd',originalAdd)
-
+Vue.component('FormTemplateDialog',FormTemplateDialog)
 
 // 鍔犺浇鐩稿叧url鍦板潃
 Object.keys(urls).forEach(key => {
diff --git a/Source/UBCS-WEB/src/router/axios.js b/Source/UBCS-WEB/src/router/axios.js
index 64b38fe..7801ad2 100644
--- a/Source/UBCS-WEB/src/router/axios.js
+++ b/Source/UBCS-WEB/src/router/axios.js
@@ -17,7 +17,7 @@
 import 'nprogress/nprogress.css';
 
 //榛樿瓒呮椂鏃堕棿
-axios.defaults.timeout = 10000;
+axios.defaults.timeout = 20000;
 //杩斿洖鍏朵粬鐘舵�佺爜
 axios.defaults.validateStatus = function (status) {
   return status >= 200 && status <= 500;
diff --git a/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue b/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue
index 0ab521c..7630e2b 100644
--- a/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue
+++ b/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue
@@ -1,18 +1,33 @@
 <template>
   <div>
     <el-button @click="visible = true">娴嬭瘯</el-button>
-    <FormTemplate :visible.sync="visible" templateOid="78B8C7C5-A042-0B96-FE6D-65421451782A" codeClassifyOid="4524E801-6CC6-92E8-1AC3-2AB9604E8F96"></FormTemplate>
+    <FormTemplateDialog
+      :visible.sync="visible"
+      :FormTemplateProp="FormTemplateProp"
+      :type="this.type"
+      :editForm="editForm"
+      :templateOid="this.templateOid"
+      :codeClassifyOid="this.codeClassifyOid"
+      :disabledProp="disabledProp"
+    ></FormTemplateDialog>
   </div>
-</template>codeClassifyOid
+</template>
+codeClassifyOid
 
 <script>
-import FormTemplate from "../../components/FormTemplate/index";
 export default {
   name: "FormTempalteTest",
-  components: { FormTemplate },
   data() {
     return {
       visible: false,
+      // 榛樿绂佺敤鐨勮〃鍏冪礌
+      disabledProp: ["id"],
+      // 淇敼鍥炴樉鐨勬暟鎹�
+      editForm: {},
+      // 琛ㄥ崟绫诲瀷
+      type: "add",
+      templateOid: "D32FC682-4376-A148-DF8D-6261206E6412",
+      codeClassifyOid: "91E05D2B-FEB2-6D41-5CE5-5B489615A29C",
     };
   },
 };
diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
index 37dd110..c18063d 100644
--- a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
+++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -6,16 +6,29 @@
                     <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
                     </el-input>
                     <el-menu :default-openeds="['1', '3']">
-                        <el-tree class="filter-tree" :data="treeData" :props="defaultProps" default-expand-all
-                            :filter-node-method="filterNode" ref="tree">
+                        <el-tree class="filter-tree" :data="treeData" accordion :props="defaultProps"
+                            :filter-node-method="filterNode" empty-text="鏆傛棤鏁版嵁" ref="tree" @node-click="handelTreeCell">
                         </el-tree>
                     </el-menu>
                 </el-aside>
             </el-card>
             <el-main>
                 <el-card>
-                    <avue-crud :data="tableData" :option="option" ref="crud" @row-update="addUpdate" @row-save="rowSave"
-                        @row-click="handleRowClick">
+                    <el-form :model="form">
+                        <el-form-item label="闆嗗洟鍒嗙被" label-width="70px" size="small">
+                            <el-select clearable ref="selectTree" v-model="form.groupValue" placeholder="璇烽�夋嫨"
+                                popper-class="popperTreeSelect">
+                                <el-option :value="groupVal" :label="groupVal"> 
+                                    <el-tree ref="groupTree" :data="groupTreeData" empty-text="鏆傛棤鏁版嵁" :props="defaultProps"
+                                        @node-click="handleNodeClick">
+                                    </el-tree>
+                                </el-option>
+                            </el-select>
+
+                        </el-form-item>
+                    </el-form>
+                    <avue-crud :table-loading="loading" :data="tableData" :option="option" ref="crud" @cell-class-name="handelCellRow"
+                        @cell-click="handleCellClick">
                         <template slot="menuLeft">
                             <el-button icon="el-icon-plus" size="small" type="primary" @click="dialogPush = true">鏂� 澧�
                             </el-button>
@@ -24,35 +37,40 @@
                             <el-button icon="el-icon-connection" size="small" type="primary" @click="handleSync">鍚屾妯″瀷
                             </el-button>
                         </template>
+                        <template slot="defaultValue" slot-scope="{scope}">
+                            <!-- <el-input v-model="scope.row.defaultValue" v-if="scope.row.index === tableRowIndex && scope.column.index === tableColumnIndex" @blur="inputBlur"> </el-input> -->
+                            <span>{{ scope }}</span>
+                        </template>
                     </avue-crud>
                     <el-card :style="{ marginTop: '20px' }">
-                        <avue-crud :data="tableData" :option="optinos" ref="crud" @row-update="addUpdate"
-                            @row-save="rowSave" @row-click="handleRowClick">
+                        <avue-crud :data="tablesData" :option="optinos" ref="crud" 
+                        @cell-click="handleCellClick">
                         </avue-crud>
                     </el-card>
                 </el-card>
-                <el-dialog title="缂栫爜灞炴��" :visible.sync="dialogPush" destroy-on-close append-to-body="true" width="30%"
-                    :before-close="handleClose">
-                    <el-form :model="form">
-                        <el-form-item label="鏌ヨ鏉′欢" label-width="70px" size="small">
-                            <el-input v-model="form.name" autocomplete="off" @change="handleQuery"></el-input>
-                        </el-form-item>
-                    </el-form>
-                    <p class="text_tip">*閫夋嫨鍒嗙被杩涜灞炴�ц繃婊�, 鎴栬�呰緭鍏ュ睘鎬х殑鍏ㄦ嫾鎴栬�呯畝鎷艰繘琛屾煡璇�! 濡�: 濮撳悕 (鍙緭鍏m鎴杧inming )</p>
-                    <transfer v-model="transferValue" :data="transferData" :filter-method="filterMethod"
-                        filter-placeholder="璇疯緭鍏ュ睘鎬ф嫾闊冲叏鎷兼垨鑰呮嫾闊崇缉鍐�" @left-check-change="handelLeftCheck"></transfer>
-                    <span slot="footer" class="dialog-footer">
-                        <el-button @click="dialogPush = false">鍙� 娑�</el-button>
-                        <el-button type="primary" @click="dialogVisible = false">淇� 瀛�</el-button>
-                    </span>
-                </el-dialog>
             </el-main>
         </el-container>
+        <el-dialog title="缂栫爜灞炴��" :visible.sync="dialogPush" append-to-body="true" destroy-on-close width="30%"
+            :before-close="handleClose">
+            <el-form :model="form">
+                <el-form-item label="鏌ヨ鏉′欢" label-width="70px" size="small">
+                    <el-input v-model="form.name" autocomplete="off" @change="handleQuery"></el-input>
+                </el-form-item>
+            </el-form>
+            <p class="text_tip">*閫夋嫨鍒嗙被杩涜灞炴�ц繃婊�, 鎴栬�呰緭鍏ュ睘鎬х殑鍏ㄦ嫾鎴栬�呯畝鎷艰繘琛屾煡璇�! 濡�: 濮撳悕 (鍙緭鍏m鎴杧inming )</p>
+            <transfer v-model="transferValue" :data="transferData" :filter-method="filterMethod"
+                filter-placeholder="璇疯緭鍏ュ睘鎬ф嫾闊冲叏鎷兼垨鑰呮嫾闊崇缉鍐�" @left-check-change="handelLeftCheck"></transfer>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="dialogPush = false">鍙� 娑�</el-button>
+                <el-button type="primary" @click="dialogPush = false">淇� 瀛�</el-button>
+            </span>
+        </el-dialog>
     </div>
 </template>
 <script>
 import transfer from '@/components/transfer/index'
 import pinyin from 'js-pinyin'
+import { referCodeClassifyTree, referTree, gridAttrMapping } from '@/api/integration/integration.js'
 export default {
     components: {
         transfer
@@ -75,94 +93,27 @@
         return {
             form: {
                 name: '',
+                groupValue: ''
             },
+            loading: false,
+            ishowTree: false,
+            search: '',
             transferData: generateData(),
             transferValue: [],
             dialogPush: false,
-            tableData: [
+            tableData: [],
+            tablesData: [
                 {
-                    id: 1,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 2,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 3,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 3,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 3,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 3,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 3,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 3,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
-                },
-                {
-                    id: 3,
-                    groupTypeName: '浜哄憳',
-                    codeView: '缂栫爜瑙嗗浘',
-                    sex: '鎬у埆',
-                    typeName: '铻烘爴',
-                    attributeName: '',
-                    defaultValue: '',
+                    id:'01',
+                    groupTypeName:'鏉庡洓',
+                    codeView:'寮犱笁',
+                    sex:'',
+                    typeName:''
                 }
             ],
             filterText: '',
+            tableRowIndex:null,
+            tableColumnIndex:null,
             optinos: {
                 title: '闆嗗洟灞炴��',
                 maxHeight: '300px',
@@ -182,8 +133,8 @@
                 column: [
                     { label: '灞炴�ч泦鍥㈡灇涓惧��', prop: 'groupTypeName', minWidth: 80, },
                     { label: '闆嗗洟灞炴�ф灇涓炬樉绀哄悕绉�', prop: 'codeView', minWidth: 80 },
-                    { label: 'MDM鏋氫妇鍊�', prop: 'sex', minWidth: 80 },
-                    { label: 'MDM鏋氫妇鏄剧ず鍚嶇О', prop: 'typeName', minWidth: 80, overHidden: true },
+                    { label: 'MDM鏋氫妇鍊�', prop: 'sex', minWidth: 80, cell: true },
+                    { label: 'MDM鏋氫妇鏄剧ず鍚嶇О', prop: 'typeName', minWidth: 80, cell: true },
                 ]
             },
             option: {
@@ -198,89 +149,91 @@
                 emptyBtn: false,
                 searchBtn: false,
                 searchShowBtn: false,
-                cellBtn: true,
+                cellBtn: false,
                 border: true,
                 searchMenuSpan: 8,
                 column: [
-                    {
-                        label: '闆嗗洟鍒嗙被',
-                        prop: 'groupTypeName',
-                        minWidth: 80,
-                        type: "select",
-                        dicUrl: "/api/ubcs-system/dict/dictionary?code=org_category",
-                        props: {
-                            label: "dictValue",
-                            value: "dictKey"
-                        },
-                        slot: true,
-                        search: true,
-                        rules: [{
-                            message: "璇疯緭鍏ラ泦鍥㈠垎绫诲悕绉�"
-                        }]
-                    },
-                    { label: '鎵�灞炶鍥�', prop: 'codeView', minWidth: 80 },
-                    { label: '闆嗗洟灞炴��', prop: 'sex', minWidth: 80 },
-                    { label: '鍒嗙被鍚嶇О', prop: 'typeName', minWidth: 80, overHidden: true },
-                    { label: '灞炴�у悕绉�', prop: 'attributeName', minWidth: 80, cell: true },
+                    { label: '闆嗗洟鍒嗙被', prop: 'sourceClassifyName', minWidth: 80, },
+                    { label: '鎵�灞炶鍥�', prop: 'viewName', minWidth: 80 },
+                    { label: '闆嗗洟灞炴��', prop: 'sourceAttrName', minWidth: 80 },
+                    { label: '鍒嗙被鍚嶇О', prop: 'targetClassifyName', minWidth: 80, overHidden: true },
+                    { label: '灞炴�у悕绉�', prop: 'targetAttrName', minWidth: 80},
                     { label: '榛樿鍊�', prop: 'defaultValue', minWidth: 140, cell: true },
                 ]
             },
-            treeData: [{
-                id: 1,
-                label: '涓�绾� 1',
-                children: [{
-                    id: 4,
-                    label: '浜岀骇 1-1',
-                    children: [{
-                        id: 9,
-                        label: '涓夌骇 1-1-1'
-                    }, {
-                        id: 10,
-                        label: '涓夌骇 1-1-2'
-                    }]
-                }]
-            }, {
-                id: 2,
-                label: '涓�绾� 2',
-                children: [{
-                    id: 5,
-                    label: '浜岀骇 2-1'
-                }, {
-                    id: 6,
-                    label: '浜岀骇 2-2'
-                }]
-            }, {
-                id: 3,
-                label: '涓�绾� 3',
-                children: [{
-                    id: 7,
-                    label: '浜岀骇 3-1'
-                }, {
-                    id: 8,
-                    label: '浜岀骇 3-2'
-                }]
-            }],
+            treeData: [],
+            groupTreeData: [],
             defaultProps: {
                 children: 'children',
-                label: 'label'
-            }
+                label: 'name',
+                id: 'oid',
+                isLeaf: ''
+            },
+            groupVal: '',
+            treeParam: {}
         }
     },
     watch: {
         filterText(val) {
+            console.log(this.$refs.tree)
             this.$refs.tree.filter(val);
         }
     },
     created() {
+        this.getReferCodeClassifyTree()
         pinyin.setOptions({ checkPolyphone: false, charCase: 1 });
         console.log(pinyin.getFullChars('绠$悊鍛�'))
         console.log(pinyin.getCamelChars('绠$悊鍛�'))
-
     },
     methods: {
+        async getReferCodeClassifyTree() {
+            const param = {
+                parentBtmName: "jclass",
+                valueField: "oid",
+                textField: "name",
+                parentFieldName: "id"
+            }
+            const response = await referCodeClassifyTree(param)
+            console.log(response)
+            if (response.status === 200) {
+                let data = response.data;
+                this.treeData = data.map(item => item.children ? { ...item, ...{ isLeaf: false } } : { ...item, ...{ isLeaf: true } })
+            }
+        },
+        async getlistCodeAttributeByClassId(oid) {
+            this.loading = true
+            console.log(this.treeParam)
+            const response = await gridAttrMapping({ sourceClassifyId: oid, ...this.treeParam })
+            console.log(response)
+            if (response.status === 200) {
+                this.loading = false
+                this.tableData = response.data.data
+            }
+        },
+        async referTree(oid, checked) {
+            this.groupTreeData = []
+            const response = await referTree({ 'conditionMap[codeclsfid]': oid, parentOid: null })
+            console.log(response)
+            if (response.status === 200) {
+                if (checked) {
+                    let items = response.data.map(item => {
+                        let obj = {}
+                        if (item.checked) obj = { ...item }
+                        else obj = null
+                        return obj
+                    })
+                    var r = items.filter(s => { return s && s.trim() });
+                    this.groupTreeData = r
+                } else {
+                    this.groupTreeData = response.data
+                }
+            }
+        },
         filterNode(value, data) {
+            console.log(value)
+            console.log(data)
             if (!value) return true;
-            return data.label.indexOf(value) !== -1;
+            return data.name.indexOf(value) !== -1;
         },
         handleSave() {
 
@@ -291,26 +244,46 @@
         handelLeftCheck(event) {
             console.log(event)
         },
-        addUpdate(event, done) {
-            console.log(event)
-            done()
-        },
-        rowSave(event, done) {
-            console.log(event)
-            done()
-        },
-        handleRowClick(row, event, column) {
-            console.log(row)
-            console.log(event)
-            console.log(column)
+        handelCellRow( {row, column, rowIndex, columnIndex }) {
+            row.index = rowIndex
+            column.index = columnIndex
         },
         handleQuery(event) {
             console.log(event)
             this.form.name = event
         },
-        filterMethod(query, item) {
+        filterMethod(item) {
             return item.pinyins.indexOf(this.form.name) > -1;
         },
+        handelTreeCell(event) {
+            console.log(event)
+            if (event.leaf) {
+                this.treeParam.codeClassifyId = event.oid
+                this.form.groupValue = ''
+                this.groupVal = ''
+                this.tableData = []
+                this.referTree(event.oid, event.checked)
+            }
+        },
+        handleNodeClick(data) {
+            console.log(data)
+            this.form.groupValue = data.name
+            this.groupVal = data.name
+            this.$refs.selectTree.blur()
+            this.getlistCodeAttributeByClassId(data.oid)
+        },
+        handleCellClick(row, column,cell, event) {
+            console.log(row)
+            console.log(column)
+            console.log(cell)
+            console.log(event)
+          this.tableRowIndex = row.index
+          this.tableColumnIndex = column.index
+        },
+        inputBlur() {
+            this.tableColumnIndex = ''
+            this.tableRowIndex = null
+        }
     }
 }
 </script>
@@ -320,6 +293,14 @@
     color: #F56C6C;
 }
 
+.setstyle {
+    min-height: 200px;
+    padding: 0 !important;
+    margin: 0;
+    overflow: auto;
+    cursor: default !important;
+}
+
 /deep/ .el-transfer-panel__list {
     width: 100%;
 }
diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index d3136dc..7543090 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -27,7 +27,8 @@
       '/api': {
         //鏈湴鏈嶅姟鎺ュ彛鍦板潃
           target: 'http://localhost:37000',
-        // target: 'http://192.168.3.7:37000',
+        // target: 'http://192.168.1.63:37000',
+        //target: 'http://192.168.3.7:37000',
         //target: 'http://dev.vci-tech.com:37000',
         //target: 'http://192.168.1.51:37000/',
         //杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩�
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
new file mode 100644
index 0000000..9ff7b57
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
@@ -0,0 +1,675 @@
+package com.vci.ubcs.code.dto;
+
+
+import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
+import com.vci.ubcs.code.vo.pagemodel.SysIntHeaderVO;
+import com.vci.ubcs.code.vo.pagemodel.SysIntParamVO;
+
+import java.util.List;
+
+/**
+ * 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄
+ *
+ * @author lihang
+ * @date 2022-03-07
+ */
+public class DockingSystemConfigDTO extends BaseModelVO {
+
+	/**
+     * 绂佹淇敼杩欎釜鍊�
+     */
+	private static final long serialVersionUID = 4615707120053955466L;
+
+
+	/**
+	 * 璁よ瘉鏂瑰紡
+	 */
+	private String authorityOid;
+
+	/**
+	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	private String authorityOidName;
+
+	/**
+	 * 璁よ瘉鏂瑰紡
+	 */
+	private String authorityType;
+
+	/**
+	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	private String authorityTypeText;
+
+	/**
+	 * 楠岃瘉鐢ㄦ埛
+	 */
+	private String userAccount;
+
+	/**
+	 * 楠岃瘉瀵嗙爜
+	 */
+	private String userCode;
+
+	/**
+	 * 楠岃瘉浠ょ墝
+	 */
+	private String token;
+
+	/**
+	 * 鎺ュ彛鍑芥暟
+	 */
+	private String interfaceFunction;
+
+	/**
+	 * 鎺ュ彛鎻忚堪
+	 */
+	private String description;
+
+
+	/**
+	 * 鎺ュ彛绫诲瀷
+	 */
+	private String interfaceType;
+
+
+	/**
+	 * 鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
+	 */
+	private String interfaceTypeText;
+	/**
+	 * 鍙傛暟绫诲瀷
+	 */
+	private String paramType;
+
+
+	/**
+	 * 鍙傛暟绫诲瀷鏄剧ず鏂囨湰
+	 */
+	private String paramTypeText;
+	/**
+	 * 璇锋眰鏂瑰紡
+	 */
+	private String requestMethod;
+
+
+	/**
+	 * 璇锋眰鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	private String requestMethodText;
+	/**
+	 * 鍒嗙被oid
+	 */
+	private String classifyOid;
+
+	/**
+	 * 鍚敤銆佸仠鐢╰rue/false锛屼笉鐢ㄥ钩鍙扮殑鏋氫妇锛屽噺灏戝骞冲彴鐨勮�﹀悎
+	 */
+	private String usedFlag;
+
+	/**
+	 * 鎺ㄩ�佺郴缁無id
+	 */
+	private String sysBaseOid;
+
+	/**
+	 * 鎺ㄩ�佺郴缁熺紪鍙�
+	 */
+	private String sysBaseId;
+
+	/**
+	 * 鎺ㄩ�佺郴缁熷悕绉�
+	 */
+	private String sysBaseName;
+
+	/**
+	 * 璇锋眰鍦板潃
+	 */
+	private String requestUrl;
+
+
+	/**
+	 * 杩斿洖鍊肩被鍨�
+	 */
+	private String returnType;
+
+
+	/**
+	 * 杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
+	 */
+	private String returnTypeText;
+	/**
+	 * 鏉ユ簮绯荤粺涓婚敭
+	 */
+	private String sourceSystemOid;
+
+	/**
+	 * 鏉ユ簮绯荤粺鍚嶇О
+	 */
+	private String sourceSysName;
+
+	/**
+	 * 鏉ユ簮绯荤粺鏍囪瘑
+	 */
+	private String sourceSysId;
+
+	/**
+	 * 鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
+	 */
+	private String sourceSystemOidName;
+
+	/**
+	 * 鐩爣绯荤粺涓婚敭
+	 */
+	private String targetSystemOid;
+
+	/**
+	 * 鐩爣绯荤粺鍚嶇О
+	 */
+	private String targetSysName;
+
+	/**
+	 * 鐩爣绯荤粺鏍囪瘑
+	 */
+	private String targetSysId;
+
+	/**
+	 * 鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
+	 */
+	private String targetSystemOidName;
+
+	/**
+	 * 绫昏矾寰�
+	 */
+	private String classPath;
+
+	/**
+	 * 鏁版嵁娴佸悜鏂瑰紡
+	 */
+	private String dataFlowType;
+
+	/**
+	 * 鏁版嵁娴佸悜鏂瑰紡鐨勬樉绀哄瓧娈�
+	 */
+	private String dataFlowTypeText;
+
+	/**
+	 * 瀛樺偍鐨勪笟鍔$被鍨�
+	 */
+	private String btmTypeId;
+
+	/**
+	 * 瀛樺偍鐨勪笟鍔$被鍨嬬殑涓枃鍚嶇О
+	 */
+	private String btmTypeName;
+
+	/**
+	 * 鍛藉悕绌洪棿
+	 */
+	private String namespace;
+
+	/**
+	 * soapAction
+	 */
+	private String soapAction;
+
+	/**
+	 * cxfaxis
+	 */
+	private String cxfAxis;
+
+	/**
+	 * 鍙傛暟鍚嶇О
+	 */
+	private String targetName;
+
+	/***
+	 * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��
+	 */
+	private String pushType;
+	/***
+	 * 鎺ㄩ�佺被鍨嬫樉绀哄��
+	 */
+	private String pushTypeText;
+
+	/**
+	 * 鍒嗙被id
+	 */
+	private String classifyId;
+
+	/**
+	 * 鍒嗙被鍚嶇О
+	 */
+	private String classifyName;
+
+	/***
+	 * 鍙傛暟淇℃伅瀵硅薄
+	 */
+	private List<SysIntParamVO> sysIntParamVOs;
+	/***
+	 * header淇℃伅瀵硅薄
+	 */
+	private List<SysIntHeaderVO> sysIntHeaderVOs;
+
+	public String getAuthorityOid() {
+		return authorityOid;
+	}
+
+	public void setAuthorityOid(String authorityOid) {
+		this.authorityOid = authorityOid;
+	}
+
+	public String getAuthorityOidName() {
+		return authorityOidName;
+	}
+
+	public void setAuthorityOidName(String authorityOidName) {
+		this.authorityOidName = authorityOidName;
+	}
+
+	public String getAuthorityType() {
+		return authorityType;
+	}
+
+	public void setAuthorityType(String authorityType) {
+		this.authorityType = authorityType;
+	}
+
+	public String getAuthorityTypeText() {
+		return authorityTypeText;
+	}
+
+	public void setAuthorityTypeText(String authorityTypeText) {
+		this.authorityTypeText = authorityTypeText;
+	}
+
+	public String getUserAccount() {
+		return userAccount;
+	}
+
+	public void setUserAccount(String userAccount) {
+		this.userAccount = userAccount;
+	}
+
+	public String getUserCode() {
+		return userCode;
+	}
+
+	public void setUserCode(String userCode) {
+		this.userCode = userCode;
+	}
+
+	public String getToken() {
+		return token;
+	}
+
+	public void setToken(String token) {
+		this.token = token;
+	}
+
+	public String getInterfaceFunction() {
+		return interfaceFunction;
+	}
+
+	public void setInterfaceFunction(String interfaceFunction) {
+		this.interfaceFunction = interfaceFunction;
+	}
+
+	@Override
+	public String getDescription() {
+		return description;
+	}
+
+	@Override
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public String getInterfaceType() {
+		return interfaceType;
+	}
+
+	public void setInterfaceType(String interfaceType) {
+		this.interfaceType = interfaceType;
+	}
+
+	public String getInterfaceTypeText() {
+		return interfaceTypeText;
+	}
+
+	public void setInterfaceTypeText(String interfaceTypeText) {
+		this.interfaceTypeText = interfaceTypeText;
+	}
+
+	public String getParamType() {
+		return paramType;
+	}
+
+	public void setParamType(String paramType) {
+		this.paramType = paramType;
+	}
+
+	public String getParamTypeText() {
+		return paramTypeText;
+	}
+
+	public void setParamTypeText(String paramTypeText) {
+		this.paramTypeText = paramTypeText;
+	}
+
+	public String getRequestMethod() {
+		return requestMethod;
+	}
+
+	public void setRequestMethod(String requestMethod) {
+		this.requestMethod = requestMethod;
+	}
+
+	public String getRequestMethodText() {
+		return requestMethodText;
+	}
+
+	public void setRequestMethodText(String requestMethodText) {
+		this.requestMethodText = requestMethodText;
+	}
+
+	public String getClassifyOid() {
+		return classifyOid;
+	}
+
+	public void setClassifyOid(String classifyOid) {
+		this.classifyOid = classifyOid;
+	}
+
+	public String getUsedFlag() {
+		return usedFlag;
+	}
+
+	public void setUsedFlag(String usedFlag) {
+		this.usedFlag = usedFlag;
+	}
+
+	public String getSysBaseOid() {
+		return sysBaseOid;
+	}
+
+	public void setSysBaseOid(String sysBaseOid) {
+		this.sysBaseOid = sysBaseOid;
+	}
+
+	public String getSysBaseId() {
+		return sysBaseId;
+	}
+
+	public void setSysBaseId(String sysBaseId) {
+		this.sysBaseId = sysBaseId;
+	}
+
+	public String getSysBaseName() {
+		return sysBaseName;
+	}
+
+	public void setSysBaseName(String sysBaseName) {
+		this.sysBaseName = sysBaseName;
+	}
+
+	public String getRequestUrl() {
+		return requestUrl;
+	}
+
+	public void setRequestUrl(String requestUrl) {
+		this.requestUrl = requestUrl;
+	}
+
+	public String getReturnType() {
+		return returnType;
+	}
+
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	public String getReturnTypeText() {
+		return returnTypeText;
+	}
+
+	public void setReturnTypeText(String returnTypeText) {
+		this.returnTypeText = returnTypeText;
+	}
+
+	public String getSourceSystemOid() {
+		return sourceSystemOid;
+	}
+
+	public void setSourceSystemOid(String sourceSystemOid) {
+		this.sourceSystemOid = sourceSystemOid;
+	}
+
+	public String getSourceSysName() {
+		return sourceSysName;
+	}
+
+	public void setSourceSysName(String sourceSysName) {
+		this.sourceSysName = sourceSysName;
+	}
+
+	public String getSourceSysId() {
+		return sourceSysId;
+	}
+
+	public void setSourceSysId(String sourceSysId) {
+		this.sourceSysId = sourceSysId;
+	}
+
+	public String getSourceSystemOidName() {
+		return sourceSystemOidName;
+	}
+
+	public void setSourceSystemOidName(String sourceSystemOidName) {
+		this.sourceSystemOidName = sourceSystemOidName;
+	}
+
+	public String getTargetSystemOid() {
+		return targetSystemOid;
+	}
+
+	public void setTargetSystemOid(String targetSystemOid) {
+		this.targetSystemOid = targetSystemOid;
+	}
+
+	public String getTargetSysName() {
+		return targetSysName;
+	}
+
+	public void setTargetSysName(String targetSysName) {
+		this.targetSysName = targetSysName;
+	}
+
+	public String getTargetSysId() {
+		return targetSysId;
+	}
+
+	public void setTargetSysId(String targetSysId) {
+		this.targetSysId = targetSysId;
+	}
+
+	public String getTargetSystemOidName() {
+		return targetSystemOidName;
+	}
+
+	public void setTargetSystemOidName(String targetSystemOidName) {
+		this.targetSystemOidName = targetSystemOidName;
+	}
+
+	public String getClassPath() {
+		return classPath;
+	}
+
+	public void setClassPath(String classPath) {
+		this.classPath = classPath;
+	}
+
+	public String getDataFlowType() {
+		return dataFlowType;
+	}
+
+	public void setDataFlowType(String dataFlowType) {
+		this.dataFlowType = dataFlowType;
+	}
+
+	public String getDataFlowTypeText() {
+		return dataFlowTypeText;
+	}
+
+	public void setDataFlowTypeText(String dataFlowTypeText) {
+		this.dataFlowTypeText = dataFlowTypeText;
+	}
+
+	public String getBtmTypeId() {
+		return btmTypeId;
+	}
+
+	public void setBtmTypeId(String btmTypeId) {
+		this.btmTypeId = btmTypeId;
+	}
+
+	public String getBtmTypeName() {
+		return btmTypeName;
+	}
+
+	public void setBtmTypeName(String btmTypeName) {
+		this.btmTypeName = btmTypeName;
+	}
+
+	public String getNamespace() {
+		return namespace;
+	}
+
+	public void setNamespace(String namespace) {
+		this.namespace = namespace;
+	}
+
+	public String getSoapAction() {
+		return soapAction;
+	}
+
+	public void setSoapAction(String soapAction) {
+		this.soapAction = soapAction;
+	}
+
+	public String getCxfAxis() {
+		return cxfAxis;
+	}
+
+	public void setCxfAxis(String cxfAxis) {
+		this.cxfAxis = cxfAxis;
+	}
+
+	public String getTargetName() {
+		return targetName;
+	}
+
+	public void setTargetName(String targetName) {
+		this.targetName = targetName;
+	}
+
+	public String getPushType() {
+		return pushType;
+	}
+
+	public void setPushType(String pushType) {
+		this.pushType = pushType;
+	}
+
+	public String getPushTypeText() {
+		return pushTypeText;
+	}
+
+	public void setPushTypeText(String pushTypeText) {
+		this.pushTypeText = pushTypeText;
+	}
+
+	public String getClassifyId() {
+		return classifyId;
+	}
+
+	public void setClassifyId(String classifyId) {
+		this.classifyId = classifyId;
+	}
+
+	public String getClassifyName() {
+		return classifyName;
+	}
+
+	public void setClassifyName(String classifyName) {
+		this.classifyName = classifyName;
+	}
+
+	public List<SysIntParamVO> getSysIntParamVOs() {
+		return sysIntParamVOs;
+	}
+
+	public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
+		this.sysIntParamVOs = sysIntParamVOs;
+	}
+
+	public List<SysIntHeaderVO> getSysIntHeaderVOs() {
+		return sysIntHeaderVOs;
+	}
+
+	public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
+		this.sysIntHeaderVOs = sysIntHeaderVOs;
+	}
+
+	@Override
+	public String toString() {
+		return "SysIntInfoDTO{" +
+			"authorityOid='" + authorityOid + '\'' +
+			", authorityOidName='" + authorityOidName + '\'' +
+			", authorityType='" + authorityType + '\'' +
+			", authorityTypeText='" + authorityTypeText + '\'' +
+			", userAccount='" + userAccount + '\'' +
+			", userCode='" + userCode + '\'' +
+			", token='" + token + '\'' +
+			", interfaceFunction='" + interfaceFunction + '\'' +
+			", description='" + description + '\'' +
+			", interfaceType='" + interfaceType + '\'' +
+			", interfaceTypeText='" + interfaceTypeText + '\'' +
+			", paramType='" + paramType + '\'' +
+			", paramTypeText='" + paramTypeText + '\'' +
+			", requestMethod='" + requestMethod + '\'' +
+			", requestMethodText='" + requestMethodText + '\'' +
+			", classifyOid='" + classifyOid + '\'' +
+			", usedFlag='" + usedFlag + '\'' +
+			", sysBaseOid='" + sysBaseOid + '\'' +
+			", sysBaseId='" + sysBaseId + '\'' +
+			", sysBaseName='" + sysBaseName + '\'' +
+			", requestUrl='" + requestUrl + '\'' +
+			", returnType='" + returnType + '\'' +
+			", returnTypeText='" + returnTypeText + '\'' +
+			", sourceSystemOid='" + sourceSystemOid + '\'' +
+			", sourceSysName='" + sourceSysName + '\'' +
+			", sourceSysId='" + sourceSysId + '\'' +
+			", sourceSystemOidName='" + sourceSystemOidName + '\'' +
+			", targetSystemOid='" + targetSystemOid + '\'' +
+			", targetSysName='" + targetSysName + '\'' +
+			", targetSysId='" + targetSysId + '\'' +
+			", targetSystemOidName='" + targetSystemOidName + '\'' +
+			", classPath='" + classPath + '\'' +
+			", dataFlowType='" + dataFlowType + '\'' +
+			", dataFlowTypeText='" + dataFlowTypeText + '\'' +
+			", btmTypeId='" + btmTypeId + '\'' +
+			", btmTypeName='" + btmTypeName + '\'' +
+			", namespace='" + namespace + '\'' +
+			", soapAction='" + soapAction + '\'' +
+			", cxfAxis='" + cxfAxis + '\'' +
+			", targetName='" + targetName + '\'' +
+			", pushType='" + pushType + '\'' +
+			", pushTypeText='" + pushTypeText + '\'' +
+			", classifyId='" + classifyId + '\'' +
+			", classifyName='" + classifyName + '\'' +
+			", sysIntParamVOs=" + sysIntParamVOs +
+			", sysIntHeaderVOs=" + sysIntHeaderVOs +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntBaseDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java
similarity index 88%
rename from Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntBaseDTO.java
rename to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java
index 38cc7e3..df1e944 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntBaseDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java
@@ -9,7 +9,7 @@
  * @author lihang
  * @date 2022-03-07
  */
-public class SysIntBaseDTO extends BaseModelVO {
+public class DockingSystemDTO extends BaseModelVO {
 
 	/**
      * 绂佹淇敼杩欎釜鍊�
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java
index 47f0387..e833756 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java
@@ -5,17 +5,17 @@
 import java.util.List;
 
 public class SysIntInfoBseDTO extends BaseModelVO {
-    private SysIntInfoDTO sysIntInfoDTO;
+    private DockingSystemConfigDTO sysIntInfoDTO;
 
     private List<SysIntParamDTO> sysIntParamDTO;
 
     private List<SysIntHeaderDTO> sysIntHeaderDTOS;
 
-    public SysIntInfoDTO getSysIntInfoDTO() {
+    public DockingSystemConfigDTO getSysIntInfoDTO() {
         return sysIntInfoDTO;
     }
 
-    public void setSysIntInfoDTO(SysIntInfoDTO sysIntInfoDTO) {
+    public void setSysIntInfoDTO(DockingSystemConfigDTO sysIntInfoDTO) {
         this.sysIntInfoDTO = sysIntInfoDTO;
     }
 
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoDTO.java
deleted file mode 100644
index a238354..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoDTO.java
+++ /dev/null
@@ -1,664 +0,0 @@
-package com.vci.ubcs.code.dto;
-
-
-import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
-
-import java.util.List;
-
-/**
- * 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄
- *
- * @author lihang
- * @date 2022-03-07
- */
-public class SysIntInfoDTO extends BaseModelVO {
-
-	/**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-	private static final long serialVersionUID = 4615707120053955466L;
-
-	/**
-	 * 璁よ瘉鏂瑰紡
-	 */
-	private String authorityoid;
-
-	/**
-	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	private String authorityoidName;
-	/**
-	 * 鎺ュ彛鍑芥暟
-	 */
-	private String interfaceFunction;
-
-	/**
-	 * 鎺ュ彛绫诲瀷
-	 */
-	private String interfacetype;
-
-	/**
-	 * 鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
-	 */
-	private String interfacetypeText;
-	/**
-	 * 鍙傛暟绫诲瀷
-	 */
-	private String paramtype;
-
-	/**
-	 * 鍙傛暟绫诲瀷鏄剧ず鏂囨湰
-	 */
-	private String paramtypeText;
-	/**
-	 * 璇锋眰鏂瑰紡
-	 */
-	private String requestmethod;
-
-	/**
-	 * 璇锋眰鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	private String requestmethodText;
-	/**
-	 * 鍒嗙被oid
-	 */
-	private String classifyoid;
-	/**
-	 * 鍚敤銆佸仠鐢╰rue/false锛屼笉鐢ㄥ钩鍙扮殑鏋氫妇锛屽噺灏戝骞冲彴鐨勮�﹀悎
-	 */
-	private String usedflag;
-	/**
-	 * 鎺ㄩ�佺郴缁無id
-	 */
-	private String sysbaseoid;
-	/**
-	 * 鎺ㄩ�佺郴缁熺紪鍙�
-	 */
-	private String sysbaseid;
-	/**
-	 * 鎺ㄩ�佺郴缁熷悕绉�
-	 */
-	private String sysbasename;
-	/**
-	 * 璇锋眰鍦板潃
-	 */
-	private String requesturl;
-
-	/**
-	 * 杩斿洖鍊肩被鍨�
-	 */
-	private String returntype;
-
-	/**
-	 * 杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
-	 */
-	private String returntypeText;
-	/**
-	 * 鏉ユ簮绯荤粺涓婚敭
-	 */
-	private String sourcesystemoid;
-
-	/**
-	 * 鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	private String sourcesystemoidName;
-
-	/**
-	 * 鏉ユ簮绯荤粺鍚嶇О
-	 */
-	private String sourceSysName;
-
-	/**
-	 * 鏉ユ簮绯荤粺鏍囪瘑
-	 */
-	private String sourceSysId;
-
-	/**
-	 * 鐩爣绯荤粺涓婚敭
-	 */
-	private String targetsystemoid;
-
-	/**
-	 * 鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	private String targetsystemoidName;
-
-	/**
-	 * 鐩爣绯荤粺鍚嶇О
-	 */
-	private String targetSysName;
-
-	/**
-	 * 鐩爣绯荤粺鏍囪瘑
-	 */
-	private String targetSysId;
-
-
-
-	/**
-	 * 鎺ュ彛鎻忚堪
-	 */
-	private String description;
-
-	/**
-	 * 绫昏矾寰�
-	 */
-	private String classPath;
-
-	/**
-	 * 鏁版嵁娴佸悜鏂瑰紡
-	 */
-	private String dataFlowType;
-
-	/**
-	 * 鏁版嵁娴佸悜鏂瑰紡鐨勬樉绀哄瓧娈�
-	 */
-	private String dataFlowTypeText;
-
-	/**
-	 * 瀛樺偍鐨勪笟鍔$被鍨�
-	 */
-	private String btmTypeId;
-
-	/**
-	 * 瀛樺偍鐨勪笟鍔$被鍨嬬殑涓枃鍚嶇О
-	 */
-	private String btmTypeName;
-
-	/**
-	 * 鍛藉悕绌洪棿
-	 */
-	private String namespace;
-
-	/**
-	 * soapAction
-	 */
-	private String soapaction;
-
-	/**
-	 * 鍙傛暟鍚嶇О
-	 */
-	private String targName;
-
-	/**
-	 * cxfaxis
-	 */
-	private String cxfaxis;
-
-	/**
-	 * 鍒嗙被id
-	 */
-	private String classifyid;
-
-	/**
-	 * 鍒嗙被鍚嶇О
-	 */
-	private String classifyname;
-	/***
-	 * 鍙傛暟淇℃伅瀵硅薄
-	 */
-	private List<SysIntParamDTO> sysIntParamDTOs;
-	/***
-	 * header淇℃伅瀵硅薄
-	 */
-	private List<SysIntHeaderDTO> sysIntHeaderDTOS;
-
-	public String pushType;
-
-	public String getClassifyid() {
-		return classifyid;
-	}
-
-	public void setClassifyid(String classifyid) {
-		this.classifyid = classifyid;
-	}
-
-	public String getClassifyname() {
-		return classifyname;
-	}
-
-	public void setClassifyname(String classifyname) {
-		this.classifyname = classifyname;
-	}
-
-	public String getTargName() {
-		return targName;
-	}
-
-	public void setTargName(String targName) {
-		this.targName = targName;
-	}
-
-	public String getSoapaction() {
-		return soapaction;
-	}
-
-	public void setSoapaction(String soapaction) {
-		this.soapaction = soapaction;
-	}
-
-	public String getCxfaxis() {
-		return cxfaxis;
-	}
-
-	public void setCxfaxis(String cxfaxis) {
-		this.cxfaxis = cxfaxis;
-	}
-
-	public String getNamespace() {
-		return namespace;
-	}
-
-	public void setNamespace(String namespace) {
-		this.namespace = namespace;
-	}
-
-	public String getBtmTypeId() {
-		return btmTypeId;
-	}
-
-	public void setBtmTypeId(String btmTypeId) {
-		this.btmTypeId = btmTypeId;
-	}
-
-	public String getBtmTypeName() {
-		return btmTypeName;
-	}
-
-	public void setBtmTypeName(String btmTypeName) {
-		this.btmTypeName = btmTypeName;
-	}
-	/**
-	 * 鑾峰彇 璁よ瘉鏂瑰紡
-	 */
-	public String getAuthorityoid (){
-		return authorityoid;
-	}
-
-	/**
-	 * 璁剧疆 璁よ瘉鏂瑰紡
-	 */
-	public void setAuthorityoid (String authorityoid){
-		this.authorityoid = authorityoid;
-	}
-
-	/**
-	 * 鑾峰彇璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	public String getAuthorityoidName (){
-		return authorityoidName;
-	}
-
-	/**
-	 * 璁剧疆璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	public void setAuthorityoidName (String authorityoidName){
-		this.authorityoidName = authorityoidName;
-	}
-	/**
-	 * 鑾峰彇 鎺ュ彛鍑芥暟
-	 */
-	public String getInterfaceFunction (){
-		return interfaceFunction;
-	}
-
-	/**
-	 * 璁剧疆 鎺ュ彛鍑芥暟
-	 */
-	public void setInterfaceFunction (String interfaceFunction){
-		this.interfaceFunction = interfaceFunction;
-	}
-
-	/**
-	 * 鑾峰彇 鎺ュ彛绫诲瀷
-	 */
-	public String getInterfacetype (){
-		return interfacetype;
-	}
-
-	/**
-	 * 璁剧疆 鎺ュ彛绫诲瀷
-	 */
-	public void setInterfacetype (String interfacetype){
-		this.interfacetype = interfacetype;
-	}
-
-	/**
-	 * 鑾峰彇鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public String getInterfacetypeText (){
-		return interfacetypeText;
-	}
-
-	/**
-	 * 璁剧疆鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public void setInterfacetypeText (String interfacetypeText){
-		this.interfacetypeText = interfacetypeText;
-	}
-	/**
-	 * 鑾峰彇 鍙傛暟绫诲瀷
-	 */
-	public String getParamtype (){
-		return paramtype;
-	}
-
-	/**
-	 * 璁剧疆 鍙傛暟绫诲瀷
-	 */
-	public void setParamtype (String paramtype){
-		this.paramtype = paramtype;
-	}
-
-	/**
-	 * 鑾峰彇鍙傛暟绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public String getParamtypeText (){
-		return paramtypeText;
-	}
-
-	/**
-	 * 璁剧疆鍙傛暟绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public void setParamtypeText (String paramtypeText){
-		this.paramtypeText = paramtypeText;
-	}
-	/**
-	 * 鑾峰彇 璇锋眰鏂瑰紡
-	 */
-	public String getRequestmethod (){
-		return requestmethod;
-	}
-
-	/**
-	 * 璁剧疆 璇锋眰鏂瑰紡
-	 */
-	public void setRequestmethod (String requestmethod){
-		this.requestmethod = requestmethod;
-	}
-
-	/**
-	 * 鑾峰彇璇锋眰鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	public String getRequestmethodText (){
-		return requestmethodText;
-	}
-
-	/**
-	 * 璁剧疆璇锋眰鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	public void setRequestmethodText (String requestmethodText){
-		this.requestmethodText = requestmethodText;
-	}
-	/**
-	 * 鑾峰彇 璇锋眰鍦板潃
-	 */
-	public String getRequesturl (){
-		return requesturl;
-	}
-
-	/**
-	 * 璁剧疆 璇锋眰鍦板潃
-	 */
-	public void setRequesturl (String requesturl){
-		this.requesturl = requesturl;
-	}
-
-	/**
-	 * 鑾峰彇 杩斿洖鍊肩被鍨�
-	 */
-	public String getReturntype (){
-		return returntype;
-	}
-
-	/**
-	 * 璁剧疆 杩斿洖鍊肩被鍨�
-	 */
-	public void setReturntype (String returntype){
-		this.returntype = returntype;
-	}
-
-	/**
-	 * 鑾峰彇杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
-	 */
-	public String getReturntypeText (){
-		return returntypeText;
-	}
-
-	/**
-	 * 璁剧疆杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
-	 */
-	public void setReturntypeText (String returntypeText){
-		this.returntypeText = returntypeText;
-	}
-	/**
-	 * 鑾峰彇 鏉ユ簮绯荤粺涓婚敭
-	 */
-	public String getSourcesystemoid (){
-		return sourcesystemoid;
-	}
-
-	/**
-	 * 璁剧疆 鏉ユ簮绯荤粺涓婚敭
-	 */
-	public void setSourcesystemoid (String sourcesystemoid){
-		this.sourcesystemoid = sourcesystemoid;
-	}
-
-	/**
-	 * 鑾峰彇鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	public String getSourcesystemoidName (){
-		return sourcesystemoidName;
-	}
-
-	/**
-	 * 璁剧疆鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	public void setSourcesystemoidName (String sourcesystemoidName){
-		this.sourcesystemoidName = sourcesystemoidName;
-	}
-	/**
-	 * 鑾峰彇 鐩爣绯荤粺涓婚敭
-	 */
-	public String getTargetsystemoid (){
-		return targetsystemoid;
-	}
-
-	/**
-	 * 璁剧疆 鐩爣绯荤粺涓婚敭
-	 */
-	public void setTargetsystemoid (String targetsystemoid){
-		this.targetsystemoid = targetsystemoid;
-	}
-
-	/**
-	 * 鑾峰彇鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	public String getTargetsystemoidName (){
-		return targetsystemoidName;
-	}
-
-	/**
-	 * 璁剧疆鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	public void setTargetsystemoidName (String targetsystemoidName){
-		this.targetsystemoidName = targetsystemoidName;
-	}
-
-	@Override
-	public String getDescription() {
-		return description;
-	}
-
-	@Override
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public String getClassPath() {
-		return classPath;
-	}
-
-	public void setClassPath(String classPath) {
-		this.classPath = classPath;
-	}
-
-	public String getDataFlowType() {
-		return dataFlowType;
-	}
-
-	public void setDataFlowType(String dataFlowType) {
-		this.dataFlowType = dataFlowType;
-	}
-
-	public String getDataFlowTypeText() {
-		return dataFlowTypeText;
-	}
-
-	public void setDataFlowTypeText(String dataFlowTypeText) {
-		this.dataFlowTypeText = dataFlowTypeText;
-	}
-
-	public String getClassifyoid() {
-		return classifyoid;
-	}
-
-	public void setClassifyoid(String classifyoid) {
-		this.classifyoid = classifyoid;
-	}
-
-	public String getUsedflag() {
-		return usedflag;
-	}
-
-	public void setUsedflag(String usedflag) {
-		this.usedflag = usedflag;
-	}
-
-	public String getSysbaseoid() {
-		return sysbaseoid;
-	}
-
-	public void setSysbaseoid(String sysbaseoid) {
-		this.sysbaseoid = sysbaseoid;
-	}
-
-	public String getSysbasename() {
-		return sysbasename;
-	}
-
-	public void setSysbasename(String sysbasename) {
-		this.sysbasename = sysbasename;
-	}
-
-	public String getSysbaseid() {
-		return sysbaseid;
-	}
-
-	public void setSysbaseid(String sysbaseid) {
-		this.sysbaseid = sysbaseid;
-	}
-
-	public List<SysIntParamDTO> getSysIntParamDTOs() {
-		return sysIntParamDTOs;
-	}
-
-	public void setSysIntParamDTOs(List<SysIntParamDTO> sysIntParamDTOs) {
-		this.sysIntParamDTOs = sysIntParamDTOs;
-	}
-
-	public List<SysIntHeaderDTO> getSysIntHeaderDTOS() {
-		return sysIntHeaderDTOS;
-	}
-
-	public void setSysIntHeaderDTOS(List<SysIntHeaderDTO> sysIntHeaderDTOS) {
-		this.sysIntHeaderDTOS = sysIntHeaderDTOS;
-	}
-
-	public String getPushType() {
-		return pushType;
-	}
-
-	public void setPushType(String pushType) {
-		this.pushType = pushType;
-	}
-
-	public String getSourceSysName() {
-		return sourceSysName;
-	}
-
-	public void setSourceSysName(String sourceSysName) {
-		this.sourceSysName = sourceSysName;
-	}
-
-	public String getSourceSysId() {
-		return sourceSysId;
-	}
-
-	public void setSourceSysId(String sourceSysId) {
-		this.sourceSysId = sourceSysId;
-	}
-
-	public String getTargetSysName() {
-		return targetSysName;
-	}
-
-	public void setTargetSysName(String targetSysName) {
-		this.targetSysName = targetSysName;
-	}
-
-	public String getTargetSysId() {
-		return targetSysId;
-	}
-
-	public void setTargetSysId(String targetSysId) {
-		this.targetSysId = targetSysId;
-	}
-
-	@Override
-	public String toString() {
-		return "SysIntInfoDTO{" +
-				"authorityoid='" + authorityoid + '\'' +
-				", authorityoidName='" + authorityoidName + '\'' +
-				", interfaceFunction='" + interfaceFunction + '\'' +
-				", interfacetype='" + interfacetype + '\'' +
-				", interfacetypeText='" + interfacetypeText + '\'' +
-				", paramtype='" + paramtype + '\'' +
-				", paramtypeText='" + paramtypeText + '\'' +
-				", requestmethod='" + requestmethod + '\'' +
-				", requestmethodText='" + requestmethodText + '\'' +
-				", classifyoid='" + classifyoid + '\'' +
-				", usedflag='" + usedflag + '\'' +
-				", sysbaseoid='" + sysbaseoid + '\'' +
-				", sysbaseid='" + sysbaseid + '\'' +
-				", sysbasename='" + sysbasename + '\'' +
-				", requesturl='" + requesturl + '\'' +
-				", returntype='" + returntype + '\'' +
-				", returntypeText='" + returntypeText + '\'' +
-				", sourcesystemoid='" + sourcesystemoid + '\'' +
-				", sourcesystemoidName='" + sourcesystemoidName + '\'' +
-				", sourceSysName='" + sourceSysName + '\'' +
-				", sourceSysId='" + sourceSysId + '\'' +
-				", targetsystemoid='" + targetsystemoid + '\'' +
-				", targetsystemoidName='" + targetsystemoidName + '\'' +
-				", targetSysName='" + targetSysName + '\'' +
-				", targetSysId='" + targetSysId + '\'' +
-				", description='" + description + '\'' +
-				", classPath='" + classPath + '\'' +
-				", dataFlowType='" + dataFlowType + '\'' +
-				", dataFlowTypeText='" + dataFlowTypeText + '\'' +
-				", btmTypeId='" + btmTypeId + '\'' +
-				", btmTypeName='" + btmTypeName + '\'' +
-				", namespace='" + namespace + '\'' +
-				", soapaction='" + soapaction + '\'' +
-				", targName='" + targName + '\'' +
-				", cxfaxis='" + cxfaxis + '\'' +
-				", classifyid='" + classifyid + '\'' +
-				", classifyname='" + classifyname + '\'' +
-				", sysIntParamDTOs=" + sysIntParamDTOs +
-				", sysIntHeaderDTOS=" + sysIntHeaderDTOS +
-				", pushType='" + pushType + '\'' +
-				'}';
-	}
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java
new file mode 100644
index 0000000..126af2f
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java
@@ -0,0 +1,24 @@
+package com.vci.ubcs.code.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/****
+ * 闆嗘垚绠$悊鎺ュ彛-闆嗘垚绯荤粺缁存姢瀵硅薄
+ * @author xiejun
+ * @date 2023-06-01
+ */
+@Data
+@TableName("PL_CODE_SYSINTBASE")
+@ApiModel(value = "DockingSystem", description = "闆嗘垚绠$悊鎺ュ彛-闆嗘垚绯荤粺缁存姢瀵硅薄")
+@EqualsAndHashCode(callSuper = true)
+public class DockingSystem extends BaseModel {
+	/**
+	 * 绂佹淇敼杩欎釜鍊�
+	 */
+	private static final long serialVersionUID = 4615707117716142023L;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
new file mode 100644
index 0000000..a4b5f02
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
@@ -0,0 +1,312 @@
+package com.vci.ubcs.code.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.code.vo.pagemodel.SysIntHeaderVO;
+import com.vci.ubcs.code.vo.pagemodel.SysIntParamVO;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/***
+ * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄
+ * @author xiejun
+ * @date 2023-06-01
+ */
+@Data
+@TableName("PL_CODE_SYSINTINFO")
+@ApiModel(value = "DockingSystemConfig", description = "闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄")
+@EqualsAndHashCode(callSuper = true)
+public class DockingSystemConfig extends BaseModel{
+	/**
+	 * 绂佹淇敼杩欎釜鍊�
+	 */
+	private static final long serialVersionUID = 4615707117716142069L;
+
+	/**
+	 * 璁よ瘉鏂瑰紡
+	 */
+	/***
+	 * 闆嗗洟鍒嗙被oid
+	 */
+	@ApiModelProperty(value = "璁よ瘉鏂瑰紡")
+	//@TableField(value = "authorityOid")
+	private String authorityOid;
+
+	/**
+	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	@ApiModelProperty(value = "璁よ瘉鏂瑰紡鏄剧ず鏂囨湰")
+	@TableField(exist = false)
+	private String authorityOidName;
+
+	/**
+	 * 璁よ瘉鏂瑰紡
+	 */
+	@ApiModelProperty(value = "璁よ瘉鏂瑰紡")
+	@TableField(exist = false)
+	private String authorityType;
+
+	/**
+	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	@ApiModelProperty(value = "璁よ瘉鏂瑰紡鏄剧ず鏂囨湰")
+	@TableField(exist = false)
+	private String authorityTypeText;
+
+	/**
+	 * 楠岃瘉鐢ㄦ埛
+	 */
+	@ApiModelProperty(value = "楠岃瘉鐢ㄦ埛")
+	@TableField(exist = false)
+	private String userAccount;
+
+	/**
+	 * 楠岃瘉瀵嗙爜
+	 */
+	@ApiModelProperty(value = "楠岃瘉瀵嗙爜")
+	@TableField(exist = false)
+	private String userCode;
+
+	/**
+	 * 楠岃瘉浠ょ墝
+	 */
+	@ApiModelProperty(value = "楠岃瘉浠ょ墝")
+	@TableField(exist = false)
+	private String token;
+
+	/**
+	 * 鎺ュ彛鍑芥暟
+	 */
+	@ApiModelProperty(value = "鎺ュ彛鍑芥暟")
+	private String interfaceFunction;
+
+	/**
+	 * 鎺ュ彛鎻忚堪
+	 *//*
+	@ApiModelProperty(value = "鎺ュ彛鎻忚堪")
+	private String description;*/
+
+
+	/**
+	 * 鎺ュ彛绫诲瀷
+	 */
+	@ApiModelProperty(value = "鎺ュ彛绫诲瀷")
+	private String interfaceType;
+
+	/**
+	 * 鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
+	 */
+	@ApiModelProperty(value = "鎺ュ彛绫诲瀷鏄剧ず鏂囨湰")
+	@TableField(exist = false)
+	private String interfaceTypeText;
+	/**
+	 * 鍙傛暟绫诲瀷
+	 */
+	@ApiModelProperty(value = "鍙傛暟绫诲瀷")
+	private String paramType;
+
+
+	/**
+	 * 鍙傛暟绫诲瀷鏄剧ず鏂囨湰
+	 */
+	@ApiModelProperty(value = "鍙傛暟绫诲瀷鏄剧ず鏂囨湰")
+	@TableField(exist = false)
+	private String paramTypeText;
+	/**
+	 * 璇锋眰鏂瑰紡
+	 */
+	@ApiModelProperty(value = "璇锋眰鏂瑰紡")
+	private String requestMethod;
+
+	/**
+	 * 璇锋眰鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	@ApiModelProperty(value = "璇锋眰鏂瑰紡鏄剧ず鏂囨湰")
+	@TableField(exist = false)
+	private String requestMethodText;
+	/**
+	 * 鍒嗙被oid
+	 */
+	@ApiModelProperty(value = "鍒嗙被oid")
+	private String classifyOid;
+
+	/**
+	 * 鍚敤銆佸仠鐢╰rue/false锛屼笉鐢ㄥ钩鍙扮殑鏋氫妇锛屽噺灏戝骞冲彴鐨勮�﹀悎
+	 */
+	@ApiModelProperty(value = "鍚敤銆佸仠鐢╰rue/false锛屼笉鐢ㄥ钩鍙扮殑鏋氫妇锛屽噺灏戝骞冲彴鐨勮�﹀悎")
+	private String usedFlag;
+
+	/**
+	 * 鎺ㄩ�佺郴缁無id
+	 */
+	@ApiModelProperty(value = "鎺ㄩ�佺郴缁無id")
+	private String sysBaseOid;
+
+	/**
+	 * 鎺ㄩ�佺郴缁熺紪鍙�
+	 */
+	@ApiModelProperty(value = "鎺ㄩ�佺郴缁熺紪鍙�")
+	private String sysBaseId;
+
+	/**
+	 * 鎺ㄩ�佺郴缁熷悕绉�
+	 */
+	@ApiModelProperty(value = "鎺ㄩ�佺郴缁熷悕绉�")
+	private String sysBaseName;
+
+	/**
+	 * 璇锋眰鍦板潃
+	 */
+	@ApiModelProperty(value = "璇锋眰鍦板潃")
+	private String requestUrl;
+
+
+	/**
+	 * 杩斿洖鍊肩被鍨�
+	 */
+	@ApiModelProperty(value = "杩斿洖鍊肩被鍨�")
+	private String returnType;
+
+
+	/**
+	 * 杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
+	 */
+	@ApiModelProperty(value = "杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�")
+	@TableField(exist = false)
+	private String returnTypeText;
+	/**
+	 * 鏉ユ簮绯荤粺涓婚敭
+	 */
+	@ApiModelProperty(value = "鏉ユ簮绯荤粺涓婚敭")
+	private String sourceSystemOid;
+
+	/**
+	 * 鏉ユ簮绯荤粺鍚嶇О
+	 */
+	@ApiModelProperty(value = "鏉ユ簮绯荤粺鍚嶇О")
+	private String sourceSysName;
+
+	/**
+	 * 鏉ユ簮绯荤粺鏍囪瘑
+	 */
+	@ApiModelProperty(value = "鏉ユ簮绯荤粺鏍囪瘑")
+	private String sourceSysId;
+
+	/**
+	 * 鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
+	 */
+	@ApiModelProperty(value = "鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰")
+	@TableField(exist = false)
+	private String sourceSystemOidName;
+
+	/**
+	 * 鐩爣绯荤粺涓婚敭
+	 */
+	@ApiModelProperty(value = "鐩爣绯荤粺涓婚敭")
+	private String targetSystemOid;
+
+	/**
+	 * 鐩爣绯荤粺鍚嶇О
+	 */
+	@ApiModelProperty(value = "鐩爣绯荤粺鍚嶇О")
+	private String targetSysName;
+
+	/**
+	 * 鐩爣绯荤粺鏍囪瘑
+	 */
+	@ApiModelProperty(value = "鐩爣绯荤粺鏍囪瘑")
+	private String targetSysId;
+
+	/**
+	 * 鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
+	 */
+	@ApiModelProperty(value = "鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰")
+	@TableField(exist = false)
+	private String targetSystemOidName;
+
+	/**
+	 * 绫昏矾寰�
+	 */
+	@ApiModelProperty(value = "绫昏矾寰�")
+	private String classPath;
+
+	/**
+	 * 鏁版嵁娴佸悜鏂瑰紡
+	 */
+	@ApiModelProperty(value = "璁よ瘉鏂瑰紡鏄剧ず鏂囨湰")
+	private String dataFlowType;
+
+	/**
+	 * 鏁版嵁娴佸悜鏂瑰紡鐨勬樉绀哄瓧娈�
+	 */
+	@ApiModelProperty(value = "鏁版嵁娴佸悜鏂瑰紡鐨勬樉绀哄瓧娈�")
+	@TableField(exist = false)
+	private String dataFlowTypeText;
+
+	/**
+	 * 瀛樺偍鐨勪笟鍔$被鍨�
+	 */
+	@ApiModelProperty(value = "瀛樺偍鐨勪笟鍔$被鍨�")
+	private String btmTypeId;
+
+	/**
+	 * 瀛樺偍鐨勪笟鍔$被鍨嬬殑涓枃鍚嶇О
+	 */
+	@ApiModelProperty(value = "瀛樺偍鐨勪笟鍔$被鍨嬬殑涓枃鍚嶇О")
+	private String btmTypeName;
+
+	/**
+	 * 鍛藉悕绌洪棿
+	 */
+	@ApiModelProperty(value = "鍛藉悕绌洪棿")
+	private String namespace;
+
+	/**
+	 * soapAction
+	 */
+	@ApiModelProperty(value = "soapAction")
+	private String soapAction;
+
+	/**
+	 * cxfaxis
+	 */
+	@ApiModelProperty(value = "cxfaxis")
+	private String cxfAxis;
+
+	/**
+	 * 鍙傛暟鍚嶇О
+	 */
+	@ApiModelProperty(value = "鍙傛暟鍚嶇О")
+	@TableField(value = "targname")
+	private String targetName;
+
+
+	/***
+	 * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��
+	 */
+	@ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��")
+	private String pushType;
+	/***
+	 * 鎺ㄩ�佺被鍨嬫樉绀哄��
+	 */
+	@ApiModelProperty(value = "鎺ㄩ�佺被鍨嬫樉绀哄��")
+	@TableField(exist = false)
+	private String pushTypeText;
+
+	/**
+	 * 鍒嗙被id
+	 */
+	@ApiModelProperty(value = "鍒嗙被id")
+	private String classifyId;
+
+	/**
+	 * 鍒嗙被鍚嶇О
+	 */
+	@ApiModelProperty(value = "鍒嗙被鍚嶇О")
+	private String classifyName;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
index 0d61f55..210b71f 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
@@ -45,7 +45,7 @@
     String TOP = API_PREFIX + "/top";
 	String CODE_CLASSIFY_TREE=API_PREFIX+"/referCodeClassifyTree";
 	String CODE_ATTRIBUTE_LIST=API_PREFIX+"/listCodeAttributeByClassId";
-
+	String CODE_GETBYID="/getById";
     /**
      * 鑾峰彇涓婚搴撳畾涔夎〃鍒楄〃
      *
@@ -71,4 +71,12 @@
 	 */
 	@GetMapping(CODE_ATTRIBUTE_LIST)
 	public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(@RequestParam("codeClassifyId") String codeClassifyId);
+
+	/***
+	 * 鏍规嵁鍒嗙被id宸埍蹇冨垎绫讳俊鎭�
+	 * @param classifyId
+	 * @return
+	 */
+	@GetMapping(CODE_GETBYID)
+	 CodeClassify getById(@RequestParam("classifyId")String classifyId);
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java
new file mode 100644
index 0000000..94b2849
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java
@@ -0,0 +1,672 @@
+package com.vci.ubcs.code.vo.pagemodel;
+
+import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
+
+import java.util.List;
+
+/**
+ * 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄
+ *
+ * @author lihang
+ * @date 2022-03-07
+ */
+public class DockingSystemConfigVO extends BaseModelVO {
+
+	/**
+	 * 绂佹淇敼杩欎釜鍊�
+	 */
+	private static final long serialVersionUID = 4615707117716142069L;
+
+	/**
+	 * 璁よ瘉鏂瑰紡
+	 */
+	private String authorityOid;
+
+	/**
+	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	private String authorityOidName;
+
+	/**
+	 * 璁よ瘉鏂瑰紡
+	 */
+	private String authorityType;
+
+	/**
+	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	private String authorityTypeText;
+
+	/**
+	 * 楠岃瘉鐢ㄦ埛
+	 */
+	private String userAccount;
+
+	/**
+	 * 楠岃瘉瀵嗙爜
+	 */
+	private String userCode;
+
+	/**
+	 * 楠岃瘉浠ょ墝
+	 */
+	private String token;
+
+	/**
+	 * 鎺ュ彛鍑芥暟
+	 */
+	private String interfaceFunction;
+
+	/**
+	 * 鎺ュ彛鎻忚堪
+	 */
+	private String description;
+
+
+	/**
+	 * 鎺ュ彛绫诲瀷
+	 */
+	private String interfaceType;
+
+
+	/**
+	 * 鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
+	 */
+	private String interfaceTypeText;
+	/**
+	 * 鍙傛暟绫诲瀷
+	 */
+	private String paramType;
+
+
+	/**
+	 * 鍙傛暟绫诲瀷鏄剧ず鏂囨湰
+	 */
+	private String paramTypeText;
+	/**
+	 * 璇锋眰鏂瑰紡
+	 */
+	private String requestMethod;
+
+
+	/**
+	 * 璇锋眰鏂瑰紡鏄剧ず鏂囨湰
+	 */
+	private String requestMethodText;
+	/**
+	 * 鍒嗙被oid
+	 */
+	private String classifyOid;
+
+	/**
+	 * 鍚敤銆佸仠鐢╰rue/false锛屼笉鐢ㄥ钩鍙扮殑鏋氫妇锛屽噺灏戝骞冲彴鐨勮�﹀悎
+	 */
+	private String usedFlag;
+
+	/**
+	 * 鎺ㄩ�佺郴缁無id
+	 */
+	private String sysBaseOid;
+
+	/**
+	 * 鎺ㄩ�佺郴缁熺紪鍙�
+	 */
+	private String sysBaseId;
+
+	/**
+	 * 鎺ㄩ�佺郴缁熷悕绉�
+	 */
+	private String sysBaseName;
+
+	/**
+	 * 璇锋眰鍦板潃
+	 */
+	private String requestUrl;
+
+
+	/**
+	 * 杩斿洖鍊肩被鍨�
+	 */
+	private String returnType;
+
+
+	/**
+	 * 杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
+	 */
+	private String returnTypeText;
+	/**
+	 * 鏉ユ簮绯荤粺涓婚敭
+	 */
+	private String sourceSystemOid;
+
+	/**
+	 * 鏉ユ簮绯荤粺鍚嶇О
+	 */
+	private String sourceSysName;
+
+	/**
+	 * 鏉ユ簮绯荤粺鏍囪瘑
+	 */
+	private String sourceSysId;
+
+	/**
+	 * 鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
+	 */
+	private String sourceSystemOidName;
+
+	/**
+	 * 鐩爣绯荤粺涓婚敭
+	 */
+	private String targetSystemOid;
+
+	/**
+	 * 鐩爣绯荤粺鍚嶇О
+	 */
+	private String targetSysName;
+
+	/**
+	 * 鐩爣绯荤粺鏍囪瘑
+	 */
+	private String targetSysId;
+
+	/**
+	 * 鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
+	 */
+	private String targetSystemOidName;
+
+	/**
+	 * 绫昏矾寰�
+	 */
+	private String classPath;
+
+	/**
+	 * 鏁版嵁娴佸悜鏂瑰紡
+	 */
+	private String dataFlowType;
+
+	/**
+	 * 鏁版嵁娴佸悜鏂瑰紡鐨勬樉绀哄瓧娈�
+	 */
+	private String dataFlowTypeText;
+
+	/**
+	 * 瀛樺偍鐨勪笟鍔$被鍨�
+	 */
+	private String btmTypeId;
+
+	/**
+	 * 瀛樺偍鐨勪笟鍔$被鍨嬬殑涓枃鍚嶇О
+	 */
+	private String btmTypeName;
+
+	/**
+	 * 鍛藉悕绌洪棿
+	 */
+	private String namespace;
+
+	/**
+	 * soapAction
+	 */
+	private String soapAction;
+
+	/**
+	 * cxfaxis
+	 */
+	private String cxfAxis;
+
+	/**
+	 * 鍙傛暟鍚嶇О
+	 */
+	private String targetName;
+
+	/***
+	 * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��
+	 */
+	private String pushType;
+	/***
+	 * 鎺ㄩ�佺被鍨嬫樉绀哄��
+	 */
+	private String pushTypeText;
+
+	/**
+	 * 鍒嗙被id
+	 */
+	private String classifyId;
+
+	/**
+	 * 鍒嗙被鍚嶇О
+	 */
+	private String classifyName;
+
+	/***
+	 * 鍙傛暟淇℃伅瀵硅薄
+	 */
+	private List<SysIntParamVO> sysIntParamVOs;
+	/***
+	 * header淇℃伅瀵硅薄
+	 */
+	private List<SysIntHeaderVO> sysIntHeaderVOs;
+
+
+	public String getAuthorityOid() {
+		return authorityOid;
+	}
+
+	public void setAuthorityOid(String authorityOid) {
+		this.authorityOid = authorityOid;
+	}
+
+	public String getAuthorityOidName() {
+		return authorityOidName;
+	}
+
+	public void setAuthorityOidName(String authorityOidName) {
+		this.authorityOidName = authorityOidName;
+	}
+
+	public String getAuthorityType() {
+		return authorityType;
+	}
+
+	public void setAuthorityType(String authorityType) {
+		this.authorityType = authorityType;
+	}
+
+	public String getAuthorityTypeText() {
+		return authorityTypeText;
+	}
+
+	public void setAuthorityTypeText(String authorityTypeText) {
+		this.authorityTypeText = authorityTypeText;
+	}
+
+	public String getUserAccount() {
+		return userAccount;
+	}
+
+	public void setUserAccount(String userAccount) {
+		this.userAccount = userAccount;
+	}
+
+	public String getUserCode() {
+		return userCode;
+	}
+
+	public void setUserCode(String userCode) {
+		this.userCode = userCode;
+	}
+
+	public String getToken() {
+		return token;
+	}
+
+	public void setToken(String token) {
+		this.token = token;
+	}
+
+	public String getInterfaceFunction() {
+		return interfaceFunction;
+	}
+
+	public void setInterfaceFunction(String interfaceFunction) {
+		this.interfaceFunction = interfaceFunction;
+	}
+
+	@Override
+	public String getDescription() {
+		return description;
+	}
+
+	@Override
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public String getInterfaceType() {
+		return interfaceType;
+	}
+
+	public void setInterfaceType(String interfaceType) {
+		this.interfaceType = interfaceType;
+	}
+
+	public String getInterfaceTypeText() {
+		return interfaceTypeText;
+	}
+
+	public void setInterfaceTypeText(String interfaceTypeText) {
+		this.interfaceTypeText = interfaceTypeText;
+	}
+
+	public String getParamType() {
+		return paramType;
+	}
+
+	public void setParamType(String paramType) {
+		this.paramType = paramType;
+	}
+
+	public String getParamTypeText() {
+		return paramTypeText;
+	}
+
+	public void setParamTypeText(String paramTypeText) {
+		this.paramTypeText = paramTypeText;
+	}
+
+	public String getRequestMethod() {
+		return requestMethod;
+	}
+
+	public void setRequestMethod(String requestMethod) {
+		this.requestMethod = requestMethod;
+	}
+
+	public String getRequestMethodText() {
+		return requestMethodText;
+	}
+
+	public void setRequestMethodText(String requestMethodText) {
+		this.requestMethodText = requestMethodText;
+	}
+
+	public String getClassifyOid() {
+		return classifyOid;
+	}
+
+	public void setClassifyOid(String classifyOid) {
+		this.classifyOid = classifyOid;
+	}
+
+	public String getUsedFlag() {
+		return usedFlag;
+	}
+
+	public void setUsedFlag(String usedFlag) {
+		this.usedFlag = usedFlag;
+	}
+
+	public String getSysBaseOid() {
+		return sysBaseOid;
+	}
+
+	public void setSysBaseOid(String sysBaseOid) {
+		this.sysBaseOid = sysBaseOid;
+	}
+
+	public String getSysBaseId() {
+		return sysBaseId;
+	}
+
+	public void setSysBaseId(String sysBaseId) {
+		this.sysBaseId = sysBaseId;
+	}
+
+	public String getSysBaseName() {
+		return sysBaseName;
+	}
+
+	public void setSysBaseName(String sysBaseName) {
+		this.sysBaseName = sysBaseName;
+	}
+
+	public String getRequestUrl() {
+		return requestUrl;
+	}
+
+	public void setRequestUrl(String requestUrl) {
+		this.requestUrl = requestUrl;
+	}
+
+	public String getReturnType() {
+		return returnType;
+	}
+
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	public String getReturnTypeText() {
+		return returnTypeText;
+	}
+
+	public void setReturnTypeText(String returnTypeText) {
+		this.returnTypeText = returnTypeText;
+	}
+
+	public String getSourceSystemOid() {
+		return sourceSystemOid;
+	}
+
+	public void setSourceSystemOid(String sourceSystemOid) {
+		this.sourceSystemOid = sourceSystemOid;
+	}
+
+	public String getSourceSysName() {
+		return sourceSysName;
+	}
+
+	public void setSourceSysName(String sourceSysName) {
+		this.sourceSysName = sourceSysName;
+	}
+
+	public String getSourceSysId() {
+		return sourceSysId;
+	}
+
+	public void setSourceSysId(String sourceSysId) {
+		this.sourceSysId = sourceSysId;
+	}
+
+	public String getSourceSystemOidName() {
+		return sourceSystemOidName;
+	}
+
+	public void setSourceSystemOidName(String sourceSystemOidName) {
+		this.sourceSystemOidName = sourceSystemOidName;
+	}
+
+	public String getTargetSystemOid() {
+		return targetSystemOid;
+	}
+
+	public void setTargetSystemOid(String targetSystemOid) {
+		this.targetSystemOid = targetSystemOid;
+	}
+
+	public String getTargetSysName() {
+		return targetSysName;
+	}
+
+	public void setTargetSysName(String targetSysName) {
+		this.targetSysName = targetSysName;
+	}
+
+	public String getTargetSysId() {
+		return targetSysId;
+	}
+
+	public void setTargetSysId(String targetSysId) {
+		this.targetSysId = targetSysId;
+	}
+
+	public String getTargetSystemOidName() {
+		return targetSystemOidName;
+	}
+
+	public void setTargetSystemOidName(String targetSystemOidName) {
+		this.targetSystemOidName = targetSystemOidName;
+	}
+
+	public String getClassPath() {
+		return classPath;
+	}
+
+	public void setClassPath(String classPath) {
+		this.classPath = classPath;
+	}
+
+	public String getDataFlowType() {
+		return dataFlowType;
+	}
+
+	public void setDataFlowType(String dataFlowType) {
+		this.dataFlowType = dataFlowType;
+	}
+
+	public String getDataFlowTypeText() {
+		return dataFlowTypeText;
+	}
+
+	public void setDataFlowTypeText(String dataFlowTypeText) {
+		this.dataFlowTypeText = dataFlowTypeText;
+	}
+
+	public String getBtmTypeId() {
+		return btmTypeId;
+	}
+
+	public void setBtmTypeId(String btmTypeId) {
+		this.btmTypeId = btmTypeId;
+	}
+
+	public String getBtmTypeName() {
+		return btmTypeName;
+	}
+
+	public void setBtmTypeName(String btmTypeName) {
+		this.btmTypeName = btmTypeName;
+	}
+
+	public String getNamespace() {
+		return namespace;
+	}
+
+	public void setNamespace(String namespace) {
+		this.namespace = namespace;
+	}
+
+	public String getSoapAction() {
+		return soapAction;
+	}
+
+	public void setSoapAction(String soapAction) {
+		this.soapAction = soapAction;
+	}
+
+	public String getCxfAxis() {
+		return cxfAxis;
+	}
+
+	public void setCxfAxis(String cxfAxis) {
+		this.cxfAxis = cxfAxis;
+	}
+
+	public String getTargetName() {
+		return targetName;
+	}
+
+	public void setTargetName(String targetName) {
+		this.targetName = targetName;
+	}
+
+	public String getPushType() {
+		return pushType;
+	}
+
+	public void setPushType(String pushType) {
+		this.pushType = pushType;
+	}
+
+	public String getPushTypeText() {
+		return pushTypeText;
+	}
+
+	public void setPushTypeText(String pushTypeText) {
+		this.pushTypeText = pushTypeText;
+	}
+
+	public String getClassifyId() {
+		return classifyId;
+	}
+
+	public void setClassifyId(String classifyId) {
+		this.classifyId = classifyId;
+	}
+
+	public String getClassifyName() {
+		return classifyName;
+	}
+
+	public void setClassifyName(String classifyName) {
+		this.classifyName = classifyName;
+	}
+
+	public List<SysIntParamVO> getSysIntParamVOs() {
+		return sysIntParamVOs;
+	}
+
+	public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
+		this.sysIntParamVOs = sysIntParamVOs;
+	}
+
+	public List<SysIntHeaderVO> getSysIntHeaderVOs() {
+		return sysIntHeaderVOs;
+	}
+
+	public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
+		this.sysIntHeaderVOs = sysIntHeaderVOs;
+	}
+
+	@Override
+	public String toString() {
+		return "SysIntInfoVO{" +
+			"authorityOid='" + authorityOid + '\'' +
+			", authorityOidName='" + authorityOidName + '\'' +
+			", authorityType='" + authorityType + '\'' +
+			", authorityTypeText='" + authorityTypeText + '\'' +
+			", userAccount='" + userAccount + '\'' +
+			", userCode='" + userCode + '\'' +
+			", token='" + token + '\'' +
+			", interfaceFunction='" + interfaceFunction + '\'' +
+			", description='" + description + '\'' +
+			", interfaceType='" + interfaceType + '\'' +
+			", interfaceTypeText='" + interfaceTypeText + '\'' +
+			", paramType='" + paramType + '\'' +
+			", paramTypeText='" + paramTypeText + '\'' +
+			", requestMethod='" + requestMethod + '\'' +
+			", requestMethodText='" + requestMethodText + '\'' +
+			", classifyOid='" + classifyOid + '\'' +
+			", usedFlag='" + usedFlag + '\'' +
+			", sysBaseOid='" + sysBaseOid + '\'' +
+			", sysBaseId='" + sysBaseId + '\'' +
+			", sysBaseName='" + sysBaseName + '\'' +
+			", requestUrl='" + requestUrl + '\'' +
+			", returnType='" + returnType + '\'' +
+			", returnTypeText='" + returnTypeText + '\'' +
+			", sourceSystemOid='" + sourceSystemOid + '\'' +
+			", sourceSysName='" + sourceSysName + '\'' +
+			", sourceSysId='" + sourceSysId + '\'' +
+			", sourceSystemOidName='" + sourceSystemOidName + '\'' +
+			", targetSystemOid='" + targetSystemOid + '\'' +
+			", targetSysName='" + targetSysName + '\'' +
+			", targetSysId='" + targetSysId + '\'' +
+			", targetSystemOidName='" + targetSystemOidName + '\'' +
+			", classPath='" + classPath + '\'' +
+			", dataFlowType='" + dataFlowType + '\'' +
+			", dataFlowTypeText='" + dataFlowTypeText + '\'' +
+			", btmTypeId='" + btmTypeId + '\'' +
+			", btmTypeName='" + btmTypeName + '\'' +
+			", namespace='" + namespace + '\'' +
+			", soapAction='" + soapAction + '\'' +
+			", cxfAxis='" + cxfAxis + '\'' +
+			", targetName='" + targetName + '\'' +
+			", pushType='" + pushType + '\'' +
+			", pushTypeText='" + pushTypeText + '\'' +
+			", classifyId='" + classifyId + '\'' +
+			", classifyName='" + classifyName + '\'' +
+			", sysIntParamVOs=" + sysIntParamVOs +
+			", sysIntHeaderVOs=" + sysIntHeaderVOs +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntBaseVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java
similarity index 88%
rename from Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntBaseVO.java
rename to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java
index 7ac7eb1..f6ff321 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntBaseVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java
@@ -8,7 +8,7 @@
  * @author lihang
  * @date 2022-03-07
  */
-public class SysIntBaseVO extends BaseModelVO {
+public class DockingSystemVO extends BaseModelVO {
 
 	/**
      * 绂佹淇敼杩欎釜鍊�
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntInfoVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntInfoVO.java
deleted file mode 100644
index 49027d5..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntInfoVO.java
+++ /dev/null
@@ -1,746 +0,0 @@
-package com.vci.ubcs.code.vo.pagemodel;
-
-import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
-
-import java.util.List;
-
-/**
- * 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄
- *
- * @author lihang
- * @date 2022-03-07
- */
-public class SysIntInfoVO extends BaseModelVO {
-
-	/**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-	private static final long serialVersionUID = 4615707117716142069L;
-
-	/**
-	* 璁よ瘉鏂瑰紡
-	*/
-	private String authorityoid;
-
-	/**
-	* 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
-	*/
-	private String authorityoidName;
-
-	/**
-	 * 璁よ瘉鏂瑰紡
-	 */
-	private String authorityType;
-
-	/**
-	 * 璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	private String authorityTypeText;
-
-	/**
-	 * 楠岃瘉鐢ㄦ埛
-	 */
-	private String userAccount;
-
-	/**
-	 * 楠岃瘉瀵嗙爜
-	 */
-	private String userCode;
-
-	/**
-	 * 楠岃瘉浠ょ墝
-	 */
-	private String token;
-
-	/**
-	 * 鎺ュ彛鍑芥暟
-	 */
-	private String interfaceFunction;
-
-	/**
-	 * 鎺ュ彛鎻忚堪
-	 */
-	private String description;
-
-
-	/**
-	* 鎺ュ彛绫诲瀷
-	*/
-	private String interfacetype;
-
-
-	/**
-	* 鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
-	*/
-	private String interfacetypeText;
-	/**
-	* 鍙傛暟绫诲瀷
-	*/
-	private String paramtype;
-
-
-	/**
-	* 鍙傛暟绫诲瀷鏄剧ず鏂囨湰
-	*/
-	private String paramtypeText;
-	/**
-	* 璇锋眰鏂瑰紡
-	*/
-	private String requestmethod;
-
-
-	/**
-	* 璇锋眰鏂瑰紡鏄剧ず鏂囨湰
-	*/
-	private String requestmethodText;
-	/**
-	 * 鍒嗙被oid
-	 */
-	private String classifyoid;
-
-	/**
-	 * 鍚敤銆佸仠鐢╰rue/false锛屼笉鐢ㄥ钩鍙扮殑鏋氫妇锛屽噺灏戝骞冲彴鐨勮�﹀悎
-	 */
-	private String usedflag;
-
-	/**
-	 * 鎺ㄩ�佺郴缁無id
-	 */
-	private String sysbaseoid;
-
-	/**
-	 * 鎺ㄩ�佺郴缁熺紪鍙�
-	 */
-	private String sysbaseid;
-
-	/**
-	 * 鎺ㄩ�佺郴缁熷悕绉�
-	 */
-	private String sysbasename;
-
-	/**
-	* 璇锋眰鍦板潃
-	*/
-	private String requesturl;
-
-
-	/**
-	* 杩斿洖鍊肩被鍨�
-	*/
-	private String returntype;
-
-
-	/**
-	* 杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
-	*/
-	private String returntypeText;
-	/**
-	* 鏉ユ簮绯荤粺涓婚敭
-	*/
-	private String sourceSystemOid;
-
-	/**
-	 * 鏉ユ簮绯荤粺鍚嶇О
-	 */
-	private String sourceSysName;
-
-	/**
-	 * 鏉ユ簮绯荤粺鏍囪瘑
-	 */
-	private String sourceSysId;
-
-	/**
-	* 鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
-	*/
-	private String sourcesystemoidName;
-
-	/**
-	* 鐩爣绯荤粺涓婚敭
-	*/
-	private String targetsystemoid;
-
-	/**
-	 * 鐩爣绯荤粺鍚嶇О
-	 */
-	private String targetSysName;
-
-	/**
-	 * 鐩爣绯荤粺鏍囪瘑
-	 */
-	private String targetSysId;
-
-	/**
-	* 鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
-	*/
-	private String targetsystemoidName;
-
-	/**
-	 * 绫昏矾寰�
-	 */
-	private String classPath;
-
-	/**
-	 * 鏁版嵁娴佸悜鏂瑰紡
-	 */
-	private String dataFlowType;
-
-	/**
-	 * 鏁版嵁娴佸悜鏂瑰紡鐨勬樉绀哄瓧娈�
-	 */
-	private String dataFlowTypeText;
-
-	/**
-	 * 瀛樺偍鐨勪笟鍔$被鍨�
-	 */
-	private String btmTypeId;
-
-	/**
-	 * 瀛樺偍鐨勪笟鍔$被鍨嬬殑涓枃鍚嶇О
-	 */
-	private String btmTypeName;
-
-	/**
-	 * 鍛藉悕绌洪棿
-	 */
-	private String namespace;
-
-	/**
-	 * soapAction
-	 */
-	private String soapaction;
-
-	/**
-	 * cxfaxis
-	 */
-	private String cxfaxis;
-
-	/**
-	 * 鍙傛暟鍚嶇О
-	 */
-	private String targName;
-
-	/***
-	 * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��
-	 */
-	private String pushType;
-	/***
-	 * 鎺ㄩ�佺被鍨嬫樉绀哄��
-	 */
-	private String pushTypeText;
-
-	/**
-	 * 鍒嗙被id
-	 */
-	private String classifyid;
-
-	/**
-	 * 鍒嗙被鍚嶇О
-	 */
-	private String classifyname;
-
-	/***
-	 * 鍙傛暟淇℃伅瀵硅薄
-	 */
-	private List<SysIntParamVO> sysIntParamVOs;
-	/***
-	 * header淇℃伅瀵硅薄
-	 */
-	private List<SysIntHeaderVO> sysIntHeaderVOs;
-
-	public String getClassifyid() {
-		return classifyid;
-	}
-
-	public void setClassifyid(String classifyid) {
-		this.classifyid = classifyid;
-	}
-
-	public String getClassifyname() {
-		return classifyname;
-	}
-
-	public void setClassifyname(String classifyname) {
-		this.classifyname = classifyname;
-	}
-	public String getTargName() {
-		return targName;
-	}
-
-	public void setTargName(String targName) {
-		this.targName = targName;
-	}
-
-	public String getSoapaction() {
-		return soapaction;
-	}
-
-	public void setSoapaction(String soapaction) {
-		this.soapaction = soapaction;
-	}
-
-	public String getCxfaxis() {
-		return cxfaxis;
-	}
-
-	public void setCxfaxis(String cxfaxis) {
-		this.cxfaxis = cxfaxis;
-	}
-
-	public String getNamespace() {
-		return namespace;
-	}
-
-	public void setNamespace(String namespace) {
-		this.namespace = namespace;
-	}
-
-	public String getBtmTypeId() {
-		return btmTypeId;
-	}
-
-	public void setBtmTypeId(String btmTypeId) {
-		this.btmTypeId = btmTypeId;
-	}
-
-	public String getBtmTypeName() {
-		return btmTypeName;
-	}
-
-	public void setBtmTypeName(String btmTypeName) {
-		this.btmTypeName = btmTypeName;
-	}
-
-	public String getUsedflag() {
-		return usedflag;
-	}
-
-	public void setUsedflag(String usedflag) {
-		this.usedflag = usedflag;
-	}
-
-	public String getSysbaseoid() {
-		return sysbaseoid;
-	}
-
-	public void setSysbaseoid(String sysbaseoid) {
-		this.sysbaseoid = sysbaseoid;
-	}
-
-	public String getSysbasename() {
-		return sysbasename;
-	}
-
-	public void setSysbasename(String sysbasename) {
-		this.sysbasename = sysbasename;
-	}
-
-	public String getClassPath() {
-		return classPath;
-	}
-
-	public void setClassPath(String classPath) {
-		this.classPath = classPath;
-	}
-
-	/**
-	 * 鑾峰彇 璁よ瘉鏂瑰紡
-	 */
-	public String getAuthorityoid (){
-		return authorityoid;
-	}
-
-	/**
-	* 璁剧疆 璁よ瘉鏂瑰紡
-	*/
-	public void setAuthorityoid (String authorityoid){
-		this.authorityoid = authorityoid;
-	}
-	/**
-	 * 鑾峰彇璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	public String getAuthorityoidName (){
-		return authorityoidName;
-	}
-
-	/**
-	* 璁剧疆璁よ瘉鏂瑰紡鏄剧ず鏂囨湰
-	*/
-	public void setAuthorityoidName (String authorityoidName){
-		this.authorityoidName = authorityoidName;
-	}
-	/**
-	 * 鑾峰彇 鎺ュ彛绫诲瀷
-	 */
-	public String getInterfacetype (){
-		return interfacetype;
-	}
-
-	/**
-	* 璁剧疆 鎺ュ彛绫诲瀷
-	*/
-	public void setInterfacetype (String interfacetype){
-		this.interfacetype = interfacetype;
-	}
-	/**
-	 * 鑾峰彇鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public String getInterfacetypeText (){
-		return interfacetypeText;
-	}
-
-	/**
-	 * 璁剧疆 鎺ュ彛绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public void setInterfacetypeText (String interfacetypeText){
-		this.interfacetypeText = interfacetypeText;
-	}
-	/**
-	 * 鑾峰彇 鍙傛暟绫诲瀷
-	 */
-	public String getParamtype (){
-		return paramtype;
-	}
-
-	/**
-	* 璁剧疆 鍙傛暟绫诲瀷
-	*/
-	public void setParamtype (String paramtype){
-		this.paramtype = paramtype;
-	}
-	/**
-	 * 鑾峰彇鍙傛暟绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public String getParamtypeText (){
-		return paramtypeText;
-	}
-
-	/**
-	 * 璁剧疆 鍙傛暟绫诲瀷鏄剧ず鏂囨湰
-	 */
-	public void setParamtypeText (String paramtypeText){
-		this.paramtypeText = paramtypeText;
-	}
-	/**
-	 * 鑾峰彇 璇锋眰鏂瑰紡
-	 */
-	public String getRequestmethod (){
-		return requestmethod;
-	}
-
-	/**
-	* 璁剧疆 璇锋眰鏂瑰紡
-	*/
-	public void setRequestmethod (String requestmethod){
-		this.requestmethod = requestmethod;
-	}
-	/**
-	 * 鑾峰彇璇锋眰鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	public String getRequestmethodText (){
-		return requestmethodText;
-	}
-
-	/**
-	 * 璁剧疆 璇锋眰鏂瑰紡鏄剧ず鏂囨湰
-	 */
-	public void setRequestmethodText (String requestmethodText){
-		this.requestmethodText = requestmethodText;
-	}
-	/**
-	 * 鑾峰彇 璇锋眰鍦板潃
-	 */
-	public String getRequesturl (){
-		return requesturl;
-	}
-
-	/**
-	* 璁剧疆 璇锋眰鍦板潃
-	*/
-	public void setRequesturl (String requesturl){
-		this.requesturl = requesturl;
-	}
-	/**
-	 * 鑾峰彇 杩斿洖鍊肩被鍨�
-	 */
-	public String getReturntype (){
-		return returntype;
-	}
-
-	/**
-	* 璁剧疆 杩斿洖鍊肩被鍨�
-	*/
-	public void setReturntype (String returntype){
-		this.returntype = returntype;
-	}
-	/**
-	 * 鑾峰彇杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
-	 */
-	public String getReturntypeText (){
-		return returntypeText;
-	}
-
-	/**
-	 * 璁剧疆 杩斿洖鍊肩被鍨嬫樉绀烘枃鏈�
-	 */
-	public void setReturntypeText (String returntypeText){
-		this.returntypeText = returntypeText;
-	}
-	/**
-	 * 鑾峰彇 鏉ユ簮绯荤粺涓婚敭
-	 */
-	public String getSourceSystemoid (){
-		return sourceSystemOid;
-	}
-
-	/**
-	* 璁剧疆 鏉ユ簮绯荤粺涓婚敭
-	*/
-	public void setSourceSystemoid (String sourceSystemOid){
-		this.sourceSystemOid = sourceSystemOid;
-	}
-	/**
-	 * 鑾峰彇鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	public String getSourcesystemoidName (){
-		return sourcesystemoidName;
-	}
-
-	/**
-	* 璁剧疆鏉ユ簮绯荤粺涓婚敭鏄剧ず鏂囨湰
-	*/
-	public void setSourcesystemoidName (String sourcesystemoidName){
-		this.sourcesystemoidName = sourcesystemoidName;
-	}
-	/**
-	 * 鑾峰彇 鐩爣绯荤粺涓婚敭
-	 */
-	public String getTargetsystemoid (){
-		return targetsystemoid;
-	}
-
-	/**
-	* 璁剧疆 鐩爣绯荤粺涓婚敭
-	*/
-	public void setTargetsystemoid (String targetsystemoid){
-		this.targetsystemoid = targetsystemoid;
-	}
-	/**
-	 * 鑾峰彇鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
-	 */
-	public String getTargetsystemoidName (){
-		return targetsystemoidName;
-	}
-
-	/**
-	* 璁剧疆鐩爣绯荤粺涓婚敭鏄剧ず鏂囨湰
-	*/
-	public void setTargetsystemoidName (String targetsystemoidName){
-		this.targetsystemoidName = targetsystemoidName;
-	}
-
-	public String getSourceSysName() {
-		return sourceSysName;
-	}
-
-	public void setSourceSysName(String sourceSysName) {
-		this.sourceSysName = sourceSysName;
-	}
-
-	public String getSourceSysId() {
-		return sourceSysId;
-	}
-
-	public void setSourceSysId(String sourceSysId) {
-		this.sourceSysId = sourceSysId;
-	}
-
-	public String getTargetSysName() {
-		return targetSysName;
-	}
-
-	public void setTargetSysName(String targetSysName) {
-		this.targetSysName = targetSysName;
-	}
-
-	public String getTargetSysId() {
-		return targetSysId;
-	}
-
-	public void setTargetSysId(String targetSysId) {
-		this.targetSysId = targetSysId;
-	}
-
-	public String getAuthorityType() {
-		return authorityType;
-	}
-
-	public void setAuthorityType(String authorityType) {
-		this.authorityType = authorityType;
-	}
-
-	public String getUserAccount() {
-		return userAccount;
-	}
-
-	public void setUserAccount(String userAccount) {
-		this.userAccount = userAccount;
-	}
-
-	public String getUserCode() {
-		return userCode;
-	}
-
-	public void setUserCode(String userCode) {
-		this.userCode = userCode;
-	}
-
-	public String getToken() {
-		return token;
-	}
-
-	public void setToken(String token) {
-		this.token = token;
-	}
-
-	public String getInterfaceFunction() {
-		return interfaceFunction;
-	}
-
-	public void setInterfaceFunction(String interfaceFunction) {
-		this.interfaceFunction = interfaceFunction;
-	}
-
-	@Override
-	public String getDescription() {
-		return description;
-	}
-
-	@Override
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public String getAuthorityTypeText() {
-		return authorityTypeText;
-	}
-
-	public void setAuthorityTypeText(String authorityTypeText) {
-		this.authorityTypeText = authorityTypeText;
-	}
-
-	public String getDataFlowType() {
-		return dataFlowType;
-	}
-
-	public void setDataFlowType(String dataFlowType) {
-		this.dataFlowType = dataFlowType;
-	}
-
-	public String getDataFlowTypeText() {
-		return dataFlowTypeText;
-	}
-
-	public void setDataFlowTypeText(String dataFlowTypeText) {
-		this.dataFlowTypeText = dataFlowTypeText;
-	}
-
-	public String getClassifyoid() {
-		return classifyoid;
-	}
-
-	public void setClassifyoid(String classifyoid) {
-		this.classifyoid = classifyoid;
-	}
-
-	public String getSysbaseid() {
-		return sysbaseid;
-	}
-
-	public void setSysbaseid(String sysbaseid) {
-		this.sysbaseid = sysbaseid;
-	}
-
-	public String getPushType() {
-		return pushType;
-	}
-
-	public void setPushType(String pushType) {
-		this.pushType = pushType;
-	}
-
-	public String getPushTypeText() {
-		return pushTypeText;
-	}
-
-	public void setPushTypeText(String pushTypeText) {
-		this.pushTypeText = pushTypeText;
-	}
-
-	public List<SysIntParamVO> getSysIntParamVOs() {
-		return sysIntParamVOs;
-	}
-
-	public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
-		this.sysIntParamVOs = sysIntParamVOs;
-	}
-
-	public List<SysIntHeaderVO> getSysIntHeaderVOs() {
-		return sysIntHeaderVOs;
-	}
-
-	public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
-		this.sysIntHeaderVOs = sysIntHeaderVOs;
-	}
-
-	@Override
-	public String toString() {
-		return "SysIntInfoVO{" +
-				"authorityoid='" + authorityoid + '\'' +
-				", authorityoidName='" + authorityoidName + '\'' +
-				", authorityType='" + authorityType + '\'' +
-				", authorityTypeText='" + authorityTypeText + '\'' +
-				", userAccount='" + userAccount + '\'' +
-				", userCode='" + userCode + '\'' +
-				", token='" + token + '\'' +
-				", interfaceFunction='" + interfaceFunction + '\'' +
-				", description='" + description + '\'' +
-				", interfacetype='" + interfacetype + '\'' +
-				", interfacetypeText='" + interfacetypeText + '\'' +
-				", paramtype='" + paramtype + '\'' +
-				", paramtypeText='" + paramtypeText + '\'' +
-				", requestmethod='" + requestmethod + '\'' +
-				", requestmethodText='" + requestmethodText + '\'' +
-				", classifyoid='" + classifyoid + '\'' +
-				", usedflag='" + usedflag + '\'' +
-				", sysbaseoid='" + sysbaseoid + '\'' +
-				", sysbaseid='" + sysbaseid + '\'' +
-				", sysbasename='" + sysbasename + '\'' +
-				", requesturl='" + requesturl + '\'' +
-				", returntype='" + returntype + '\'' +
-				", returntypeText='" + returntypeText + '\'' +
-				", sourceSystemOid='" + sourceSystemOid + '\'' +
-				", sourceSysName='" + sourceSysName + '\'' +
-				", sourceSysId='" + sourceSysId + '\'' +
-				", sourcesystemoidName='" + sourcesystemoidName + '\'' +
-				", targetsystemoid='" + targetsystemoid + '\'' +
-				", targetSysName='" + targetSysName + '\'' +
-				", targetSysId='" + targetSysId + '\'' +
-				", targetsystemoidName='" + targetsystemoidName + '\'' +
-				", classPath='" + classPath + '\'' +
-				", dataFlowType='" + dataFlowType + '\'' +
-				", dataFlowTypeText='" + dataFlowTypeText + '\'' +
-				", btmTypeId='" + btmTypeId + '\'' +
-				", btmTypeName='" + btmTypeName + '\'' +
-				", namespace='" + namespace + '\'' +
-				", soapaction='" + soapaction + '\'' +
-				", cxfaxis='" + cxfaxis + '\'' +
-				", targName='" + targName + '\'' +
-				", pushType='" + pushType + '\'' +
-				", pushTypeText='" + pushTypeText + '\'' +
-				", classifyid='" + classifyid + '\'' +
-				", classifyname='" + classifyname + '\'' +
-				", sysIntParamVOs=" + sysIntParamVOs +
-				", sysIntHeaderVOs=" + sysIntHeaderVOs +
-				'}';
-	}
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java
index 1021e7e..dffa444 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java
@@ -26,7 +26,7 @@
 	/****
 	 * 鍒嗙被閾炬帴鍚嶇О
 	 */
-	private String getNodeLinkName;
+	private String nodeLinkName;
 	/***
 	 * 鐖剁骇鑺傜偣
 	 */
@@ -52,12 +52,12 @@
 		this.nodeLink = nodeLink;
 	}
 
-	public String getGetNodeLinkName() {
-		return getNodeLinkName;
+	public String getNodeLinkName() {
+		return nodeLinkName;
 	}
 
-	public void setGetNodeLinkName(String getNodeLinkName) {
-		this.getNodeLinkName = getNodeLinkName;
+	public void setNodeLinkName(String nodeLinkName) {
+		this.nodeLinkName = nodeLinkName;
 	}
 
 	public String getPid() {
@@ -81,7 +81,7 @@
 		return "DockingPreClassifyDTO{" +
 			"className='" + className + '\'' +
 			", nodeLink='" + nodeLink + '\'' +
-			", getNodeLinkName='" + getNodeLinkName + '\'' +
+			", nodeLinkName='" + nodeLinkName + '\'' +
 			", pid='" + pid + '\'' +
 			", dockingPreViewModelDTOList=" + dockingPreViewModelDTOList +
 			'}';
diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java
index eac2632..9e4cb15 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java
@@ -37,7 +37,7 @@
 	 * 鍒嗙被閾炬帴鍚嶇О
 	 */
 	@ApiModelProperty(value = "閾炬帴鍚嶇О")
-	private String getNodeLinkName;
+	private String nodeLinkName;
 	/***
 	 * 鐖剁骇鑺傜偣
 	 */
diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java
index 4fbd1a3..55460d4 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java
@@ -24,7 +24,7 @@
 	/****
 	 * 鍒嗙被閾炬帴鍚嶇О
 	 */
-	private String getNodeLinkName;
+	private String nodeLinkName;
 	/***
 	 * 鐖剁骇鑺傜偣
 	 */
@@ -50,12 +50,12 @@
 		this.nodeLink = nodeLink;
 	}
 
-	public String getGetNodeLinkName() {
-		return getNodeLinkName;
+	public String getNodeLinkName() {
+		return nodeLinkName;
 	}
 
-	public void setGetNodeLinkName(String getNodeLinkName) {
-		this.getNodeLinkName = getNodeLinkName;
+	public void setNodeLinkName(String nodeLinkName) {
+		this.nodeLinkName = nodeLinkName;
 	}
 
 	public String getPid() {
@@ -79,7 +79,7 @@
 		return "DockingPreClassifyVO{" +
 			"className='" + className + '\'' +
 			", nodeLink='" + nodeLink + '\'' +
-			", getNodeLinkName='" + getNodeLinkName + '\'' +
+			", nodeLinkName='" + nodeLinkName + '\'' +
 			", pid='" + pid + '\'' +
 			", dockingPreViewModelVOList=" + dockingPreViewModelVOList +
 			'}';
diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/collection/DockingPreAttrMappingVOList.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/collection/DockingPreAttrMappingVOList.java
new file mode 100644
index 0000000..ecd85b1
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/collection/DockingPreAttrMappingVOList.java
@@ -0,0 +1,29 @@
+package com.vci.ubcs.code.webservice.vo.collection;
+
+import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
+
+import java.io.Serializable;
+import java.util.List;
+
+/***
+ * 灞炴�ф槧灏勪繚瀛樻椂鍊欓泦鍚堝璞℃槧灏�
+ */
+public class DockingPreAttrMappingVOList implements Serializable {
+
+	private List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList;
+
+	public List<DockingPreAttrMappingVO> getDockingPreAttrMappingVOList() {
+		return dockingPreAttrMappingVOList;
+	}
+
+	public void setDockingPreAttrMappingVOList(List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList) {
+		this.dockingPreAttrMappingVOList = dockingPreAttrMappingVOList;
+	}
+
+	@Override
+	public String toString() {
+		return "DockingPreAttrMappingVOList{" +
+			"dockingPreAttrMappingVOList=" + dockingPreAttrMappingVOList +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
new file mode 100644
index 0000000..07131a6
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
@@ -0,0 +1,107 @@
+package com.vci.ubcs.code.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.code.dto.DockingSystemDTO;
+import com.vci.ubcs.code.entity.CodeRule;
+import com.vci.ubcs.code.entity.DockingSystem;
+import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.service.IDockingSystemConfigService;
+import com.vci.ubcs.code.service.IDockingSystemService;
+import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
+import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper;
+import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.springframework.web.bind.annotation.*;
+
+/**
+ * 鐮佹鍩虹淇℃伅鎺у埗鍣�
+ *
+ * @author xiejun
+ * @date 2023-05-31
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/dockingManagement")
+@Api(value = "鎺ュ彛绠$悊", tags = "缂栫爜鐩稿叧鎺ュ彛绠$悊淇℃伅")
+public class DockingManagementController {
+	/***
+	 * 闆嗘垚绯荤粺绠$悊鏈嶅姟
+	 */
+	private  final IDockingSystemService dockingSystemService;
+	/***
+	 * 闆嗘垚鎺ュ彛閰嶇疆鏈嶅姟
+	 */
+	private  final IDockingSystemConfigService dockingSystemConfigService;
+
+
+
+
+	/**绯荤粺闆嗘垚鐨勭郴缁熶俊鎭垪琛�
+	 * @param dockingSystem 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
+	 *@return 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭樉绀哄璞″垪琛�
+	 */
+	@GetMapping("/gridSysIntBase")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "鍒嗛〉", notes = "dockingSystem")
+	public R<IPage<DockingSystemVO>> page(DockingSystem dockingSystem, Query query) {
+		IPage<DockingSystem> pages = dockingSystemService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingSystem));
+		return R.data(DockingSystemWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 澧炲姞 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭�
+	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@PostMapping( "/addSave")
+	public  R<DockingSystemVO> addSave(@RequestBody DockingSystemDTO dockingSystemDTO){
+		boolean res= dockingSystemService.addSave(dockingSystemDTO);
+		return  R.status(res);
+	}
+
+
+	/**
+	 * 淇敼 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭�
+	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@PutMapping("/editSave")
+	public R<DockingSystemVO> editSave(@RequestBody DockingSystemDTO dockingSystemDTO){
+		DockingSystemVO dockingSystemVO = dockingSystemService.editSave(dockingSystemDTO);
+		return R.data(dockingSystemVO);
+	}
+
+
+	/**
+	 * 鍒犻櫎绯荤粺闆嗘垚鐨勭郴缁熶俊鎭�
+	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
+	 * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+	 */
+	@DeleteMapping( "/deleteData")
+	public R delSystemData( DockingSystemDTO dockingSystemDTO) {
+		return R.status(dockingSystemService.delSystemData(dockingSystemDTO));
+	}
+	/**
+	 * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃
+	 * @param DockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
+	 * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃
+	 */
+	@GetMapping("/gridSysIntInfo")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "鍒嗛〉", notes = "DockingSystemConfig")
+	public R<IPage<DockingSystemConfigVO>> gridSysIntInfo(DockingSystemConfig DockingSystemConfig, Query query){
+		IPage<DockingSystemConfig> pages = dockingSystemConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig));
+		return R.data(DockingSystemConfigWrapper.build().pageVO(pages));
+	}
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
index 02d1596..f8172ec 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
@@ -85,5 +85,17 @@
 		return codeClassifyTemplateVO.getAttributes();
 	}
 
+	/**
+	 * 鏍规嵁鍒嗙被id锛岃幏鍙栧垎绫�
+	 * @param classifyId
+	 * @return
+	 */
+
+	@Override
+	@GetMapping(CODE_GETBYID)
+	public CodeClassify getById(String classifyId) {
+		return plCodeClassifyService.getById(classifyId);
+	}
+
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java
new file mode 100644
index 0000000..a72c66c
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java
@@ -0,0 +1,7 @@
+package com.vci.ubcs.code.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.code.entity.DockingSystemConfig;
+
+public interface DockingSystemConfigMapper extends BaseMapper<DockingSystemConfig> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java
new file mode 100644
index 0000000..4e4041e
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java
@@ -0,0 +1,7 @@
+package com.vci.ubcs.code.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.code.entity.DockingSystem;
+
+public interface DockingSystemMapper extends BaseMapper<DockingSystem> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java
new file mode 100644
index 0000000..17e6b99
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java
@@ -0,0 +1,4 @@
+package com.vci.ubcs.code.service;
+
+public interface IDockingManagement {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
new file mode 100644
index 0000000..7a208c3
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
@@ -0,0 +1,13 @@
+package com.vci.ubcs.code.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.code.entity.DockingSystem;
+import com.vci.ubcs.code.entity.DockingSystemConfig;
+
+/***
+ * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟
+ * @author xiejun
+ * @date 2023-06-01
+ */
+public interface IDockingSystemConfigService extends IService<DockingSystemConfig> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java
new file mode 100644
index 0000000..b53618f
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java
@@ -0,0 +1,30 @@
+package com.vci.ubcs.code.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.code.dto.DockingSystemDTO;
+import com.vci.ubcs.code.entity.DockingSystem;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import org.springblade.core.tool.api.R;
+
+/***
+ * 绯荤粺鎺ュ彛绠$悊-闆嗘垚绯荤粺鏈嶅姟
+ * @author xiejun
+ * @date 2023-06-01
+ */
+public interface IDockingSystemService extends IService<DockingSystem> {
+	/**
+	 * 澧炲姞 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭�
+	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	public boolean addSave(DockingSystemDTO dockingSystemDTO);
+	/**
+	 * 淇敼 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭�
+	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO);
+
+
+	boolean delSystemData(DockingSystemDTO dockingSystemDTO);
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java
new file mode 100644
index 0000000..3539281
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java
@@ -0,0 +1,10 @@
+package com.vci.ubcs.code.service;
+
+/***
+ * 绯荤当绠$悊鐩稿叧鏈嶅姟
+ */
+public interface IDokingSysManaentService {
+
+
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java
index fdfd4ea..a1e0a6b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java
@@ -9,7 +9,7 @@
 /**
 	* 缂栫爜淇℃伅 鏈嶅姟瀹炵幇绫�
 	*
-	* @author xiej
+	* @author xiejun
 	* @since 2023-05-17
 	*/
 @Service
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
new file mode 100644
index 0000000..2341b7d
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -0,0 +1,23 @@
+package com.vci.ubcs.code.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
+import com.vci.ubcs.code.service.IDockingSystemConfigService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.function.Function;
+
+/***
+ * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟
+ * @author xiejun
+ * @date 2023-06-01
+ */
+@Service
+public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
new file mode 100644
index 0000000..46a17e6
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
@@ -0,0 +1,88 @@
+package com.vci.ubcs.code.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+import com.vci.ubcs.code.dto.DockingSystemDTO;
+import com.vci.ubcs.code.entity.CodeRule;
+import com.vci.ubcs.code.entity.DockingSystem;
+import com.vci.ubcs.code.mapper.DockingSystemMapper;
+import com.vci.ubcs.code.service.IDockingSystemService;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
+import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING;
+import static com.vci.ubcs.code.constant.MdmLifeCycleConstant.CODE_RULE_LC;
+
+/***
+ * 绯荤粺鎺ュ彛绠$悊-闆嗘垚绯荤粺鏈嶅姟
+ * @author xiejun
+ * @date 2023-06-01
+ */
+@Service
+public class DockingSystemServiceImpl extends ServiceImpl<DockingSystemMapper, DockingSystem> implements IDockingSystemService {
+	/***
+	 * 闆嗘垚绯荤粺绠$悊鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private  DockingSystemMapper dockingSystemMapper;
+
+	/**
+	 * 瀵硅薄鐨勬搷浣�
+	 */
+	@Autowired
+	private RevisionModelUtil revisionModelUtil;
+	@Override
+	public boolean addSave(DockingSystemDTO dockingSystemDTO) {
+
+		VciBaseUtil.alertNotNull(dockingSystemDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+		//灏咲TO杞崲涓篋O
+		DockingSystem dockingSystem = Objects.requireNonNull(BeanUtil.copy(dockingSystemDTO, DockingSystem.class));
+		String userId = AuthUtil.getUserId().toString();
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystem, MdmBtmTypeConstant.SYS_INT_BASE);
+		dockingSystem.setLctid(CODE_RULE_LC);
+		dockingSystem.setLcStatus(FRAMEWORK_RELEASE_EDITING);
+		return dockingSystemMapper.insert(dockingSystem)>0;
+	}
+	/**
+	 * 淇敼 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭�
+	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@Override
+	public DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO) {
+		VciBaseUtil.alertNotNull(dockingSystemDTO,"鏁版嵁瀵硅薄",dockingSystemDTO.getOid(),"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭富閿�");
+		//灏咲TO杞崲涓篋O
+		DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
+		revisionModelUtil.copyFromDTOIgnore(dockingSystemDTO,dockingSystem);
+		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingSystem);
+		dockingSystemMapper.updateById(dockingSystem);
+		return DockingSystemWrapper.build().entityVO(dockingSystem);
+	}
+
+	@Override
+	public boolean delSystemData(DockingSystemDTO dockingSystemDTO) {
+		VciBaseUtil.alertNotNull(dockingSystemDTO,"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹璞�",dockingSystemDTO.getOid(),"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭殑涓婚敭");
+		/*DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
+		BaseResult baseResult = checkIsCanDeleteForDO(sysIntBaseDTO,sysIntBaseDO);
+		if(baseResult.isSuccess()) {
+
+		}else{
+			return baseResult;
+		}
+		//鎵ц鍒犻櫎鎿嶄綔
+		BatchCBO batchCBO = sysIntBaseMapper.deleteByPrimaryKey(sysIntBaseDO.getOid());
+		return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL);
+*/
+		return false;
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java
new file mode 100644
index 0000000..c41e9fb
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java
@@ -0,0 +1,66 @@
+package com.vci.ubcs.code.wrapper;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
+
+public class DockingSystemConfigWrapper extends BaseEntityWrapper<DockingSystemConfig, DockingSystemConfigVO> {
+	public static DockingSystemConfigWrapper build() {
+		return new DockingSystemConfigWrapper();
+	}
+	@Override
+	public DockingSystemConfigVO entityVO(DockingSystemConfig entity) {
+		DockingSystemConfigVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSystemConfigVO.class));
+		return vo;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param entitys
+	 * @return
+	 */
+	public List<DockingSystemConfigVO> entityVOs(Collection<DockingSystemConfig> entitys) {
+		if(CollectionUtils.isEmpty(entitys)) {
+			return new ArrayList<>();
+		}
+		List<DockingSystemConfigVO> vos=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(entitys)) {
+			entitys.stream().forEach(DockingSystem -> {
+				vos.add(entityVO(DockingSystem));
+			});
+		}
+		return vos;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vos
+	 * @return
+	 */
+	public List<DockingSystemConfig> voentitys(Collection<DockingSystemConfigVO> vos) {
+		if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
+		List<DockingSystemConfig>entitys =new ArrayList<>();
+		if(!CollectionUtils.isEmpty(vos)) {
+			vos.stream().forEach(entity -> {
+				entitys.add(voentity(entity));
+			});
+		}
+		return entitys;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vo
+	 * @return
+	 */
+	public DockingSystemConfig voentity(DockingSystemConfigVO vo) {
+		DockingSystemConfig entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSystemConfig.class));
+		return entity;
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java
new file mode 100644
index 0000000..7e91799
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java
@@ -0,0 +1,67 @@
+package com.vci.ubcs.code.wrapper;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.vci.ubcs.code.entity.DockingSystem;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
+
+public class DockingSystemWrapper extends BaseEntityWrapper<DockingSystem, DockingSystemVO> {
+	public static DockingSystemWrapper build() {
+		return new DockingSystemWrapper();
+	}
+	@Override
+	public DockingSystemVO entityVO(DockingSystem entity) {
+		DockingSystemVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSystemVO.class));
+		return vo;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param entitys
+	 * @return
+	 */
+	public List<DockingSystemVO> entityVOs(Collection<DockingSystem> entitys) {
+		if(CollectionUtils.isEmpty(entitys)) {
+			return new ArrayList<>();
+		}
+		List<DockingSystemVO> vos=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(entitys)) {
+			entitys.stream().forEach(DockingSystem -> {
+				vos.add(entityVO(DockingSystem));
+			});
+		}
+		return vos;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vos
+	 * @return
+	 */
+	public List<DockingSystem> voentitys(Collection<DockingSystemVO> vos) {
+		if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
+		List<DockingSystem>entitys =new ArrayList<>();
+		if(!CollectionUtils.isEmpty(vos)) {
+			vos.stream().forEach(entity -> {
+				entitys.add(voentity(entity));
+			});
+		}
+		return entitys;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vo
+	 * @return
+	 */
+	public DockingSystem voentity(DockingSystemVO vo) {
+		DockingSystem entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSystem.class));
+		return entity;
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index b054ef5..d1bd445 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -134,7 +134,7 @@
             <if test="oid != null ">
                 codeclassify0.parentCodeClassifyOid = '${oid}'
             </if>
-            <if test="oid = null ">
+            <if test="oid == null ">
                 codeclassify0.parentCodeClassifyOid is null
             </if>
         CONNECT BY PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml
new file mode 100644
index 0000000..6831b11
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.code.mapper.DockingSystemConfigMapper">
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingSystemConfig">
+        <result column="OID" property="oid"/>
+        <result column="REVISIONOID" property="revisionOid"/>
+        <result column="NAMEOID" property="nameOid"/>
+        <result column="BTMNAME" property="btmname"/>
+        <result column="LASTR" property="lastR"/>
+        <result column="FIRSTR" property="firstR"/>
+        <result column="LASTV" property="lastV"/>
+        <result column="FIRSTV" property="firstV"/>
+        <result column="CREATOR" property="creator"/>
+        <result column="CREATETIME" property="createTime"/>
+        <result column="LASTMODIFIER" property="lastModifier"/>
+        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
+        <result column="REVISIONRULE" property="revisionRule"/>
+        <result column="VERSIONRULE" property="versionRule"/>
+        <result column="REVISIONSEQ" property="revisionSeq"/>
+        <result column="REVISIONVALUE" property="revisionValue"/>
+        <result column="VERSIONSEQ" property="versionSeq"/>
+        <result column="VERSIONVALUE" property="versionValue"/>
+        <result column="LCTID" property="lctid"/>
+        <result column="LCSTATUS" property="lcStatus"/>
+        <result column="TS" property="ts"/>
+        <result column="ID" property="id"/>
+        <result column="NAME" property="name"/>
+        <result column="DESCRIPTION" property="description"/>
+        <result column="OWNER" property="owner"/>
+        <result column="COPYFROMVERSION" property="copyFromVersion"/>
+        <result column="AUTHORITYOID" property="authorityOid"/>
+        <result column="INTERFACEFUNCTION" property="interfaceFunction"/>
+        <result column="INTERFACETYPE" property="interfaceType"/>
+        <result column="PARAMTYPE" property="paramType"/>
+        <result column="REQUESTMETHOD" property="requestMethod"/>
+        <result column="TYPE" property="pushType"/>
+        <result column="CLASSIFYID" property="classifyId"/>
+        <result column="CLASSIFYNAME" property="classifyName"/>
+        <result column="PUSHTYPE" property="pushType"/>
+        <result column="USEDFLAG" property="usedFlag"/>
+        <result column="SYSBASEOID" property="sysBaseOid"/>
+        <result column="SYSBASEID" property="sysBaseId"/>
+        <result column="SYSBASENAME" property="sysBaseName"/>
+        <result column="RETURNTYPE" property="returnType"/>
+        <result column="REQUESTURL" property="requestUrl"/>
+        <result column="SOURCESYSTEMOID" property="sourceSystemOid"/>
+        <result column="SOURCESYSNAME" property="sourceSysName"/>
+        <result column="SOURCESYSID" property="sourceSysId"/>
+        <result column="TARGETSYSTEMOID" property="targetSystemOid"/>
+        <result column="TARGETSYSNAME" property="targetSysName"/>
+        <result column="TARGETSYSID" property="targetSysId"/>
+        <result column="CLASSPATH" property="classPath"/>
+        <result column="DATAFLOWTYPE" property="dataFlowType"/>
+
+        <result column="BTMTYPEID" property="btmTypeId"/>
+        <result column="BTMTYPENAME" property="btmTypeName"/>
+        <result column="NAMESPACE" property="namespace"/>
+        <result column="SOAPACTION" property="soapAction"/>
+        <result column="CXFAXIS" property="cxfAxis"/>
+
+    </resultMap>
+
+
+</mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml
new file mode 100644
index 0000000..30a16ac
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.code.mapper.DockingSystemMapper">
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingSystem">
+        <result column="OID" property="oid"/>
+        <result column="REVISIONOID" property="revisionOid"/>
+        <result column="NAMEOID" property="nameOid"/>
+        <result column="BTMNAME" property="btmname"/>
+        <result column="LASTR" property="lastR"/>
+        <result column="FIRSTR" property="firstR"/>
+        <result column="LASTV" property="lastV"/>
+        <result column="FIRSTV" property="firstV"/>
+        <result column="CREATOR" property="creator"/>
+        <result column="CREATETIME" property="createTime"/>
+        <result column="LASTMODIFIER" property="lastModifier"/>
+        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
+        <result column="REVISIONRULE" property="revisionRule"/>
+        <result column="VERSIONRULE" property="versionRule"/>
+        <result column="REVISIONSEQ" property="revisionSeq"/>
+        <result column="REVISIONVALUE" property="revisionValue"/>
+        <result column="VERSIONSEQ" property="versionSeq"/>
+        <result column="VERSIONVALUE" property="versionValue"/>
+        <result column="LCTID" property="lctid"/>
+        <result column="LCSTATUS" property="lcStatus"/>
+        <result column="TS" property="ts"/>
+        <result column="ID" property="id"/>
+        <result column="NAME" property="name"/>
+        <result column="DESCRIPTION" property="description"/>
+        <result column="OWNER" property="owner"/>
+        <result column="COPYFROMVERSION" property="copyFromVersion"/>
+    </resultMap>
+
+</mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
index 08eebfe..d530041 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
@@ -4,9 +4,9 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.vci.ubcs.code.feign.ICodeClassifyClient;
-import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.code.webservice.service.*;
 import com.vci.ubcs.code.webservice.vo.*;
+import com.vci.ubcs.code.webservice.vo.collection.DockingPreAttrMappingVOList;
 import com.vci.ubcs.code.webservice.wrapper.DockingPreApplyFormWrapper;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
@@ -19,7 +19,7 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -119,10 +119,11 @@
 	@PostMapping( "/batchAddSave")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "淇濆瓨灞炴�ф槧灏勯厤缃�", notes = "dockingPreAttrMappingVOList")
-	public R batchSave(@Valid @RequestBody List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList){
+	public R batchSave(@RequestBody DockingPreAttrMappingVOList dockingPreAttrMappingVOList){
+		List<DockingPreAttrMappingVO> dockingPreAttrMappingVOs = dockingPreAttrMappingVOList.getDockingPreAttrMappingVOList();
 		List<DockingPreAttrMappingVO> dockingPreAttrRangeVOS=new ArrayList<>();
 		try {
-			 dockingPreAttrRangeVOS = dockingPreAttrMappingService.batchAddSave(dockingPreAttrMappingVOList);
+			 dockingPreAttrRangeVOS = dockingPreAttrMappingService.batchAddSave(dockingPreAttrMappingVOs);
 		}catch (Exception e){
 			return R.fail("闆嗗洟闆嗘垚灞炴�ф槧灏勯厤缃繚瀛樺け璐ワ細"+e.getMessage());
 		}
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java
index 099beaf..5217beb 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java
@@ -205,7 +205,7 @@
 				dockingPreClassify.setPid(pid);
 				dockingPreClassify.setId(classNumber);
 				dockingPreClassify.setNodeLink(nodeLink);
-				dockingPreClassify.setGetNodeLinkName(nodeLinkName);
+				dockingPreClassify.setNodeLinkName(nodeLinkName);
 				dockingPreClassify.setClassName(className);
 				dockingPreClassifyArrayList.add(dockingPreClassify);
 				// 鑾峰彇瀵瑰簲鐨勫垎绫昏鍥炬ā鍨�
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
index d0cc795..7799f12 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -4,10 +4,11 @@
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.entity.CodeClassify;
+import com.vci.ubcs.code.feign.ICodeClassifyClient;
+import com.vci.ubcs.code.webservice.entity.*;
 import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper;
-import com.vci.ubcs.code.webservice.service.IDockingPreAttrMappingService;
-import com.vci.ubcs.code.webservice.service.IDockingPreAttrRangeService;
-import com.vci.ubcs.code.webservice.service.IDockingPreMetaAttrService;
+import com.vci.ubcs.code.webservice.service.*;
 import com.vci.ubcs.code.webservice.vo.DokingAttributeSerchVO;
 import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrMappingWrapper;
 import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrRangeWrapper;
@@ -15,14 +16,12 @@
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
 import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
-import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
-import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
-import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
 import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
 import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
 import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -45,6 +44,11 @@
 	 */
 	@Autowired(required = false)
 	private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
+	/***
+	 * 涓绘暟鎹垎绫绘湇鍔�
+	 */
+	@Autowired(required = true)
+	private  	ICodeClassifyClient codeClassifyClient;
 
 	/***
 	 * 涓氬姟鏁版嵁灞炴�ф湇鍔�
@@ -64,8 +68,19 @@
 	private IDockingPreAttrRangeService dockingPreAttrRangeService;
 
 
+	/***
+	 * 闆嗗洟鍒嗙被瑙嗗浘妯″瀷鏈嶅姟
+	 */
+	@Autowired(required = false)
 
+	private IDockingPreViewModelService dockingPreViewModelService;
 
+	/***
+	 * 闆嗗洟灞炴�ф湇鍔�
+	 */
+	@Autowired(required = false)
+	@Lazy
+	private IDockingPreClassifyService dockingPreClassifyService;
 
 	/***
 	 * 鏍规嵁涓绘暟鎹垎绫讳富閿幏鍙栧垎绫讳俊鎭厤缃�
@@ -77,31 +92,40 @@
 		VciBaseUtil.alertNotNull(codeClassifyId,"涓绘暟鎹垎绫讳富閿�");
 		VciBaseUtil.alertNotNull(sourceClassifyId,"闆嗗洟鍒嗙被涓婚敭");
 		//棣栧厛鑾峰彇鍒嗙被妯℃澘灞炴�э紝鐒跺悗涓庡睘鎬ч厤缃潗姣旇緝锛屼互闃茶鏈夊鍒犲睘鎬х殑鍙兘
+		DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(sourceClassifyId);
 		List<DockingPreMetaAttr> dockingPreMetaAttrList=	dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId));
 		List<DockingPreAttrMapping> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getSourceClassifyId, sourceClassifyId).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId));
 		Map<String/**灞炴�т富閿�**/, DockingPreAttrMapping> dockingPreAttrMappingMap = dockingPreAttrMappings.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getMetaListId(), t -> t));
-
+		List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,sourceClassifyId));
+		Map<String,DockingPreViewModel> dockingPreViewModelMap=dockingPreViewModelList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
+		CodeClassify codeClassify= codeClassifyClient.getById(codeClassifyId);
 		List<DockingPreAttrMapping> newDockingPreAttrMappingList=new ArrayList<>();
 		dockingPreMetaAttrList.stream().forEach(dockingPreMetaAttr -> {
 			String attrOid=dockingPreMetaAttr.getOid();
 			DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping();
 			if(dockingPreAttrMappingMap.containsKey(attrOid)){
 				dockingPreAttrMapping=	dockingPreAttrMappingMap.get(attrOid);
+				DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping);
 			}else{
 				DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
 				dockingPreAttrMapping.setMetaListId(dockingPreMetaAttr.getOid());//灞炴�т富閿�
 				dockingPreAttrMapping.setSourceAttrKey(dockingPreMetaAttr.getEnglishName());//鑻辨枃鍚嶇О
 				dockingPreAttrMapping.setSourceAttrName(dockingPreMetaAttr.getChineseName());//涓枃鍚嶇О
 				dockingPreAttrMapping.setSourceClassifyId(dockingPreMetaAttr.getSourceClassifyId());//闆嗗洟鍒嗙被oid
-				dockingPreAttrMapping.setSourceClassifyName("");//鍒嗙被鍚嶇О
+				DockingPreViewModel dockingPreViewModel=new DockingPreViewModel();
+				if(dockingPreViewModelMap.containsKey(dockingPreMetaAttr.getViewModelId())){
+					dockingPreViewModel=dockingPreViewModelMap.get(dockingPreMetaAttr.getViewModelId());
+				}
+				dockingPreAttrMapping.setSourceClassifyName(dockingPreClassify.getClassName());//鍒嗙被鍚嶇О
 				dockingPreAttrMapping.setViewModeId(dockingPreMetaAttr.getViewModelId());//妯″瀷瑙嗗浘id
-				dockingPreAttrMapping.setViewModelName("");//鍒嗙被妯″瀷鍚嶇О
-				dockingPreAttrMapping.setViewName("");//鍒嗙被妯″瀷鍚嶇О
-
+				dockingPreAttrMapping.setViewModelName(dockingPreViewModel.getName());//鍒嗙被妯″瀷鍚嶇О
+				dockingPreAttrMapping.setViewName(dockingPreViewModel.getViewName());//鍒嗙被妯″瀷鍚嶇О
+				dockingPreAttrMapping.setTargetClassifyId(codeClassifyId);
+				dockingPreAttrMapping.setTargetClassifyName(codeClassify.getName());
 			}
 			newDockingPreAttrMappingList.add(dockingPreAttrMapping);
 		});
-		return 	dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,false);
+		return 	dockingPreAttrMappingDO2VOS(newDockingPreAttrMappingList,false);
 	}
 
 	/***
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
index b2ff550..fb328fa 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
@@ -421,7 +421,7 @@
 						dockingPreClassify.setPid(pid);
 						dockingPreClassify.setId(classNumber);
 						dockingPreClassify.setNodeLink(nodeLink);
-						dockingPreClassify.setGetNodeLinkName(nodeLinkName);
+						dockingPreClassify.setNodeLinkName(nodeLinkName);
 						dockingPreClassify.setClassName(className);
 						dockingPreClassify.setVersionValue(version);
 						dockingPreClassifyList.add(dockingPreClassify);
@@ -545,7 +545,7 @@
 				dockingPreClassify.setPid(pid);
 				dockingPreClassify.setId(classNumber);
 				dockingPreClassify.setNodeLink(nodeLink);
-				dockingPreClassify.setGetNodeLinkName(nodeLinkName);
+				dockingPreClassify.setNodeLinkName(nodeLinkName);
 				dockingPreClassify.setClassName(className);
 				dockingPreClassifyArrayList.add(dockingPreClassify);
 				// 鑾峰彇瀵瑰簲鐨勫垎绫昏鍥炬ā鍨�
@@ -787,7 +787,7 @@
 				DockingMainData mainData = new DockingMainData();
 				mainData.setApplyEntId(dockingApplyUnitCode);//鐢宠鍗曚綅浠g爜
 				mainData.setApplyId(apllyCode);//鐢宠鍗曞彿
-				mainData.setClassName(dockingPreClassify.getGetNodeLinkName());//鍒嗙被鍚嶇О
+				mainData.setClassName(dockingPreClassify.getNodeLinkName());//鍒嗙被鍚嶇О
 				mainData.setCreateBy(curUserName);//
 				mainData.setSecretLevel("鍐呴儴");//瀵嗙骇锛岄粯璁や负鍐呴儴
 				mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//鑾峰彇瑙嗗浘妯″瀷
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
index 220f181..503dc2f 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
@@ -31,7 +31,7 @@
         <result column="COPYFROMVERSION" property="copyFromVersion"/>
         <result column="CLASSNAME" property="className"/>
         <result column="NODELINK" property="nodeLink"/>
-        <result column="NODELINKNAME" property="getNodeLinkName"/>
+        <result column="NODELINKNAME" property="nodeLinkName"/>
         <result column="PID" property="pid"/>
     </resultMap>
     <select id="selectCompanyGroupClassifyVOByTree" resultMap="plDockingClassifyResultMap">
@@ -67,17 +67,16 @@
         codeclassify0.NODELINKNAME   as nodelinkname,
         codeclassify0.PID   as pid
         from PL_CODE_JCLASSIFY codeclassify0
+        start with
         <!--<where>-->
-            <if test="oid != null and oid != ''">
-                start with
+            <if test="oid != null">
                     codeclassify0.pid = '${oid}'
-                connect by prior codeclassify0.oid =codeclassify0.pid
             </if>
-          <!--  <if test="oid = null">
+             <if test="oid == null ">
                 codeclassify0.pid is null
-            </if>-->
+            </if>
         <!--</where>-->
-
+        connect by prior codeclassify0.oid =codeclassify0.pid
         order by id asc
     </select>
 

--
Gitblit v1.9.3