From f2a97a13efaf924d152b0f1c727005c1e0eef810 Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期日, 25 六月 2023 18:04:41 +0800
Subject: [PATCH] 历史导入

---
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java  |   12 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntParamWrapper.java           |   69 +
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineEventDTO.java             |   26 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntHeaderWrapper.java          |   67 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntHeaderMapper.java            |    7 
 Source/UBCS-WEB/src/components/template/SetPersonnel.vue                                                            |  105 +
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java               |   62 -
 Source/UBCS-WEB/vue.config.js                                                                                       |    4 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEdge.java                  |   63 +
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleNode.java                  |   64 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntHeaderServiceImpl.java |   13 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntParamMapper.java             |    7 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleRuleWrapper.java                  |   46 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java          |  383 ------
 Source/UBCS-WEB/src/views/flow/flowPath.vue                                                                         |    6 
 Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue                                                     |  140 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSysIntParamMapper.xml                           |   42 
 Source/UBCS-WEB/src/api/resource/file.js                                                                            |    5 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntParamVO.java   |   54 +
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java                     |   61 +
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue                                                           |   14 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntHeaderService.java         |    7 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java          |    4 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java   |    6 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java                        |   18 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntParamServiceImpl.java  |   13 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java                   |   57 -
 Source/UBCS-WEB/src/components/refer/vciWebRefer.vue                                                                |   10 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java             |   48 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntHeaderVO.java  |   55 +
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java                        |   84 -
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java                |  121 ++
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleNodeVO.java                    |   17 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java      |   29 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java                  |   47 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java             |   90 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntParamService.java          |    8 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java         |    2 
 Source/UBCS-WEB/src/api/template/flowpath.js                                                                        |   16 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntHeaderDTO.java          |   57 +
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntParam.java           |   66 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java         |   19 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java |  143 ++
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEdgeVO.java                    |   20 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java               |   27 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java       |    9 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java     |  132 ++
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue                                                         |   18 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntParamDTO.java           |   57 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java                    |    8 
 /dev/null                                                                                                           |  100 -
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java                 |   50 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java          |   60 +
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleDTO.java                      |   55 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java           |   82 
 Source/UBCS-WEB/src/views/work/process/leave/handle.vue                                                             |  352 +++--
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleNodeDTO.java                  |   20 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java              |    6 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleEdgeDTO.java                  |   20 
 59 files changed, 1,955 insertions(+), 1,228 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/resource/file.js b/Source/UBCS-WEB/src/api/resource/file.js
index 1df5197..46c711a 100644
--- a/Source/UBCS-WEB/src/api/resource/file.js
+++ b/Source/UBCS-WEB/src/api/resource/file.js
@@ -16,10 +16,7 @@
   return request({
     url: '/api/ubcs-resource/fileController/deleteFile',
     method: 'delete',
-    params: {
-      fileOids,
-      oids
-    }
+    data: oids
   })
 }
 
diff --git a/Source/UBCS-WEB/src/api/template/flowpath.js b/Source/UBCS-WEB/src/api/template/flowpath.js
index d1fef57..5efd565 100644
--- a/Source/UBCS-WEB/src/api/template/flowpath.js
+++ b/Source/UBCS-WEB/src/api/template/flowpath.js
@@ -64,3 +64,19 @@
     data: params
   })
 }
+// 灞炴�у垪琛ㄥ乏渚�
+export const getBtnTask = (params) => {
+  return request({
+    url: '/api/ubcs-flow/vciflow/next',
+    method: 'post',
+    data: params
+  })
+}
+// 妯℃澘闃舵鍒楄〃
+export const ExamineTask = (params) => {
+  return request({
+    url: '/api/ubcs-flow/work/complete-task',
+    method: 'post',
+    data: params
+  })
+}
diff --git a/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue b/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
index 559522b..76e9e0c 100644
--- a/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
+++ b/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
@@ -82,7 +82,7 @@
                                 :value="searchFormArrays[index].fieldValue"
                                 :text="item.showField"
                                 :display="!item.hidden"
-                                @setReferValue="setReferValue">
+                                @setReferValue="val=>setReferValue(val,index)">
                             </vci-web-refer>
                         </div>
                     </el-col>
@@ -189,66 +189,76 @@
         },
         // 瀵硅瘽妗嗗唴瀹规覆鏌撻厤缃�
         options(){
-            // 灏唎ptions閰嶇疆璧嬪�煎埌data涓殑option涓紝閬垮厤娣辨祬鎷疯礉鐨勯棶棰樻墍浠ラ渶瑕佽浆json涔嬪悗鍐嶈祴鍊�
-            const data = JSON.stringify(this.options);
-            this.initOptions = JSON.parse(data);
-            //console.log(this.initOptions);
-            if(this.initOptions.length > 0){
-                this.initOptions.forEach((item,index) => {
-                if(item.fieldType==='combox') {
-                    let enumCach = JSON.parse(localStorage.getItem(item.comboxKey));
-                    if(enumCach != null) {
-                        item.data = enumCach;
-                    }else {
-                        getDictionary({code: item.comboxKey}).then(res=>{
-                            item.data = res.data.data;
-                            localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data));
-                        })
-                    }
-                }else if(item.fieldType==='refer'){
-                    this.$set(item,"referConfigData",{
-                        title: item.title,
-                        showField: item.showField || item.field,
-                        field: item.field,
-                        placeholder: item.inputTip || '',
-                        options: Object.assign(item.referConfig,{width:'100%'}),
-                    })
-                    //console.log(item.referConfigData.options);
-                    //console.log(item);   
-                }
-                // TODO: 杩欏効淇敼涓�涓嬪弬鐓х殑鏌ヨ鏉′欢
-                let conditions = [];
-                if(item.fieldType==='text'){
-                    conditions = this.searchConditions;
-                }else if (item.fieldType==='combox'){
-                    conditions = this.dateConditions;
-                }else if (item.fieldType==='datetime') {
-                    conditions = this.switchSearchConditions;
-                }else {
-                    conditions = this.referSearchConditions;
-                }
-                // console.log(conditions);
-                this.$set(item,"conditions",conditions)
-                let add = {
-                    queryField: String(item.queryField),
-                    condition: item.fieldType==='text' ? String("_like"):String("_equal"),
-                    fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''),
-                }
-                this.searchFormArrays.push(add)
-            });
-            }
-            //console.log(this.initOptions);
-            //console.log(this.searchFormArrays);
+            this.initData();
         }
     },
     methods: {
 
+        initData(){
+             // 灏唎ptions閰嶇疆璧嬪�煎埌data涓殑option涓紝閬垮厤娣辨祬鎷疯礉鐨勯棶棰樻墍浠ラ渶瑕佽浆json涔嬪悗鍐嶈祴鍊�
+            const data = JSON.stringify(this.options);
+            this.initOptions = JSON.parse(data);
+            //console.log(this.initOptions);
+                if(this.initOptions.length > 0){
+                    let array = [];
+                    this.initOptions.forEach((item,index) => {
+                        if(item.fieldType==='combox') {
+                            let enumCach = JSON.parse(localStorage.getItem(item.comboxKey));
+                            if(enumCach != null) {
+                                item.data = enumCach;
+                            }else {
+                                getDictionary({code: item.comboxKey}).then(res=>{
+                                    item.data = res.data.data;
+                                    localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data));
+                                })
+                            }
+                        }else if(item.fieldType==='refer'){
+                            this.$set(item,"referConfigData",{
+                                title: item.title,
+                                showField: item.showField || item.field,
+                                field: item.field,
+                                placeholder: item.inputTip || '',
+                                options: Object.assign(item.referConfig,{width:"80%"}),
+                            })
+                            //console.log(item.referConfigData.options);
+                            //console.log(item);   
+                        }
+                        // TODO: 杩欏効淇敼涓�涓嬪弬鐓х殑鏌ヨ鏉′欢
+                        let conditions = [];
+                        if(item.fieldType==='text'){
+                            conditions = this.searchConditions;
+                        }else if (item.fieldType==='combox'){
+                            conditions = this.dateConditions;
+                        }else if (item.fieldType==='datetime') {
+                            conditions = this.switchSearchConditions;
+                        }else {
+                            conditions = this.referSearchConditions;
+                        }
+                        // console.log(conditions);
+                        this.$set(item,"conditions",conditions)
+                        
+                        let add = {
+                            queryField: String(item.queryField),
+                            condition: item.fieldType==='text' ? String("_like"):String("_equal"),
+                            fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''),
+                        }
+                        array.push(add)
+                    });
+                    this.searchFormArrays = array;
+            }
+            //console.log(this.initOptions);
+            //console.log(this.searchFormArrays);
+        },
+
         /** 涓哄弬鐓х被鍨嬫椂鍊奸�夋嫨涔嬪悗鐨勫鐞� */
-        setReferValue(data){
-            // if(data.field) {
-               
-            // }
-            console.log(data);
+        setReferValue(data,index){
+            // console.log(index);
+            if(data.field) {
+                this.searchFormArrays[index][data.fieldValue] = data.value || '';
+                this.initOptions[index][data.showField] = data.text || '';
+            }
+            // console.log(this.initOptions[index][data.showField]);
+            // console.log(data);
         },
 
         // 灞炴�у垏鎹㈡椂鏌ヨ鏉′欢鍜屾煡璇㈠�间篃闇�瑕佸杈撳叆妗嗚繘琛屽垏鎹�
@@ -284,22 +294,7 @@
         },
         // 閲嶇疆褰撳墠鐣岄潰鐨勮緭鍏ユ
         resetInput(){
-            const data = JSON.stringify(this.options);
-            this.initOptions = JSON.parse(data);
-            if(this.initOptions.length > 0){
-                let array = [];
-                this.initOptions.forEach((item,index) => {
-                let add = {
-                    queryField: String(item.queryField),
-                    condition:item.fieldType=='text' ? String("_like"):String("_equal"),
-                    fieldValue: item.fieldType=='truefalse' ? Boolean(false):String(''),
-                }
-                array.push(add)
-            });
-                this.searchFormArrays = array;    
-            }
-            //console.log(this.initOptions);
-            //console.log(this.searchFormArrays);
+            this.initData();
         },
         // 鎭㈠椤甸潰
         recoverPage(){
@@ -395,6 +390,5 @@
     .grid-content > .el-date-editor.el-input, .el-date-editor.el-input__inner{
         width: 100%;
     }
-
 
 </style>
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
index 0324f5c..893ef94 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
@@ -22,9 +22,15 @@
       title:''
     };
   },
-  created() {},
+  created() {
+    if (!this.referConfig.options) {
+      this.referConfig.options = {
+        isMuti: false
+      }
+    }
+  },
   mounted() {
-    console.log(this.referConfig.options);
+    //console.log(this.referConfig.options);
     var title = this.referConfig.title || '';
     title = title.replace(":", "");
     title = title ? ('涓恒��' + title + '銆戦�夊彇鍊�') : ('涓恒��' + this.referConfig.showField + '銆戦�夊彇鍊�');
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index 8cc886b..690e721 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -5,7 +5,8 @@
                :visible.sync="visible"
                top="0"
                class="avue-dialog avue-dialog--top"
-               :width="referConfig.options.width|| '80%'">
+               :width="options.width|| '80%'">
+
       <avue-crud :option="option"
                  :table-loading="loading"
                  :data="data"
@@ -22,7 +23,6 @@
       </avue-crud>
       <div class="avue-dialog__footer">
         <div class="avue-dialog__footer--left valueInfo">{{ valueInfo }}</div>
-        {{ this.referConfig.options.width }}
         <el-button @click="visible=false">鍙� 娑�</el-button>
         <el-button @click="setValue" type="primary">纭� 瀹�</el-button>
       </div>
@@ -43,7 +43,7 @@
   data() {
     return {
       visible: false,
-      options: this.referConfig.options,
+      options: this.referConfig.options||{},
       isMuti: ("true" == this.referConfig.options.isMuti || this.referConfig.options.isMuti == true || this.referConfig.options.muti == true) ? true : false,
       props: {
         value: this.referConfig.valueField || this.referConfig.options.valueField || 'oid',
@@ -84,7 +84,7 @@
     console.log('referConfig:')
     console.log(this.referConfig)
   },
-  mounted() { 
+  mounted() {
     if(this.referConfig.options.page){
       this.page.pageSize=this.referConfig.options.page.limit || this.referConfig.options.page.pageSize;
       this.page.currentPage=this.referConfig.options.page.page || this.referConfig.options.page.currentPage;
@@ -272,13 +272,13 @@
         var query={}
         if (this.query) {
           for (var key in this.query) {
-            query['conditionMap["' + key + '"]'] = this.query[key];
+            query['conditionMap["' + key + '"]'] = '*'+this.query[key]+'*';
+            query[key]='*'+this.query[key]+'*';
           }
         }
-        getList(Object.assign(params,this.params, query,this.query),page.currentPage, page.pageSize, this.url).then(res => {
-          const data = res.data;
-          this.page.total = data.total;
-          this.data = data.data;
+        getList(Object.assign(params,this.params,this.query, query),page.currentPage, page.pageSize, this.url).then(res => {
+          this.data = res.data.records;
+          this.page.total=res.data.total
           this.loading = false;
           this.selectionClear();
         });
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
index a626aee..366f9f2 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -5,7 +5,7 @@
                :visible.sync="visible"
                top="0"
                class="avue-dialog avue-dialog--top"
-               :width="referConfig.options.width|| '80%'">
+               :width="options.width|| '80%'">
       <avue-crud :option="option"
                  :table-loading="loading"
                  :data="data"
@@ -45,7 +45,7 @@
   data() {
     return {
       visible: false,
-      options: this.referConfig.options,
+      options: this.referConfig.options || {},
       isMuti: ("true" == this.referConfig.options.isMuti || this.referConfig.options.isMuti == true || this.referConfig.options.muti == true) ? true : false,
       props: {
         value: this.referConfig.valueField || this.referConfig.options.valueField || 'oid',
@@ -330,13 +330,13 @@
         var query={}
         if (this.query) {
           for (var key in this.query) {
-            query['conditionMap["' + key + '"]'] = this.query[key];
+            query['conditionMap["' + key + '"]'] = '*'+this.query[key]+'*';
+            query[key]='*'+this.query[key]+'*';
           }
         }
-        getList(Object.assign(params,this.params, query,this.query),page.currentPage, page.pageSize, this.url).then(res => {
-          const data = res.data;
-          this.page.total = data.total;
-          this.data = data.data;
+        getList(Object.assign(params,this.params,this.query, query),page.currentPage, page.pageSize, this.url).then(res => {
+          this.data = res.data.records;
+          this.page.total=res.data.total
           this.loading = false;
           this.selectionClear();
         });
diff --git a/Source/UBCS-WEB/src/components/template/SetPersonnel.vue b/Source/UBCS-WEB/src/components/template/SetPersonnel.vue
index 5718a6f..17edef3 100644
--- a/Source/UBCS-WEB/src/components/template/SetPersonnel.vue
+++ b/Source/UBCS-WEB/src/components/template/SetPersonnel.vue
@@ -52,7 +52,9 @@
             typeof: String,
             default: '娴佺▼瀹℃壒'
         },
-        // 鍙傛暟锛氶�夋嫨鐨刬d锛屽涓互鏁扮粍鏂瑰紡浼犻�掞細['id','id']锛屾ā鏉縤d锛屾ā鏉跨敤閫旓紝娴佺▼鍚嶅瓧锛屾祦绋嬫ā鏉�
+        // 鍙傛暟锛氶�夋嫨鐨刬d锛屽涓互鏁扮粍鏂瑰紡浼犻�掞細['id','id']锛屾ā鏉縤d锛屾ā鏉跨敤閫旓紝娴佺▼鍚嶅瓧锛屾祦绋嬫ā鏉�,
+        // flowTemplate锛�
+        // vars锛歰bject鏍煎紡锛屽悕瀛椾负vars锛岄噷闈ey閿�硷紝鑷繁闅忔剰
         parameter: {
             typeof: Object,
             default: () => { }
@@ -73,14 +75,22 @@
     watch: {
         visible(n) {
             this.dialogVisible = n;
-            if(n){
-              this.apiInit()
-              this.apiDict()
+            if (n) {
+                this.apiInit()
+                this.apiDict()
             }
         },
         dialogVisible(n) {
             this.$emit('update:visible', n)
         },
+        users:{
+            handler(val){
+                console.log('鐩戝惉users',val)
+                this.collectParam.flowTaskUsers = val
+            },
+            deep:true,
+            immediate:true
+        }
     },
     data() {
         return {
@@ -111,6 +121,7 @@
                 processName: this.parameter[this.parameterKeys.flowTemplate],
                 topName: this.title,
                 ids: this.parameter[this.parameterKeys.ids],
+                vars:this.parameter['vars']
             }
         },
         userIndex(arr1) {
@@ -125,9 +136,10 @@
                 const { modelKey, templateId, modelName } = response.data.data.flow
                 let flowTaskUsers = response.data.data.user
                 this.collectParam = { modelKey, templateId, flowTaskUsers: flowTaskUsers }
+                this.users = response.data.data.user
                 console.log(this.collectParam)
                 this.saveParam = { ...this.saveParam, modelKey, templateId, modelName }
-                this.handleClickTag(this.tags[0])
+                if (this.tags.length !== 0) this.handleClickTag(this.tags[0])
             }
         },
         async apiDict() {
@@ -154,12 +166,11 @@
                 this.collectParam = { ...this.collectParam, name: value }
                 console.log(this.collectParam)
                 const response = await personnelCollect(this.collectParam)
-                Console.log(response)
+                console.log(response)
                 if (response.status === 200) {
                     this.$nextTick(() => {
                         this.apiInit()
                     })
-                    console.log(response)
                 }
             }).catch(() => {
 
@@ -179,44 +190,61 @@
         },
         async apiSave() {
             try {
-                if(this.collectParam.flowTaskUsers.length ===0){
+                const len = this.collectParam.flowTaskUsers.length
+                console.log(this.collectParam.flowTaskUsers)
+                console.log(len == 0)
+                console.log(len != this.initFrom.length)
+                if (len == 0 && len != this.initFrom.length) {
                     this.$message({
-                    type: "error",
-                    message: "璇烽�夋嫨鑺傜偣锛�"
-                });
-                } else {
-                    const response = await personnelSave({...this.saveParam,flowTaskUsers:this.collectParam.flowTaskUsers})
-                if (response.status === 200) {
-                    console.log(response)
-                    this.$message({
-                        type: 'success',
-                        message: response.data.msg
+                        type: "error",
+                        message: "璇烽�夋嫨鑺傜偣锛�"
                     });
-                    this.done()
+                } else {
+                    const {modelKey,modelName,processDesc,processName,templateId,topName,vars} = this.saveParam
+                    const vals= {modelKey,modelName,processDesc,processName,templateId,topName,...vars}
+                    const response = await personnelSave({ variables:vals, flowTaskUsers: this.collectParam.flowTaskUsers, })
+                    if (response.status === 200) {
+                        console.log(response)
+                        this.$message({
+                            type: 'success',
+                            message: response.data.msg
+                        });
+                        this.done()
+                    }
                 }
-                }
-                
+
             } catch {
                 console.error('鎺ュ彛璋冪敤澶辫触')
             }
         },
         handleClickTag(event) {
-            console.log(event)
-            console.log('tasks', this.collectParam)
-            const flowTaskUsers = event.flowTaskUsers//collet.flowTaskUsers
-            let tasks =  this.collectParam.flowTaskUsers;//user
-            for(let i=0;i<tasks.length;i++){
-                let thisFlowTaskUsers = tasks[i];
-                console.log('thisFlowTaskUsers',thisFlowTaskUsers)
-                for(let j=0;j<flowTaskUsers.length;j++){
-                    let thisFflowTaskUsers = flowTaskUsers[j];
-                    if(thisFlowTaskUsers.taskId==thisFflowTaskUsers.taskId){
-                        thisFlowTaskUsers['userName']=thisFflowTaskUsers.userName;
-                        thisFlowTaskUsers['userId']=thisFflowTaskUsers.userId;
+            console.log(event.flowTaskUsers)
+
+            console.log(this.collectParam.flowTaskUsers)
+            let flowTaskUsers = this.collectParam.flowTaskUsers
+            this.collectParam.flowTaskUsers = flowTaskUsers.map((item, index) => {
+                for (let i = 0; i < event.flowTaskUsers.length; i++) {
+                    if (item.taskId == event.flowTaskUsers[i].taskId) {
+                        item['userName'] = event.flowTaskUsers[i]['userName']
+                        item['userId'] = event.flowTaskUsers[i]['userId']
                     }
                 }
-            }
-            console.log(this.collectParam)
+                return item
+            })
+            this.users =  this.collectParam.flowTaskUsers
+            // const flowTaskUsers = event.flowTaskUsers//collet.flowTaskUsers
+            // let tasks = this.collectParam.flowTaskUsers;//user
+            // for (let i = 0; i < tasks.length; i++) {
+            //     let thisFlowTaskUsers = tasks[i];
+            //     for (let j = 0; j < flowTaskUsers.length; j++) {
+            //         let thisFflowTaskUsers = flowTaskUsers[j];
+            //         if (thisFlowTaskUsers.taskId == thisFflowTaskUsers.taskId) {
+            //             thisFlowTaskUsers['userName'] = thisFflowTaskUsers.userName;
+            //             thisFlowTaskUsers['userId'] = thisFflowTaskUsers.userId;
+            //         }
+            //     }
+            // }
+            // this.collectParam.flowTaskUsers = {...this.collectParam.flowTaskUsers,userId,userName}
         },
         handleCloseTag(event) {
             console.log(event)
@@ -225,9 +253,10 @@
         handleSelect(event, index) {
             const res = this.typeName.find(item => item.userId === event)
             const { userName } = res
-            let users = { ... this.collectParam.flowTaskUsers[index], userName }
-            console.log(users)
-            this.users[index] = users
+            console.log(this.users)
+            this.$set(this.users, index, { ... this.collectParam.flowTaskUsers[index], userName })
+            // this.users[index] = { ... this.collectParam.flowTaskUsers[index], userName }
+            console.log(this.users)
         },
         done() {
             this.dialogVisible = false
diff --git a/Source/UBCS-WEB/src/views/flow/flowPath.vue b/Source/UBCS-WEB/src/views/flow/flowPath.vue
index 8aec65c..7bfb746 100644
--- a/Source/UBCS-WEB/src/views/flow/flowPath.vue
+++ b/Source/UBCS-WEB/src/views/flow/flowPath.vue
@@ -23,7 +23,11 @@
                 ids:['0000','22222222'],
                 code:'8b5e2017-990f-454a-9c39-4c4eeeb57553',
                 type:'PUBLIC',
-                template:'妯℃澘template'
+                template:'妯℃澘template',
+                vars:{
+                    name:'111',
+                    sex:'222'
+                }
             },
             props:{
                 flowTemplate:'template',
diff --git a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue
index 961bf88..056cfed 100644
--- a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue
+++ b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue
@@ -1,169 +1,219 @@
 <template>
   <basic-container>
-    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-      <el-row type="flex" class="row-bg" justify="end">
-        <el-form-item>
-          <el-button type="primary" @click="handleAgree">鍚屾剰</el-button>
-          <el-button type="danger" @click="handleDisagree">椹冲洖</el-button>
-          <el-button @click="handleCancel">鍏抽棴</el-button>
-        </el-form-item>
-      </el-row>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>瀹℃壒淇℃伅</span>
-        </div>
-        <el-form-item label="鐢宠浜�">
-          <el-input :disabled="true" v-model="form.flow.assigneeName"/>
-        </el-form-item>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="寮�濮嬫椂闂�">
-              <el-input :disabled="true" v-model="form.startTime"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="缁撴潫鏃堕棿">
-              <el-input :disabled="true" v-model="form.endTime"/>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-form-item label="璇峰亣鐞嗙敱">
-          <el-input :disabled="true" type="textarea" v-model="form.reason"/>
-        </el-form-item>
-        <el-form-item label="鎵瑰鎰忚">
-          <el-input type="textarea" v-model="form.comment"/>
-        </el-form-item>
-      </el-card>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>娴佺▼淇℃伅</span>
-        </div>
-        <el-row type="flex" class="row-bg">
-          <el-timeline>
-            <el-timeline-item :key="flow.id" :timestamp="flow.createTime" v-for="flow in flowList" placement="top">
+    <div class="dialogwarp">
+      <div class="dialogwarp_tab">
+        <el-card class="dialogwarp_tab_card">
+          <el-tabs v-model="activeName" @tab-click="handleClick">
+            <el-tab-pane label="涓氬姟鏁版嵁淇℃伅" name="first">
+
+            </el-tab-pane>
+            <el-tab-pane label="娴佺▼璺熻釜" name="second">
+              <avue-crud :data="flowList" :option="option" ref="crud">
+              </avue-crud>
               <el-card shadow="hover">
-                <p>{{flow.assigneeName}} 鍦� [{{flow.createTime}}] 寮�濮嬪鐞� [{{flow.historyActivityName}}] 鐜妭</p>
-                <p v-if="flow.historyActivityDurationTime!==''">浠诲姟鍘嗘椂 [{{flow.historyActivityDurationTime}}]</p>
-                <p v-if="flow.comment!==''">鎵瑰鎰忚: [{{flow.comment}}]</p>
-                <p v-if="flow.endTime!==''">缁撴潫鏃堕棿: [{{flow.endTime}}]</p>
+                <div slot="header">
+                  <span>娴佺▼璺熻釜</span>
+                </div>
+                <el-row class="row-bg">
+                  <flow-design :is-display="true" :process-instance-id="processInstanceId"></flow-design>
+                </el-row>
               </el-card>
-            </el-timeline-item>
-          </el-timeline>
-        </el-row>
-      </el-card>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>娴佺▼璺熻釜</span>
-        </div>
-        <el-row class="row-bg">
-          <flow-design :is-display="true" :process-instance-id="processInstanceId"></flow-design>
-        </el-row>
-      </el-card>
-    </el-form>
+            </el-tab-pane>
+          </el-tabs>
+        </el-card>
+      </div>
+      <div class="dialogwarp_card">
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>褰撳墠浠诲姟锛�</span>
+            <span>{{ title }}</span>
+          </div>
+          <div style="width: 100%;">
+            <p>璇峰湪涓嬫柟杈撳叆鎮ㄧ殑瀹℃壒鎰忚锛�</p>
+            <el-input type="textarea" :rows="4" placeholder="璇疯緭鍏ュ唴瀹�" show-word-limit v-model="opinionVal">
+            </el-input>
+          </div>
+          <div style="width: 100%;">
+            <p>瀹℃壒鎰忚闄勪欢锛�</p>
+            <el-upload drag action="https://jsonplaceholder.typicode.com/posts/" multiple style="width: 100%;">
+              <i class="el-icon-upload"></i>
+              <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+            </el-upload>
+          </div>
+          <div style="width: 100%;">
+            <p>宸蹭笂浼犲鎵规枃浠讹細</p>
+            <el-card class="box-card">
+              <el-table :data="tableData" stripe style="width: 100%">
+                <el-table-column prop="date" label="鏂囦欢鍚�">
+                </el-table-column>
+                <el-table-column prop="name" label="涓婁紶浜�  ">
+                </el-table-column>
+                <el-table-column prop="address" label="鎿嶄綔">
+                </el-table-column>
+              </el-table>
+            </el-card>
+          </div>
+          <div style="margin-top: 20px;">
+            <!-- <el-button type="primary" size="mini" @click="handelRefuse">涓嶅悓鎰�</el-button>
+            <el-button v-if="!isRefuse" type="primary" size="mini" @click="handelAgree">鍚屾剰</el-button>
+             <el-button v-if="!isAgree" type="primary" size="mini" @click="handelRefuse">涓嶅悓鎰�</el-button> -->
+            <el-button type="primary" size="mini" @click="handelExecute(item)" v-for="(item, index) in btnList"
+              :key="index">{{ item.toName === '鍚屾剰' ? item.toName : `${item.toName}鍒�${item.taskName}` }}</el-button>
+            <!-- <el-button v-if="isRefuse" type="primary" size="mini" @click="handelExecute">鎵ц</el-button> -->
+          </div>
+        </el-card>
+      </div>
+    </div>
   </basic-container>
 </template>
 
 <script>
-  import {historyFlowList, leaveDetail} from "@/api/work/process";
-  import {completeTask} from "@/api/work/work";
+import { historyFlowList } from "@/api/work/process";
+import { getBtnTask, ExamineTask } from '@/api/template/flowpath.js'
+import { validatenull } from '@/util/validate'
 
-  export default {
-    data() {
-      return {
-        taskId: '',
-        businessId: '',
-        processInstanceId: '',
-        src: '',
-        flowList: [],
-        form: {
-          flow: {
-            assigneeName: '',
-          },
-          startTime: '',
-          endTime: '',
-          reason: '',
-          comment: '',
-        },
-      }
-    },
-    created() {
+export default {
+  data() {
+    return {
+      taskId: '',
+      businessId: '',
+      processInstanceId: '',
+      src: '',
+      flowList: [],
+      btnList: [],
+      opinionVal: '',
+      activeName: 'first',
+      option: {
+        menu: false,
+        addBtn: false,
+        refreshBtn: false,
+        columnBtn: false,
+        index: true,
+        header: false,
+        stripe: true,
+        indexLabelClassName: '搴忓彿',
+        column: [
+          { label: '浠诲姟鍚嶇О', prop: 'historyActivityName', minWidth: 120 },
+          { label: '鎵ц鎿嶄綔', prop: 'sex', minWidth: 80 },
+          { label: '浠诲姟寮�濮嬫椂闂�', prop: 'createTime', minWidth: 140 },
+          { label: '瀹℃壒鎰忚', prop: 'comment', minWidth: 220, overHidden: true },
+          { label: '鎵ц浜�', prop: 'assigneeName', minWidth: 80 },
+          { label: '浠诲姟瀹屾垚鏃堕棿', prop: 'endTime', minWidth: 140 },
+          { label: '宸蹭笂浼犲鎵规枃浠�', prop: 'sex', minWidth: 220, overHidden: true },
+        ]
+      },
+    }
+  },
+  created() {
+    this.init();
+
+  },
+  beforeRouteUpdate(to, from, next) {
+    // 鍦ㄥ綋鍓嶈矾鐢辨敼鍙橈紝浣嗘槸璇ョ粍浠惰澶嶇敤鏃惰皟鐢�
+    // 涓句緥鏉ヨ锛屽浜庝竴涓甫鏈夊姩鎬佸弬鏁扮殑璺緞 /foo/:id锛屽湪 /foo/1 鍜� /foo/2 涔嬮棿璺宠浆鐨勬椂鍊�
+    // 鐢变簬浼氭覆鏌撳悓鏍风殑 Foo 缁勪欢锛屽洜姝ょ粍浠跺疄渚嬩細琚鐢ㄣ�傝�岃繖涓挬瀛愬氨浼氬湪杩欎釜鎯呭喌涓嬭璋冪敤
+    // 鍙互璁块棶缁勪欢瀹炰緥 `this`
+    if (to.fullPath !== from.fullPath) {
+      next();
       this.init();
+    }
+  },
+  methods: {
+    init() {
+      this.taskId = this.$route.params.taskId;
+      this.processInstanceId = this.$route.params.processInstanceId;
+      this.businessId = this.$route.params.businessId;
+      historyFlowList(this.processInstanceId).then(res => {
+        const data = res.data;
+        if (data.success) {
+          this.flowList = data.data;
+        }
+      })
+      this.apiGetBtnTask(this.processInstanceId)
     },
-    beforeRouteUpdate(to, from, next) {
-      // 鍦ㄥ綋鍓嶈矾鐢辨敼鍙橈紝浣嗘槸璇ョ粍浠惰澶嶇敤鏃惰皟鐢�
-      // 涓句緥鏉ヨ锛屽浜庝竴涓甫鏈夊姩鎬佸弬鏁扮殑璺緞 /foo/:id锛屽湪 /foo/1 鍜� /foo/2 涔嬮棿璺宠浆鐨勬椂鍊�
-      // 鐢变簬浼氭覆鏌撳悓鏍风殑 Foo 缁勪欢锛屽洜姝ょ粍浠跺疄渚嬩細琚鐢ㄣ�傝�岃繖涓挬瀛愬氨浼氬湪杩欎釜鎯呭喌涓嬭璋冪敤
-      // 鍙互璁块棶缁勪欢瀹炰緥 `this`
-      if (to.fullPath !== from.fullPath) {
-        next();
-        this.init();
+    async apiGetBtnTask(id) {
+      const response = await getBtnTask({ processInstanceId: id })
+      const res = response.data
+      if (res.success) {
+        console.log(res)
+        this.btnList = res.data.toTasks
       }
     },
-    methods: {
-      init() {
-        this.taskId = this.$route.params.taskId;
-        this.processInstanceId = this.$route.params.processInstanceId;
-        this.businessId = this.$route.params.businessId;
-        historyFlowList(this.processInstanceId).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.flowList = data.data;
-          }
-        })
-        leaveDetail(this.businessId).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.form = data.data;
-          }
-        })
-      },
-      handleAgree() {
-        if (!this.form.comment) {
-          this.$message.warning('璇峰厛濉啓鎵瑰鎰忚');
-          return;
-        }
-        const params = {
-          taskId: this.taskId,
-          processInstanceId: this.processInstanceId,
-          flag: 'ok',
-          comment: this.form.comment,
-        };
-        completeTask(params).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.$message.success(data.msg);
-            this.$router.$avueRouter.closeTag();
-            this.$router.push({path: `/work/start`});
-          } else {
-            this.$message.error(data.msg || '鎻愪氦澶辫触');
-          }
-        })
-      },
-      handleDisagree() {
-        if (!this.form.comment) {
-          this.$message.warning('璇峰厛濉啓鎵瑰鎰忚');
-          return;
-        }
-        const params = {
-          taskId: this.taskId,
-          processInstanceId: this.processInstanceId,
-          comment: this.form.comment,
-        };
-        completeTask(params).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.$message.success(data.msg);
-            this.$router.$avueRouter.closeTag();
-            this.$router.push({path: `/work/start`});
-          } else {
-            this.$message.error(data.msg || '鎻愪氦澶辫触');
-          }
-        })
-      },
-      handleCancel() {
+    async apiExamineTask(param) {
+      const response = await ExamineTask(param)
+      const res = response.data
+      if (res.success) {
+        this.$message.success(res.msg);
         this.$router.$avueRouter.closeTag();
-        this.$router.push({path: `/work/start`});
+        this.$router.push({ path: `/work/todo` });
+      } else {
+        this.$message.error(res.msg || '鎻愪氦澶辫触');
       }
+    },
+    handelExecute(event) {
+      console.log(event)
+      const { toName, conditionKey, conditionValue } = event
+      let param = {
+        comment: this.opinionVal || '鍚屾剰',
+        flag: 'ok',
+        processInstanceId: this.processInstanceId,
+        taskId: this.taskId,
+      }
+      if (!validatenull(conditionKey) && !validatenull(conditionValue)) {
+        param = {
+          ...param, variables: {
+            [conditionKey]: conditionValue
+          }
+        }
+      }
+      if (toName === '椹冲洖') {
+        if (!this.opinionVal) {
+          this.$alert(`褰撳鐞嗘柟寮忎负${toName}鏃讹紝闇�瑕佸~鍐欏鎵规剰瑙乣, '鎻愮ず淇℃伅', {
+            confirmButtonText: '纭畾',
+          }).then(() => {
+
+          });
+        } else this.apiExamineTask(param)
+      } else this.apiExamineTask(param)
     }
   }
+}
 </script>
+<style lang="scss" scoped>
+.dialogwarp {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  justify-content: space-between;
+  height: 70vh;
+
+  &_tab {
+    width: 79%;
+
+
+    &_card {
+      width: 100%;
+      height: 100%;
+    }
+  }
+
+  &_card {
+    // margin-left: 20px;
+    width: 20%;
+  }
+}
+
+::v-deep(.el-upload) {
+  width: 100%;
+  height: 120px;
+}
+
+::v-deep(.el-upload-dragger) {
+  width: 100%;
+  height: 120px;
+}
+
+::v-deep(.el-upload-dragger .el-icon-upload) {
+  margin: 15px 0 16px;
+}
+</style>
diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index ea4d1f8..d9634f7 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -27,7 +27,7 @@
       '/api': {
         //鏈湴鏈嶅姟鎺ュ彛鍦板潃
         // target: 'http://localhost:37000',
-        target: 'http://192.168.1.46:37000',
+        // target: 'http://192.168.1.46:37000',
         //target: 'http://192.168.1.46:37000',
         // target: 'http://dev.vci-tech.com:37000',
         // target: 'http://192.168.1.104:37000',
@@ -35,7 +35,7 @@
         //target: 'http://192.168.3.7:37000',
         //target: 'http://dev.vci-tech.com:37000',
         //target: 'http://192.168.1.51:37000/',
-        // target:'http://192.168.1.104:37000',
+        target:'http://192.168.1.104:37000',
         //杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩�
         // target: 'https://saber.bladex.vip/api',
         ws: true,
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntHeaderDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntHeaderDTO.java
new file mode 100644
index 0000000..1dc500e
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntHeaderDTO.java
@@ -0,0 +1,57 @@
+package com.vci.ubcs.code.dto;
+
+
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import lombok.Data;
+
+/**
+ * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹暟鎹紶杈撳璞�
+ *
+ * @author xiejun
+ * @date 2023-06-21
+ */
+@Data
+public class DockingSysIntHeaderDTO extends BaseModel {
+
+	/**
+     * 绂佹淇敼杩欎釜鍊�
+     */
+	private static final long serialVersionUID = 4615707117695864945L;
+
+	/**
+	 * SysIntInfoDO 鐨刼id
+	 */
+	private String infoOid;
+
+	/**
+	 * 鍙傛暟key
+	 */
+	private String headerKey;
+
+	/**
+	 * 鍙傛暟value
+	 */
+	private String headerValue;
+
+	/**
+	 * 鏄惁浣跨敤
+	 */
+	private String usedFlag;
+
+
+	/***
+	 * 鏄惁浣跨敤鏄剧ず鏂囨湰
+	 */
+	private String usedFlagText;
+
+	@Override
+	public String toString() {
+		return "DockingSysIntHeaderDTO{" +
+			"infoOid='" + infoOid + '\'' +
+			", headerKey='" + headerKey + '\'' +
+			", headerValue='" + headerValue + '\'' +
+			", usedFlag='" + usedFlag + '\'' +
+			", usedFlagText='" + usedFlagText + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntParamDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntParamDTO.java
new file mode 100644
index 0000000..c23c50d
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntParamDTO.java
@@ -0,0 +1,57 @@
+package com.vci.ubcs.code.dto;
+
+
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import lombok.Data;
+
+/**
+ * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹暟鎹紶杈撳璞�
+ *
+ * @author weidy
+ * @date 2022-04-11
+ */
+@Data
+public class DockingSysIntParamDTO extends BaseModel {
+
+	/**
+     * 绂佹淇敼杩欎釜鍊�
+     */
+	private static final long serialVersionUID = 4615707120661255093L;
+
+	/**
+	 * SysIntInfoDO 鐨刼id
+	 */
+	private String infoOid;
+
+	/**
+	 * 鍙傛暟key
+	 */
+	private String paramkey;
+
+	/**
+	 * 鍙傛暟value
+	 */
+	private String paramvalue;
+
+	/**
+	 * 鏄惁浣跨敤
+	 */
+	private String usedflag;
+
+
+	/***
+	 * 鏄惁浣跨敤鏄剧ず鏂囨湰
+	 */
+	private String usedFlagText;
+
+	@Override
+	public String toString() {
+		return "DockingSysIntParamDTO{" +
+			"infoOid='" + infoOid + '\'' +
+			", paramkey='" + paramkey + '\'' +
+			", paramvalue='" + paramvalue + '\'' +
+			", usedflag='" + usedflag + '\'' +
+			", usedFlagText='" + usedFlagText + '\'' +
+			'}';
+	}
+}
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
index 5edd5d6..8473859 100644
--- 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
@@ -1,9 +1,10 @@
 package com.vci.ubcs.code.dto;
 
 
-import com.vci.ubcs.code.vo.pagemodel.SysIntHeaderVO;
-import com.vci.ubcs.code.vo.pagemodel.SysIntParamVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingSysIntHeaderVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingSysIntParamVO;
 import com.vci.ubcs.starter.revision.model.BaseModel;
+import lombok.Data;
 
 import java.util.List;
 
@@ -13,6 +14,7 @@
  * @author lihang
  * @date 2022-03-07
  */
+@Data
 public class DockingSystemConfigDTO extends BaseModel {
 
 	/**
@@ -245,381 +247,12 @@
 	/***
 	 * 鍙傛暟淇℃伅瀵硅薄
 	 */
-	private List<SysIntParamVO> sysIntParamVOs;
+	private List<DockingSysIntParamDTO> sysIntParamDTOS;
 	/***
 	 * 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;
-	}
+	private List<DockingSysIntHeaderDTO> sysIntHeaderDTOS;
 
-	public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
-		this.sysIntHeaderVOs = sysIntHeaderVOs;
-	}
 
 	@Override
 	public String toString() {
@@ -668,8 +301,8 @@
 			", pushTypeText='" + pushTypeText + '\'' +
 			", classifyId='" + classifyId + '\'' +
 			", classifyName='" + classifyName + '\'' +
-			", sysIntParamVOs=" + sysIntParamVOs +
-			", sysIntHeaderVOs=" + sysIntHeaderVOs +
+			", sysIntParamDTOS=" + sysIntParamDTOS +
+			", sysIntHeaderDTOS=" + sysIntHeaderDTOS +
 			'}';
 	}
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntHeaderDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntHeaderDTO.java
deleted file mode 100644
index 6910120..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntHeaderDTO.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.vci.ubcs.code.dto;
-
-
-import com.vci.ubcs.starter.revision.model.BaseModel;
-
-/**
- * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹暟鎹紶杈撳璞�
- *
- * @author weidy
- * @date 2022-04-11
- */
-public class SysIntHeaderDTO extends BaseModel {
-
-	/**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-	private static final long serialVersionUID = 4615707117695864945L;
-
-	/**
-	 * SysIntInfoDO 鐨刼id
-	 */
-	private String infoOid;
-
-	/**
-	 * 鍙傛暟key
-	 */
-	private String headerkey;
-
-	/**
-	 * 鍙傛暟value
-	 */
-	private String headeralue;
-
-	/**
-	 * 鏄惁浣跨敤
-	 */
-	private String usedflag;
-
-	public String getInfoOid() {
-		return infoOid;
-	}
-
-	public void setInfoOid(String infoOid) {
-		this.infoOid = infoOid;
-	}
-
-	public String getHeaderkey() {
-		return headerkey;
-	}
-
-	public void setHeaderkey(String headerkey) {
-		this.headerkey = headerkey;
-	}
-
-	public String getHeaderalue() {
-		return headeralue;
-	}
-
-	public void setHeaderalue(String headeralue) {
-		this.headeralue = headeralue;
-	}
-
-	public String getUsedflag() {
-		return usedflag;
-	}
-
-	public void setUsedflag(String usedflag) {
-		this.usedflag = usedflag;
-	}
-
-	@Override
-	public String toString() {
-		return "SysIntHeaderDO{" +
-				"infoOid='" + infoOid + '\'' +
-				", headerkey='" + headerkey + '\'' +
-				", headeralue='" + headeralue + '\'' +
-				", usedflag='" + usedflag + '\'' +
-				'}';
-	}
-}
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
deleted file mode 100644
index c5cc1cb..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.vci.ubcs.code.dto;
-
-import com.vci.ubcs.starter.revision.model.BaseModel;
-
-import java.util.List;
-
-public class SysIntInfoBseDTO extends BaseModel {
-    private DockingSystemConfigDTO sysIntInfoDTO;
-
-    private List<SysIntParamDTO> sysIntParamDTO;
-
-    private List<SysIntHeaderDTO> sysIntHeaderDTOS;
-
-    public DockingSystemConfigDTO getSysIntInfoDTO() {
-        return sysIntInfoDTO;
-    }
-
-    public void setSysIntInfoDTO(DockingSystemConfigDTO sysIntInfoDTO) {
-        this.sysIntInfoDTO = sysIntInfoDTO;
-    }
-
-    public List<SysIntParamDTO> getSysIntParamDTO() {
-        return sysIntParamDTO;
-    }
-
-    public void setSysIntParamDTO(List<SysIntParamDTO> sysIntParamDTO) {
-        this.sysIntParamDTO = sysIntParamDTO;
-    }
-
-    public List<SysIntHeaderDTO> getSysIntHeaderDTOS() {
-        return sysIntHeaderDTOS;
-    }
-
-    public void setSysIntHeaderDTOS(List<SysIntHeaderDTO> sysIntHeaderDTOS) {
-        this.sysIntHeaderDTOS = sysIntHeaderDTOS;
-    }
-
-    @Override
-    public String toString() {
-        return "SysIntInfoBseDTO{" +
-                "sysIntInfoDTO=" + sysIntInfoDTO +
-                ", sysIntParamDTO=" + sysIntParamDTO +
-                ", sysIntHeaderDTOS=" + sysIntHeaderDTOS +
-                '}';
-    }
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntParamDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntParamDTO.java
deleted file mode 100644
index 8317e0a..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntParamDTO.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.vci.ubcs.code.dto;
-
-
-import com.vci.ubcs.starter.revision.model.BaseModel;
-
-/**
- * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹暟鎹紶杈撳璞�
- *
- * @author weidy
- * @date 2022-04-11
- */
-public class SysIntParamDTO extends BaseModel {
-
-	/**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-	private static final long serialVersionUID = 4615707120661255093L;
-
-	/**
-	 * SysIntInfoDO 鐨刼id
-	 */
-	private String infoOid;
-
-	/**
-	 * 鍙傛暟key
-	 */
-	private String paramkey;
-
-	/**
-	 * 鍙傛暟value
-	 */
-	private String paramvalue;
-
-	/**
-	 * 鏄惁浣跨敤
-	 */
-	private String usedflag;
-
-
-	public String getInfoOid() {
-		return infoOid;
-	}
-
-	public void setInfoOid(String infoOid) {
-		this.infoOid = infoOid;
-	}
-
-	public String getParamkey() {
-		return paramkey;
-	}
-
-	public void setParamkey(String paramkey) {
-		this.paramkey = paramkey;
-	}
-
-	public String getParamvalue() {
-		return paramvalue;
-	}
-
-	public void setParamvalue(String paramvalue) {
-		this.paramvalue = paramvalue;
-	}
-
-	public String getUsedflag() {
-		return usedflag;
-	}
-
-	public void setUsedflag(String usedflag) {
-		this.usedflag = usedflag;
-	}
-
-	@Override
-	public String toString() {
-		return "SysIntParamDO{" +
-				"infoOid='" + infoOid + '\'' +
-				", paramkey='" + paramkey + '\'' +
-				", paramvalue='" + paramvalue + '\'' +
-				", usedflag='" + usedflag + '\'' +
-				'}';
-	}
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java
new file mode 100644
index 0000000..d94e7fc
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java
@@ -0,0 +1,60 @@
+package com.vci.ubcs.code.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.constant.CodeTableNameConstant;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/****
+ * 鎺ュ彛澶村崗璁�
+ */
+@Data
+@TableName(CodeTableNameConstant.PL_CODE_SYSINTPAREMTER)
+@ApiModel(value = "DockingSysIntHeader", description = "闆嗘垚鎺ュ彛-鎺ュ彛澶村崗璁璞�")
+@EqualsAndHashCode(callSuper = true)
+public class DockingSysIntHeader extends BaseModel {
+
+	/**
+	 * 绂佹淇敼杩欎釜鍊�
+	 */
+	private static final long serialVersionUID = 4615707117938037102L;
+
+	/**
+	 * SysIntInfoDO 鐨刼id
+	 */
+	@ApiModelProperty(value = "閰嶇疆涓婚敭")
+
+	private String infoOid;
+
+	/**
+	 * 鍙傛暟key
+	 */
+	@ApiModelProperty(value = "閰嶇疆涓婚敭")
+	private String headerKey;
+
+	/**
+	 * 鍙傛暟value
+	 */
+	@ApiModelProperty(value = "閰嶇疆涓婚敭")
+	@TableField(value = "headeralue")
+	private String headerValue;
+
+	/**
+	 * 鏄惁浣跨敤
+	 */
+	@ApiModelProperty(value = "閰嶇疆涓婚敭")
+	private String usedFlag;
+
+	/**
+	 * 鏄惁浣跨敤
+	 */
+	@ApiModelProperty(value = "閰嶇疆涓婚敭")
+	@TableField(exist = true)
+	private String usedFlagText;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntParam.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntParam.java
new file mode 100644
index 0000000..9b8d9b8
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntParam.java
@@ -0,0 +1,66 @@
+package com.vci.ubcs.code.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.constant.CodeTableNameConstant;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 绯荤粺闆嗘垚鎺ュ彛鐨勫弬鏁板璞�
+ *
+ * @author weidy
+ * @date 2022-04-11
+ */
+@Data
+@TableName(CodeTableNameConstant.PL_CODE_SYSINTPAREMTER)
+@ApiModel(value = "DockingSysIntParam", description = "闆嗘垚鎺ュ彛-鎺ュ彛鐨勫弬鏁板璞�")
+@EqualsAndHashCode(callSuper = true)
+public class DockingSysIntParam  extends BaseModel {
+
+	/**
+	 * 绂佹淇敼杩欎釜鍊�
+	 */
+	private static final long serialVersionUID = 4615707118871819648L;
+
+	/**
+	 * SysIntInfoDO 鐨刼id
+	 */
+	@ApiModelProperty(value = "鎺ュ彛閰嶇疆涓婚敭")
+	private String infoOid;
+
+	/**
+	 * 鍙傛暟key
+	 */
+	@ApiModelProperty(value = "鍙傛暟key")
+	private String paramKey;
+
+	/**
+	 * 鍙傛暟value
+	 */
+	@ApiModelProperty(value = "鍙傛暟value")
+	private String paramValue;
+	/**
+	 * 鏄惁浣跨敤
+	 */
+	@ApiModelProperty(value = "鏄惁浣跨敤")
+	private String usedFlag;
+	/**
+	 * 鏄惁浣跨敤鏄剧ず鍊�
+	 */
+	@ApiModelProperty(value = "鏄惁浣跨敤鏄剧ず鍊�")
+	@TableField(exist = true)
+	private String usedFlagText;
+
+	@Override
+	public String toString() {
+		return "DockingSysIntParamVO{" +
+			"infoOid='" + infoOid + '\'' +
+			", paramKey='" + paramKey + '\'' +
+			", paramValue='" + paramValue + '\'' +
+			'}';
+	}
+}
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
index 800ffdd..c18ddf3 100644
--- 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
@@ -2,16 +2,12 @@
 
 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.constant.CodeTableNameConstant;
 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;
 
 /***
  * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntHeaderVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntHeaderVO.java
new file mode 100644
index 0000000..a0ecf6d
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntHeaderVO.java
@@ -0,0 +1,55 @@
+package com.vci.ubcs.code.vo.pagemodel;
+
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import lombok.Data;
+
+/**
+ * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹樉绀哄璞�
+ *
+ * @author weidy
+ * @date 2022-04-11
+ */
+@Data
+public class DockingSysIntHeaderVO extends BaseModel {
+
+	/**
+     * 绂佹淇敼杩欎釜鍊�
+     */
+	private static final long serialVersionUID = 4615707117938037102L;
+
+	/**
+	 * SysIntInfoDO 鐨刼id
+	 */
+	private String infoOid;
+
+	/**
+	 * 鍙傛暟key
+	 */
+	private String headerKey;
+
+	/**
+	 * 鍙傛暟value
+	 */
+	private String headerValue;
+
+	/**
+	 * 鏄惁浣跨敤
+	 */
+	private String usedFlag;
+
+	/***
+	 * 鏄惁浣跨敤鏄剧ず鏂囨湰
+	 */
+	private String usedFlagText;
+
+	@Override
+	public String toString() {
+		return "DockingSysIntHeaderVO{" +
+			"infoOid='" + infoOid + '\'' +
+			", headerKey='" + headerKey + '\'' +
+			", headerValue='" + headerValue + '\'' +
+			", usedFlag='" + usedFlag + '\'' +
+			", usedFlagText='" + usedFlagText + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntParamVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntParamVO.java
new file mode 100644
index 0000000..576d9df
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSysIntParamVO.java
@@ -0,0 +1,54 @@
+package com.vci.ubcs.code.vo.pagemodel;
+
+
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import lombok.Data;
+
+/**
+ * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹樉绀哄璞�
+ *
+ * @author xiejun
+ * @date 2023-06-21
+ */
+@Data
+public class DockingSysIntParamVO extends BaseModel {
+
+	/**
+     * 绂佹淇敼杩欎釜鍊�
+     */
+	private static final long serialVersionUID = 4615707118871819648L;
+
+	/**
+	 * SysIntInfoDO 鐨刼id
+	 */
+	private String infoOid;
+
+	/**
+	 * 鍙傛暟key
+	 */
+	private String paramKey;
+
+	/**
+	 * 鍙傛暟value
+	 */
+	private String paramValue;
+	/***
+	 * 鏄惁浣跨敤
+	 */
+	private String usedFlag;
+	/***
+	 * 鏄惁浣跨敤鏄剧ず鏂囨湰
+	 */
+	private String usedFlagText;
+
+	@Override
+	public String toString() {
+		return "DockingSysIntParamVO{" +
+			"infoOid='" + infoOid + '\'' +
+			", paramKey='" + paramKey + '\'' +
+			", paramValue='" + paramValue + '\'' +
+			", usedFlag='" + usedFlag + '\'' +
+			", usedFlagText='" + usedFlagText + '\'' +
+			'}';
+	}
+}
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
index 8f74d87..de9096b 100644
--- 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
@@ -241,11 +241,11 @@
 	/***
 	 * 鍙傛暟淇℃伅瀵硅薄
 	 */
-	private List<SysIntParamVO> sysIntParamVOs;
+	private List<DockingSysIntParamVO> sysIntParamVOs;
 	/***
 	 * header淇℃伅瀵硅薄
 	 */
-	private List<SysIntHeaderVO> sysIntHeaderVOs;
+	private List<DockingSysIntHeaderVO> sysIntHeaderVOs;
 
 
 	public String getAuthorityOid() {
@@ -602,19 +602,19 @@
 		this.classifyName = classifyName;
 	}
 
-	public List<SysIntParamVO> getSysIntParamVOs() {
+	public List<DockingSysIntParamVO> getSysIntParamVOs() {
 		return sysIntParamVOs;
 	}
 
-	public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
+	public void setSysIntParamVOs(List<DockingSysIntParamVO> sysIntParamVOs) {
 		this.sysIntParamVOs = sysIntParamVOs;
 	}
 
-	public List<SysIntHeaderVO> getSysIntHeaderVOs() {
+	public List<DockingSysIntHeaderVO> getSysIntHeaderVOs() {
 		return sysIntHeaderVOs;
 	}
 
-	public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
+	public void setSysIntHeaderVOs(List<DockingSysIntHeaderVO> sysIntHeaderVOs) {
 		this.sysIntHeaderVOs = sysIntHeaderVOs;
 	}
 
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntHeaderVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntHeaderVO.java
deleted file mode 100644
index 8825e59..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntHeaderVO.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.vci.ubcs.code.vo.pagemodel;
-
-import com.vci.ubcs.starter.revision.model.BaseModel;
-
-/**
- * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹樉绀哄璞�
- *
- * @author weidy
- * @date 2022-04-11
- */
-public class SysIntHeaderVO extends BaseModel {
-
-	/**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-	private static final long serialVersionUID = 4615707117938037102L;
-
-	/**
-	 * SysIntInfoDO 鐨刼id
-	 */
-	private String infoOid;
-
-	/**
-	 * 鍙傛暟key
-	 */
-	private String headerkey;
-
-	/**
-	 * 鍙傛暟value
-	 */
-	private String headeralue;
-
-	/**
-	 * 鏄惁浣跨敤
-	 */
-	private String usedflag;
-
-
-	public String getInfoOid() {
-		return infoOid;
-	}
-
-	public void setInfoOid(String infoOid) {
-		this.infoOid = infoOid;
-	}
-
-	public String getHeaderkey() {
-		return headerkey;
-	}
-
-	public void setHeaderkey(String headerkey) {
-		this.headerkey = headerkey;
-	}
-
-	public String getHeaderalue() {
-		return headeralue;
-	}
-
-	public void setHeaderalue(String headeralue) {
-		this.headeralue = headeralue;
-	}
-
-	public String getUsedflag() {
-		return usedflag;
-	}
-
-	public void setUsedflag(String usedflag) {
-		this.usedflag = usedflag;
-	}
-
-	@Override
-	public String toString() {
-		return "SysIntHeaderDO{" +
-				"infoOid='" + infoOid + '\'' +
-				", headerkey='" + headerkey + '\'' +
-				", headeralue='" + headeralue + '\'' +
-				", usedflag='" + usedflag + '\'' +
-				'}';
-	}
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntParamVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntParamVO.java
deleted file mode 100644
index 9ce2ae2..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntParamVO.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.vci.ubcs.code.vo.pagemodel;
-
-
-import com.vci.ubcs.starter.revision.model.BaseModel;
-
-/**
- * 绯荤粺闆嗘垚鎺ュ彛鐨勮璇佹樉绀哄璞�
- *
- * @author weidy
- * @date 2022-04-11
- */
-public class SysIntParamVO extends BaseModel {
-
-	/**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-	private static final long serialVersionUID = 4615707118871819648L;
-
-	/**
-	 * SysIntInfoDO 鐨刼id
-	 */
-	private String infoOid;
-
-	/**
-	 * 鍙傛暟key
-	 */
-	private String paramkey;
-
-	/**
-	 * 鍙傛暟value
-	 */
-	private String paramvalue;
-
-	/**
-	 * 鏄惁浣跨敤
-	 */
-	private String usedflag;
-
-
-	public String getInfoOid() {
-		return infoOid;
-	}
-
-	public void setInfoOid(String infoOid) {
-		this.infoOid = infoOid;
-	}
-
-	public String getParamkey() {
-		return paramkey;
-	}
-
-	public void setParamkey(String paramkey) {
-		this.paramkey = paramkey;
-	}
-
-	public String getParamvalue() {
-		return paramvalue;
-	}
-
-	public void setParamvalue(String paramvalue) {
-		this.paramvalue = paramvalue;
-	}
-
-	public String getUsedflag() {
-		return usedflag;
-	}
-
-	public void setUsedflag(String usedflag) {
-		this.usedflag = usedflag;
-	}
-
-	@Override
-	public String toString() {
-		return "SysIntParamDO{" +
-				"infoOid='" + infoOid + '\'' +
-				", paramkey='" + paramkey + '\'' +
-				", paramvalue='" + paramvalue + '\'' +
-				", usedflag='" + usedflag + '\'' +
-				'}';
-	}
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleDTO.java
index 7a1ccf6..406c378 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleDTO.java
@@ -1,5 +1,6 @@
 package com.vci.ubcs.omd.dto;
 
+import com.vci.ubcs.omd.entity.LifeCycleRule;
 import lombok.Data;
 
 import java.util.Date;
@@ -11,56 +12,20 @@
  * @date 2019/10/14 17:28
  */
 @Data
-public class LifeCycleDTO implements java.io.Serializable {
+public class LifeCycleDTO extends LifeCycleRule {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
      */
     private static final long serialVersionUID = -2896532706167604421L;
 
-    /**
-     * 涓婚敭
-     */
-    private String oid;
+	/**
+	 * 鑺傜偣
+	 */
+	private List<LifeCycleNodeDTO> nodes;
 
-    /**
-     * 鐢熷懡鍛ㄦ湡缂栧彿
-     */
-    private String id;
-
-    /**
-     * 鐢熷懡鍛ㄦ湡鍚嶇О
-     */
-    private String name;
-
-    /**
-     * 鎻忚堪
-     */
-    private String description;
-
-    /**
-     * 璧峰鐘舵��
-     */
-    private String startStatus;
-
-    /**
-     * 璧峰鐘舵�佸悕绉�
-     */
-    private String startStatusName;
-
-    /**
-     * 鍦ㄦ壂鎻忕殑鏃跺�欒褰曡繖涓敓鍛藉懆鏈熷搴旂殑绫诲叏璺緞
-     */
-    private String classFullName;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
-
-    /**
-     * 鍖呭惈鐨勮繛鎺ョ嚎
-     */
-    private List<LifeCycleLineDTO> lineDTOList;
-
+	/**
+	 * 杈圭晫鍜岃繛鎺ョ嚎
+	 */
+	private List<LifeCycleEdgeDTO> edges;
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleEdgeDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleEdgeDTO.java
new file mode 100644
index 0000000..4b661e8
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleEdgeDTO.java
@@ -0,0 +1,20 @@
+package com.vci.ubcs.omd.dto;
+
+import com.vci.ubcs.omd.entity.LifeCycleEdge;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鍥句笂鐨勮繛鎺ョ嚎绛夊唴瀹�
+ * @author weidy
+ * @date 2023/6/15
+ */
+@Data
+public class LifeCycleEdgeDTO extends LifeCycleEdge {
+
+	/**
+	 * 浜嬩欢
+	 */
+	private List<LifeCycleLineEventDTO> events;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineDTO.java
deleted file mode 100644
index 57ea385..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineDTO.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package com.vci.ubcs.omd.dto;
-
-import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * 鐢熷懡鍛ㄦ湡杩炴帴绾挎暟鎹紶杈撳璞�
- * @author weidy
- * @date 2019/10/14 17:31
- */
-@Data
-public class LifeCycleLineDTO implements java.io.Serializable{
-
-    /**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-    private static final long serialVersionUID = -7556637895235122903L;
-
-    /**
-     * 鎵�灞炵敓鍛藉懆鏈�
-     */
-    private String pkLifeCycle;
-
-    /**
-     * 婧愮姸鎬佷富閿�
-     */
-    private String sourceLifeStatusOid;
-
-    /**
-     * 婧愮姸鎬佷唬鍙�
-     */
-    private String sourceLifeStatus;
-
-    /**
-     * 婧愮姸鎬佸悕绉�
-     */
-    private String sourceLifeStatusName;
-
-    /**
-     * 鐩爣鐘舵�佷富閿�
-     */
-    private String targetLifeStatusOid;
-
-    /**
-     * 鐩爣鐘舵�佷唬鍙�
-     */
-    private String targetLifeStatus;
-
-    /**
-     * 鐩爣鐘舵�佸悕绉�
-     */
-    private String targetLifeStatusName;
-
-    /**
-     * 杩炴帴绾垮悕绉�
-     */
-    private String name;
-
-    /**
-     * 杩炴帴绾夸綅缃俊鎭�
-     */
-    private String transLineSiteInfo;
-
-    /**
-     * 涓婚敭
-     */
-    private String oid;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
-
-    /**
-     * 鍖呭惈鐨勪簨浠�
-     */
-    private List<LifeCycleLineEventDTO> eventDTOList;
-
-
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineEventDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineEventDTO.java
index 2f01763..ba07d73 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineEventDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleLineEventDTO.java
@@ -1,5 +1,6 @@
 package com.vci.ubcs.omd.dto;
 
+import com.vci.ubcs.omd.entity.LifeCycleLineEvent;
 import lombok.Data;
 
 import java.util.Date;
@@ -10,35 +11,12 @@
  * @date 2019/10/14 17:47
  */
 @Data
-public class LifeCycleLineEventDTO implements java.io.Serializable {
+public class LifeCycleLineEventDTO extends LifeCycleLineEvent {
 
 	/**
 	 * 绂佹淇敼杩欎釜鍊�
 	 */
 	private static final long serialVersionUID = 6860210157516359420L;
-	/**
-	 * 涓婚敭
-	 */
-	private String oid;
 
-	/**
-	 * 鎵�灞炵敓鍛藉懆鏈熻繛鎺ョ嚎涓婚敭
-	 */
-	private String pkLifeCycleLine;
-
-	/**
-	 * 浜嬩欢鐨勫叏璺緞
-	 */
-	private String eventFullName;
-
-	/**
-	 * 浜嬩欢鐨勫悕绉�
-	 */
-	private String eventShowName;
-
-	/**
-	 * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-	 */
-	private Date ts;
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleNodeDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleNodeDTO.java
new file mode 100644
index 0000000..ea36159
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/LifeCycleNodeDTO.java
@@ -0,0 +1,20 @@
+package com.vci.ubcs.omd.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.vci.ubcs.omd.entity.LifeCycleNode;
+import lombok.Data;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鐨勮妭鐐圭殑鏁版嵁浼犺緭瀵硅薄
+ * @author weidy
+ * @date 2023/6/15
+ */
+@Data
+public class LifeCycleNodeDTO extends LifeCycleNode {
+
+	/**
+	 * 搴忓垪鍖�
+	 */
+	private static final long serialVersionUID = -5906341589798877268L;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEdge.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEdge.java
new file mode 100644
index 0000000..46910d1
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEdge.java
@@ -0,0 +1,63 @@
+package com.vci.ubcs.omd.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鐨勫浘鐨勮竟鐣屽唴瀹�
+ * @author weidy
+ * @date 2023/6/15
+ */
+@Data
+@TableName("pl_omd_life_cycle_edge")
+@ApiModel(value = "鐢熷懡鍛ㄦ湡鐨勫浘鐨勮竟鐣屽唴瀹�", description = "鐢熷懡鍛ㄦ湡杈圭晫鍐呭")
+public class LifeCycleEdge extends BaseModel {
+	/**
+	 * 搴忓垪鍖�
+	 */
+	private static final long serialVersionUID = -8998234372457685057L;
+	/**
+	 * 鏉ユ簮鐘舵��
+	 */
+	private String source;
+
+	/**
+	 * 鏉ユ簮鐘舵�佽竟鐣�
+	 */
+	private String sourceAnchor;
+
+	/**
+	 * 鐩爣鐘舵��
+	 */
+	private String target;
+
+	/**
+	 * 鐩爣鐘舵�佽竟鐣�
+	 */
+	private String targetAnchor;
+
+
+	/**
+	 * 绾跨殑绫诲瀷
+	 */
+	private String shape;
+
+	/**
+	 * 杩炴帴绾跨殑鍚嶇О
+	 */
+	private String name;
+
+	/**
+	 * 鎺掑簭鍙�
+	 */
+	@JSONField(name = "index")
+	private Integer indexNO;
+
+	/**
+	 * 鎵�灞炵敓鍛藉懆鏈�
+	 */
+	private String lifeCycleOid;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java
index 0c41e84..8f12d8e 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java
@@ -1,12 +1,11 @@
 package com.vci.ubcs.omd.entity;
 
 
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
-import java.util.Date;
 
 /**
  * 鐢熷懡鍛ㄦ湡浜嬩欢闆嗗悎
@@ -17,18 +16,12 @@
 @Data
 @TableName("pl_omd_life_cycle_event")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡浜嬩欢闆嗗悎", description = "鐢熷懡鍛ㄦ湡浜嬩欢闆嗗悎")
-public class LifeCycleEvent implements java.io.Serializable{
+public class LifeCycleEvent extends BaseModel {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
      */
     private static final long serialVersionUID = 6950469551222671511L;
-
-    /**
-     * 涓婚敭
-     */
-	@TableId
-    private String oid;
 
     /**
      * 浜嬩欢鐨勫叏璺緞
@@ -45,40 +38,9 @@
      */
     private String description;
 
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmname;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
-
+	/**
+	 * 鎵�灞為鍩�
+	 */
+	private String domain;
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java
deleted file mode 100644
index 1cb65c1..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.vci.ubcs.omd.entity;
-
-
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- *
- * 鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎
- * @author weidy
- * @date 2019/10/10 6:56 PM
- */
-@Data
-@TableName("pl_omd_life_cycle_line")
-@ApiModel(value = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎", description = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎")
-public class LifeCycleLine implements java.io.Serializable {
-
-    /**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-    private static final long serialVersionUID = 1220998076767353574L;
-
-    /**
-     * 鎵�灞炵敓鍛藉懆鏈�
-     */
-    private String pkLifeCycle;
-
-    /**
-     * 婧愮姸鎬佷唬鍙�
-     */
-    private String sourceLifeStatus;
-
-    /**
-     * 婧愮姸鎬佸悕绉�
-     */
-    private String sourceLifeStatusName;
-
-    /**
-     * 鐩爣鐘舵�佷唬鍙�
-     */
-    private String targetLifeStatus;
-
-    /**
-     * 鐩爣鐘舵�佸悕绉�
-     */
-    private String targetLifeStatusName;
-
-    /**
-     * 杩炴帴绾垮悕绉�
-     */
-    private String name;
-
-    /**
-     * 杩炴帴绾夸綅缃俊鎭�
-     */
-    private String transLineSiteInfo;
-
-    /**
-     * 涓婚敭
-     */
-	@TableId
-    private String oid;
-
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmName;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
-
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java
index 2f8d1cf..e3ba056 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
@@ -17,22 +18,17 @@
 @Data
 @TableName("pl_omd_life_cycle_line_event")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎", description = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎")
-public class LifeCycleLineEvent implements java.io.Serializable{
+public class LifeCycleLineEvent extends BaseModel {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
      */
     private static final long serialVersionUID = -842247029575668650L;
-    /**
-     * 涓婚敭
-     */
-	@TableId
-    private String oid;
 
     /**
      * 鎵�灞炵敓鍛藉懆鏈熻繛鎺ョ嚎涓婚敭
      */
-    private String pkLifeCycleLine;
+    private String pkLifeCycleEdge;
 
     /**
      * 浜嬩欢鐨勫叏璺緞
@@ -49,40 +45,10 @@
      */
     private Integer orderNum;
 
+	/**
+	 * 鎵�灞為鍩�
+	 */
+	private String domain;
 
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmname;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleNode.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleNode.java
new file mode 100644
index 0000000..80f792a
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleNode.java
@@ -0,0 +1,64 @@
+package com.vci.ubcs.omd.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author weidy
+ * @date 2023/6/15
+ */
+@Data
+@TableName("pl_omd_life_cycle_node")
+@ApiModel(value = "鐢熷懡鍛ㄦ湡鐨勮妭鐐瑰唴瀹�", description = "鐢熷懡鍛ㄦ湡鑺傜偣")
+public class LifeCycleNode extends BaseModel {
+
+	/**
+	 * 鑺傜偣鐨勫昂瀵�
+	 */
+	@JSONField(name = "size")
+	private String boxSize;
+
+	/**
+	 * 棰滆壊鐨勬樉绀�
+	 */
+	private String color;
+
+	/**
+	 * 鏄剧ず鍚嶇О
+	 */
+	private String name;
+
+	/**
+	 * 鐘舵�佹爣璇�
+	 */
+	private String id;
+
+	/**
+	 * x杞寸殑鍧愭爣
+	 */
+	private String x;
+
+	/**
+	 * y杞寸殑鍧愭爣
+	 */
+	private String y;
+
+	/**
+	 * 鎺掑簭鍙�
+	 */
+	@JSONField(name = "index")
+	private Integer indexNO;
+
+	/**
+	 * 绾跨殑绫诲瀷
+	 */
+	private String shape;
+
+	/**
+	 * 鎵�灞炵敓鍛藉懆鏈�
+	 */
+	private String lifeCycleOid;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java
index 6aed6d3..c79b372 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
@@ -17,18 +18,13 @@
 @Data
 @TableName("pl_omd_life_cycle_rule")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡瑙勫垯", description = "鐢熷懡鍛ㄦ湡瑙勫垯")
-public class LifeCycleRule implements java.io.Serializable {
+public class LifeCycleRule extends BaseModel {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
      */
     private static final long serialVersionUID = 1476717511843047292L;
 
-    /**
-     * 涓婚敭
-     */
-	@TableId
-    private String oid;
 
     /**
      * 鐢熷懡鍛ㄦ湡缂栧彿
@@ -54,44 +50,5 @@
      * 璧峰鐘舵�佸悕绉�
      */
     private String startStatusName;
-
-    /**
-     * 绫荤殑鍏ㄨ矾寰�
-     */
-    private String classFullName;
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmName;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEdgeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEdgeVO.java
new file mode 100644
index 0000000..2b7e07c
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEdgeVO.java
@@ -0,0 +1,20 @@
+package com.vci.ubcs.omd.vo;
+
+import com.vci.ubcs.omd.entity.LifeCycleEdge;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鐢熷懡鍛ㄦ湡杩炴帴绾�
+ * @author weidy
+ * @date 2023/6/15
+ */
+@Data
+public class LifeCycleEdgeVO extends LifeCycleEdge {
+
+	/**
+	 * 浜嬩欢
+	 */
+	private List<LifeCycleLineEventVO> events;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java
index 8ca36cb..3588cf6 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java
@@ -1,5 +1,6 @@
 package com.vci.ubcs.omd.vo;
 
+import com.vci.ubcs.omd.entity.LifeCycleEvent;
 import lombok.Data;
 
 import java.util.Date;
@@ -10,65 +11,11 @@
  * @date 2023/4/3
  */
 @Data
-public class LifeCycleEventVO implements java.io.Serializable{
+public class LifeCycleEventVO extends LifeCycleEvent {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
      */
     private static final long serialVersionUID = 8503381504954264216L;
 
-    /**
-     * 涓婚敭
-     */
-    private String oid;
-
-    /**
-     * 浜嬩欢鐨勫叏璺緞
-     */
-    private String eventFullName;
-
-    /**
-     * 浜嬩欢鐨勫悕绉�
-     */
-    private String eventShowName;
-
-    /**
-     * 浜嬩欢鎻忚堪
-     */
-    private String description;
-
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmname;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java
index 9db39af..25822d2 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java
@@ -1,6 +1,7 @@
 package com.vci.ubcs.omd.vo;
 
 
+import com.vci.ubcs.omd.entity.LifeCycleLineEvent;
 import lombok.Data;
 
 import java.util.Date;
@@ -11,70 +12,11 @@
  * @date 2023/4/3
  */
 @Data
-public class LifeCycleLineEventVO implements java.io.Serializable{
+public class LifeCycleLineEventVO extends LifeCycleLineEvent {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
      */
     private static final long serialVersionUID = 216430078444875215L;
 
-    /**
-     * 涓婚敭
-     */
-    private String oid;
-
-    /**
-     * 鎵�灞炵敓鍛藉懆鏈熻繛鎺ョ嚎涓婚敭
-     */
-    private String pkLifeCycleLine;
-
-    /**
-     * 浜嬩欢鐨勫叏璺緞
-     */
-    private String eventFullName;
-
-    /**
-     * 浜嬩欢鐨勫悕绉�
-     */
-    private String eventShowName;
-
-    /**
-     * 鎺掑簭鍙�
-     */
-    private Integer orderNum;
-
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmname;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java
deleted file mode 100644
index 9ae40f7..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.vci.ubcs.omd.vo;
-
-import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * 鐢熷懡鍛ㄦ湡杩炴帴绾�
- * @author LiHang
- * @date 2023/4/3
- */
-@Data
-public class LifeCycleLineVO implements java.io.Serializable {
-
-    /**
-     * 绂佹淇敼杩欎釜鍊�
-     */
-    private static final long serialVersionUID = 1429889911601940640L;
-
-    /**
-     * 鎵�灞炵敓鍛藉懆鏈�
-     */
-    private String pkLifeCycle;
-
-    /**
-     * 婧愮姸鎬佷唬鍙�
-     */
-    private String sourceLifeStatus;
-
-    /**
-     * 婧愮姸鎬佸悕绉�
-     */
-    private String sourceLifeStatusName;
-
-    /**
-     * 鐩爣鐘舵�佷唬鍙�
-     */
-    private String targetLifeStatus;
-
-    /**
-     * 鐩爣鐘舵�佸悕绉�
-     */
-    private String targetLifeStatusName;
-
-    /**
-     * 杩炴帴绾垮悕绉�
-     */
-    private String name;
-
-    /**
-     * 杩炴帴绾夸綅缃俊鎭�
-     */
-    private String transLineSiteInfo;
-
-    /**
-     * 涓婚敭
-     */
-    private String oid;
-
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmname;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
-
-    /**
-     * 鍖呭惈浜嬩欢
-     */
-    private List<LifeCycleLineEventVO> events;
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleNodeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleNodeVO.java
new file mode 100644
index 0000000..87c7a6a
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleNodeVO.java
@@ -0,0 +1,17 @@
+package com.vci.ubcs.omd.vo;
+
+import com.vci.ubcs.omd.entity.LifeCycleNode;
+import lombok.Data;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鑺傜偣鐨勬樉绀哄璞�
+ * @author weidy
+ * @date 2023/6/15
+ */
+@Data
+public class LifeCycleNodeVO extends LifeCycleNode {
+	/**
+	 * 搴忓垪鍖�
+	 */
+	private static final long serialVersionUID = -3685497665145192869L;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java
index 164824e..5813a75 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java
@@ -1,5 +1,6 @@
 package com.vci.ubcs.omd.vo;
 
+import com.vci.ubcs.omd.entity.LifeCycleRule;
 import lombok.Data;
 
 import java.util.Date;
@@ -11,85 +12,20 @@
  * @date 2023/4/3
  */
 @Data
-public class LifeCycleVO implements java.io.Serializable{
+public class LifeCycleVO extends LifeCycleRule {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
      */
     private static final long serialVersionUID = 5567711696707791107L;
 
-    /**
-     * 涓婚敭
-     */
-    private String oid;
+	/**
+	 * 鑺傜偣
+	 */
+	private List<LifeCycleNodeVO> nodes;
 
-    /**
-     * 鐢熷懡鍛ㄦ湡缂栧彿
-     */
-    private String id;
-
-    /**
-     * 鐢熷懡鍛ㄦ湡鍚嶇О
-     */
-    private String name;
-
-    /**
-     * 鎻忚堪
-     */
-    private String description;
-
-    /**
-     * 绫荤殑鍏ㄨ矾寰�
-     */
-    private String classFullName;
-
-    /**
-     * 璧峰鐘舵��
-     */
-    private String startStatus;
-
-    /**
-     * 璧峰鐘舵�佸悕绉�
-     */
-    private String startStatusName;
-
-    /**
-     * 涓氬姟绫诲瀷鍚嶇О
-     */
-    private String btmname;
-
-    /**
-     * 鎷ユ湁鑰�
-     */
-    private String owner;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    private String creator;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    private Date createTime;
-
-    /**
-     * 鏈�鍚庝慨鏀逛汉
-     */
-    private String lastModifier;
-
-    /**
-     * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
-     */
-    private Date lastModifyTime;
-
-    /**
-     * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
-     */
-    private Date ts;
-
-    /**
-     * 鍖呭惈杩炴帴绾�
-     */
-    private List<LifeCycleLineVO> lines;
+	/**
+	 * 杩炴帴绾�
+	 */
+	private List<LifeCycleEdgeVO> edges;
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
index 7637bda..84b8d0f 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
@@ -122,4 +122,10 @@
 	 */
 	public static final String PL_CODE_SYSINTINFO = "PL_CODE_SYSINTINFO";
 
+	/**
+	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄
+	 * platformbtm_sysintparemter
+	 */
+	public static final String PL_CODE_SYSINTPAREMTER = "PL_CODE_SYSINTPAREMTER";
+
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
index 0430da1..3fc3b22 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -96,13 +96,16 @@
 		try {
 			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 			baseModel.setOid(dataMap.getOrDefault("OID",""));
-			String createTime=dataMap.getOrDefault("CREATETIME","");
+			Object createTimeObj=dataMap.getOrDefault("CREATETIME","");
+			String createTime= createTimeObj.toString();
 			baseModel.setCreateTime(chageStringToDate(createTime));
 			baseModel.setNameOid(dataMap.getOrDefault("NAMEOID",""));
 
-			String lastModifyTime=dataMap.getOrDefault("LASTMODIFYTIME","");
+			Object lastModifyTimeObj=dataMap.getOrDefault("LASTMODIFYTIME","");
+			String lastModifyTime= lastModifyTimeObj.toString();
 			baseModel.setLastModifyTime(chageStringToDate(lastModifyTime));
-			String ts=dataMap.getOrDefault("TS","");
+			Object tsObj=dataMap.getOrDefault("TS","");
+			String ts= tsObj.toString();
 			baseModel.setTs(chageStringToDate(ts));
 			baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
 			//鐢ㄦ埛id
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
index e3e0864..0ddb3ad 100644
--- 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.code.dto.DockingSystemConfigDTO;
 import com.vci.ubcs.code.dto.DockingSystemDTO;
 import com.vci.ubcs.code.entity.CodeRule;
 import com.vci.ubcs.code.entity.DockingSystem;
@@ -51,7 +52,7 @@
 	 * @param dockingSystem 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
 	 *@return 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭樉绀哄璞″垪琛�
 	 */
-	@GetMapping("/gridSysIntBase")
+	@GetMapping("/gridDockingSystem")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "鍒嗛〉", notes = "dockingSystem")
 	public R<IPage<DockingSystemVO>> page(DockingSystem dockingSystem, Query query) {
@@ -64,8 +65,8 @@
 	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
 	 */
-	@PostMapping( "/addSave")
-	public  R<DockingSystemVO> addSave(@RequestBody DockingSystemDTO dockingSystemDTO){
+	@PostMapping( "/addSaveDockingSystem")
+	public  R<DockingSystemVO> addSaveDockingSystem(@RequestBody DockingSystemDTO dockingSystemDTO){
 		boolean res= dockingSystemService.addSave(dockingSystemDTO);
 		return  R.status(res);
 	}
@@ -76,8 +77,8 @@
 	 * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
 	 */
-	@PutMapping("/editSave")
-	public R<DockingSystemVO> editSave(@RequestBody DockingSystemDTO dockingSystemDTO){
+	@PutMapping("/editSaveDockingSystem")
+	public R<DockingSystemVO> editSaveDockingSystem(@RequestBody DockingSystemDTO dockingSystemDTO){
 		DockingSystemVO dockingSystemVO = dockingSystemService.editSave(dockingSystemDTO);
 		return R.data(dockingSystemVO);
 	}
@@ -102,12 +103,26 @@
 	 * @param DockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
 	 * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃
 	 */
-	@GetMapping("/gridSysIntInfo")
+	@GetMapping("/gridSystemConfig")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "鍒嗛〉", notes = "DockingSystemConfig")
-	public R<IPage<DockingSystemConfigVO>> gridSysIntInfo(DockingSystemConfig DockingSystemConfig, Query query){
+	public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig DockingSystemConfig, Query query){
 		IPage<DockingSystemConfig> pages = dockingSystemConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig));
 		return R.data(DockingSystemConfigWrapper.build().pageVO(pages));
 	}
 
+	/**
+	 * 澧炲姞 绯荤粺闆嗘垚鍩虹淇℃伅
+	 * @param systemConfigDTO 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@PostMapping( "/addSaveSystemConfig")
+	public R addSaveSystemConfig(@RequestBody DockingSystemConfigDTO systemConfigDTO){
+		try {
+			boolean res =  dockingSystemConfigService.addSave(systemConfigDTO);
+			return R.success("淇濆瓨鎴愬姛!");
+		}catch (Throwable e){
+			return R.fail("淇濆瓨澶辫触!");
+		}
+	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
index 454c305..3580f4e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -3,6 +3,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vci.ubcs.code.dto.CodeDeleteBatchDTO;
 import com.vci.ubcs.code.dto.CodeOrderDTO;
 import com.vci.ubcs.code.dto.CodeOrderSecDTO;
@@ -10,6 +11,7 @@
 import com.vci.ubcs.code.service.MdmEngineService;
 import com.vci.ubcs.code.service.MdmIOService;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.starter.annotation.VciBusinessLog;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
@@ -693,8 +695,8 @@
 	 * @return 鎵ц鐨勭粨鏋�
 	 */
 	@GetMapping("/defaultReferDataGrid")
-	public DataGrid defaultReferDataGrid(UIFormReferVO referConfigVO, PageHelper pageHelper){
-		return engineService.referDataGrid(referConfigVO,pageHelper);
+	public Page<BtmTypeVO>  defaultReferDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject){
+		return engineService.referDataGrid(referConfigVO,baseQueryObject);
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntHeaderMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntHeaderMapper.java
new file mode 100644
index 0000000..e3089c7
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntHeaderMapper.java
@@ -0,0 +1,7 @@
+package com.vci.ubcs.code.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.code.entity.DockingSysIntHeader;
+
+public interface DockingSysIntHeaderMapper extends BaseMapper<DockingSysIntHeader> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntParamMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntParamMapper.java
new file mode 100644
index 0000000..c489801
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSysIntParamMapper.java
@@ -0,0 +1,7 @@
+package com.vci.ubcs.code.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.code.entity.DockingSysIntParam;
+
+public interface DockingSysIntParamMapper extends BaseMapper<DockingSysIntParam> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntHeaderService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntHeaderService.java
new file mode 100644
index 0000000..a781bf7
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntHeaderService.java
@@ -0,0 +1,7 @@
+package com.vci.ubcs.code.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.code.entity.DockingSysIntHeader;
+
+public interface IDockingSysIntHeaderService extends IService<DockingSysIntHeader> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntParamService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntParamService.java
new file mode 100644
index 0000000..7a22834
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSysIntParamService.java
@@ -0,0 +1,8 @@
+package com.vci.ubcs.code.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.code.entity.DockingSysIntParam;
+
+public interface IDockingSysIntParamService extends IService<DockingSysIntParam> {
+
+}
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
index 7a208c3..373ccab 100644
--- 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
@@ -1,8 +1,9 @@
 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.dto.DockingSystemConfigDTO;
 import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
 
 /***
  * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟
@@ -10,4 +11,20 @@
  * @date 2023-06-01
  */
 public interface IDockingSystemConfigService extends IService<DockingSystemConfig> {
+
+	/**
+	 * 澧炲姞 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO);
+	/**
+	 * 淇敼 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemConfigDTO);
+
+
+	boolean deleteDataById(String oids);
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
index 0be0ac9..e253981 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -1,6 +1,7 @@
 package com.vci.ubcs.code.service;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
 import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
@@ -11,15 +12,13 @@
 import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
 import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.web.pagemodel.*;
 import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO;
 import org.springblade.core.tool.api.R;
 
-import java.beans.IntrospectionException;
-import java.lang.reflect.InvocationTargetException;
-import java.sql.SQLException;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -400,10 +399,9 @@
 	/**
 	 * 榛樿鍒楄〃
 	 * @param referConfigVO
-	 * @param pageHelper
 	 * @return
 	 */
-	DataGrid referDataGrid(UIFormReferVO referConfigVO, PageHelper pageHelper);
+	Page<BtmTypeVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject);
 
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
index a3f53b6..c17b3a8 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -1,10 +1,18 @@
 package com.vci.ubcs.code.service.impl;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.vci.ubcs.code.entity.DockingSystem;
 import com.vci.ubcs.code.service.ICodeDuckingSyncService;
+import com.vci.ubcs.code.service.IDockingSystemService;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.tool.api.R;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
 
 
 /*
@@ -17,9 +25,16 @@
 @Slf4j
 public class CodeDuckingSyncServiceImpl implements ICodeDuckingSyncService {
 
+	@Resource
+	private  IDockingSystemService dockingSystemService;
+
 
 	@Override
 	public void DockingDataSyncScheduing() {
+
+// insertCache2();
+		initPushDataTaks(1);
+		//sendpushDataForService();
 
 	}
 
@@ -32,5 +47,122 @@
 	public R sendData(String oids) {
 		return null;
 	}
+
+
+	/***
+	 * 鏌ヨredis涓暟鎹紝瀵规瘮鍚庢彃鍏ockingtask
+	 * @param type
+	 */
+	private void initPushDataTaks(int type){
+//		//initSysadmin();
+//		//sysintinfo鏌ヨ瑕佹帹閫佺殑涓婚搴撳拰鐩稿叧绯荤粺淇℃伅
+//		Map<String, String> conditionMap = new HashMap<>();
+//		conditionMap.put("usedflag","true");
+//		conditionMap.put("pushType",type==2?"2":"1") ;//2鏄唬琛ㄥ垎绫绘帹閫侊紝1鏄唬琛ㄦ暟鎹帹閫�
+//
+//		Wrappers wrappers=new Wrappers();
+//
+//		List<DockingSystem> sysIntInfoVOList = dockingSystemService.list(Wrappers.query().lambda().eq());
+//		if(CollectionUtils.isEmpty(sysIntInfoVOList)){
+//			String title=type==2?"鍒嗙被鎺ㄩ��":"鏁版嵁鎺ㄩ��";
+//			log.info("info->鎵�鏈夐泦鎴愮郴缁燂紝鏈煡璇㈠埌鐩稿叧鐨勩��"+title+"銆戠殑鎺ュ彛閰嶇疆淇℃伅锛岄厤缃�");
+//			return;
+//		}
+//		Map<String ,List<DockingSystem>> sysIntInfoDOMap = new HashMap<String ,List<DockingSystem>>();//key=classifyoid,value=list<map>
+//		for (SysIntInfoDO sysIntInfoVOi:sysIntInfoVOList){
+//			List<SysIntInfoDO> SysIntInfoVOListi = sysIntInfoDOMap.get(sysIntInfoVOi.getClassifyoid());
+//			if(SysIntInfoVOListi==null){
+//				SysIntInfoVOListi = new ArrayList<SysIntInfoDO>();
+//			}
+//			SysIntInfoVOListi.add(sysIntInfoVOi);
+//			sysIntInfoDOMap.put(sysIntInfoVOi.getClassifyoid(),SysIntInfoVOListi);
+//		}
+//		//鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹�
+//		VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(DockingDataDO.class);
+//		queryWrapperForDO.addQueryMap("sendflag","false");
+//		if(type==2){
+//			queryWrapperForDO.addQueryMap("btmTypeId",DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
+//		}else {
+//			queryWrapperForDO.addQueryMap("btmTypeId", QueryOptionConstant.NOTIN + "(" + VciBaseUtil.toInSql(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)) + ")");
+//		}
+//		List<DockingDataDO> dataList = dockingDataDaoI.selectByWrapper(queryWrapperForDO);
+//
+//		for (DockingDataDO mapi:dataList){
+//			WebUtil.setPersistence(false);
+//			BatchCBO batchCBO = new BatchCBO();
+//			String dataoid = mapi.getOid();//data瀵硅薄鐨刼id
+//			String classifyoid = mapi.getClassifyoid();
+//			String id = mapi.getId();
+//			String uniquecode = mapi.getUniquecode();
+//			String btmid = mapi.getBtmid();
+//			String btmoid = mapi.getBtmoid();
+//			String sendtype = mapi.getSendtype();
+//			String classifyid = mapi.getClassifyid();
+//			String classifyname = mapi.getClassifyname();
+//			String curentClassOid=null;
+//			if(type==2){
+//				curentClassOid=btmoid;
+//			}else{
+//				curentClassOid=classifyoid;
+//			}
+//			List<SysIntInfoDO> effectiveSysIntInfoVOs=new ArrayList<>();
+//			//鏍规嵁褰撳墠鏁版嵁鐨刬d锛屾煡璇㈣幏鍙栧摢浜涚郴缁熼渶瑕佸仛闆嗘垚
+//			List<CodeClassifyDO> parentLeveDO= codeClassifyDaoI.selectAllLevelParentByOid(curentClassOid);
+//			if(CollectionUtils.isEmpty(parentLeveDO)){
+//				continue;//璇存槑杩欎釜鍒嗙被琚垹鎺変簡锛屼笉鍋氬鐞�
+//			}
+//			Map<String, CodeClassifyDO> oidCodeclassifyDOMap = parentLeveDO.stream().filter(codeClassifyDO -> codeClassifyDO != null && StringUtils.isNotBlank(codeClassifyDO.getOid())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
+//
+//			oidCodeclassifyDOMap.keySet().forEach(oid->{
+//				if(sysIntInfoDOMap.containsKey(oid)){
+//					List<SysIntInfoDO> sysIntInfoDOS= sysIntInfoDOMap.get(oid);
+//					effectiveSysIntInfoVOs.addAll(sysIntInfoDOS);
+//				}
+//			});
+//			//濡傛灉鏍¢獙鐨勭郴缁熸帴鍙d俊鎭笉瀛樺湪锛屽垯鏁版嵁涓嶄笉寰�淇℃伅閲屾帹閫�
+//			if(CollectionUtils.isEmpty(effectiveSysIntInfoVOs)){
+//				continue;
+//			}
+//			List<DockingTaskDO> dockingTaskDO_insert = new ArrayList<DockingTaskDO>();
+//			for (SysIntInfoDO sysIntInfoVOi:effectiveSysIntInfoVOs){
+//				DockingTaskDO dockingTaskDO = new DockingTaskDO();
+//				dockingTaskDO.setOid(redisService.getUUIDEveryDay());
+//				dockingTaskDO.setSendflag(SEND_FLAG_FALSE);
+//				dockingTaskDO.setId(id);//缂栫爜
+//				dockingTaskDO.setUniquecode(uniquecode);
+//				dockingTaskDO.setBtmoid(btmoid);//鏁版嵁oid
+//				dockingTaskDO.setBtmid(btmid);//鏁版嵁涓氬姟绫诲瀷id
+//				dockingTaskDO.setClassifyid(classifyid);//鏁版嵁鍦ㄥ垎绫籭d
+//				dockingTaskDO.setClassifyoid(classifyoid);//鏁版嵁鎵�鍦ㄥ垎绫籵id
+//				dockingTaskDO.setClassifyname(classifyname);//鏁版嵁鎵�鍦ㄥ垎绫诲悕绉�
+//				dockingTaskDO.setSendtype(sendtype);//鏁版嵁鎺ㄩ�佺被鍨�
+//				dockingTaskDO.setDataoid(dataoid);
+//
+//				//intinfo
+//				dockingTaskDO.setSysinfooid(sysIntInfoVOi.getOid());//intinfo鐨刼id
+//				dockingTaskDO.setSystemoid(sysIntInfoVOi.getSysbaseoid());//绯荤粺oid
+//				dockingTaskDO.setSystemcode(sysIntInfoVOi.getSysbaseid());//绯荤粺缂栫爜
+//				dockingTaskDO.setSystemname(sysIntInfoVOi.getSysbasename());//绯荤粺name
+//				dockingTaskDO_insert.add(dockingTaskDO);
+//			}
+//
+//			BatchCBO bi = null;
+//			if(dockingTaskDO_insert.size()!=0) {
+//				bi = dockingTaskDaoI.batchInsert(dockingTaskDO_insert);
+//				batchCBO.copyFromOther(bi);
+//			}
+//			WebUtil.setPersistence(true);
+//			boService.persistenceBatch(batchCBO);
+//			//dockingTaskDaoI.updateByPrimaryKey鏂规硶鎶ラ敊浜嗭紝鎵�浠ユ墜鍐欎簡杩欎釜
+//			boolean u = updateDockingDatasSendFlag(dataoid,SEND_FLAG_TRUE);
+//			if(!u){
+//				log.error("闆嗘垚data鍒嗚В浠诲姟澶辫触锛乨ataoid:"+dataoid);
+//				continue;
+//			}
+//
+//		}
+	}
+
+
 }
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntHeaderServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntHeaderServiceImpl.java
new file mode 100644
index 0000000..b24b7b9
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntHeaderServiceImpl.java
@@ -0,0 +1,13 @@
+package com.vci.ubcs.code.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.entity.DockingSysIntHeader;
+import com.vci.ubcs.code.mapper.DockingSysIntHeaderMapper;
+import com.vci.ubcs.code.service.IDockingSysIntHeaderService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+public class DockingSysIntHeaderServiceImpl  extends ServiceImpl<DockingSysIntHeaderMapper, DockingSysIntHeader> implements IDockingSysIntHeaderService {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntParamServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntParamServiceImpl.java
new file mode 100644
index 0000000..98a9f01
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSysIntParamServiceImpl.java
@@ -0,0 +1,13 @@
+package com.vci.ubcs.code.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.entity.DockingSysIntParam;
+import com.vci.ubcs.code.mapper.DockingSysIntParamMapper;
+import com.vci.ubcs.code.service.IDockingSysIntParamService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+public class DockingSysIntParamServiceImpl extends ServiceImpl<DockingSysIntParamMapper, DockingSysIntParam> implements IDockingSysIntParamService {
+}
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
index 2341b7d..4d9af0a 100644
--- 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
@@ -1,23 +1,156 @@
 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.constant.MdmBtmTypeConstant;
+import com.vci.ubcs.code.dto.DockingSysIntHeaderDTO;
+import com.vci.ubcs.code.dto.DockingSystemConfigDTO;
+import com.vci.ubcs.code.dto.DockingSysIntParamDTO;
+import com.vci.ubcs.code.entity.DockingSysIntHeader;
+import com.vci.ubcs.code.entity.DockingSysIntParam;
+import com.vci.ubcs.code.entity.DockingSystem;
 import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.enumpack.SysIntegrationRequestTypeEnum;
+import com.vci.ubcs.code.mapper.DockingSysIntHeaderMapper;
+import com.vci.ubcs.code.mapper.DockingSysIntParamMapper;
 import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
+import com.vci.ubcs.code.mapper.DockingSystemMapper;
+import com.vci.ubcs.code.service.IDockingSysIntHeaderService;
+import com.vci.ubcs.code.service.IDockingSysIntParamService;
 import com.vci.ubcs.code.service.IDockingSystemConfigService;
+import com.vci.ubcs.code.vo.pagemodel.DockingSysIntHeaderVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
-import java.util.Collection;
-import java.util.Map;
-import java.util.function.Function;
+import java.util.*;
 
 /***
  * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟
  * @author xiejun
  * @date 2023-06-01
  */
+@Slf4j
 @Service
 public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{
 
+	/***
+	 * 闆嗘垚绯荤粺绠$悊鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private DockingSystemConfigMapper dockingSystemConfigMapper;
+
+	/***
+	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊鍙傛暟鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private IDockingSysIntParamService dockingSysIntParamService;
+
+
+
+	/***
+	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊鍙傛暟鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private IDockingSysIntHeaderService dockingSysIntHeaderService;
+
+
+	/***
+	 * 闆嗘垚鎺ュ彛-闆嗘垚绯荤粺鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private DockingSystemMapper dockingSystemMapper;
+
+	/**
+	 * 瀵硅薄鐨勬搷浣�
+	 */
+	@Autowired
+	private RevisionModelUtil revisionModelUtil;
+	/**
+	 * 澧炲姞绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	@Override
+	public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO) {
+		log.info(" 澧炲姞绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�:"+dockingSystemConfigDTO.toString());
+		VciBaseUtil.alertNotNull(dockingSystemConfigDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+		checkColumnNotNull(dockingSystemConfigDTO);
+		String sourcesystemoid = dockingSystemConfigDTO.getSourceSystemOid();
+		DockingSystem dockingSystem = dockingSystemMapper.selectById(sourcesystemoid);
+		dockingSystemConfigDTO.setSysBaseOid(sourcesystemoid);
+		dockingSystemConfigDTO.setSysBaseId(dockingSystem.getId());
+		dockingSystemConfigDTO.setSysBaseName(dockingSystem.getName());
+		dockingSystemConfigDTO.setUsedFlag("true");//璁剧疆榛樿鍚敤鐘舵��
+
+		//灏咲TO杞崲涓篋O
+		DockingSystemConfig dockingSystemConfig = new DockingSystemConfig();
+		revisionModelUtil.copyFromDTOIgnore(dockingSystemConfigDTO,dockingSystemConfig);
+
+
+		List<DockingSysIntParamDTO> sysIntParamDTOList=  dockingSystemConfigDTO.getSysIntParamDTOS();
+		List<DockingSysIntParam> sysIntParamList=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(sysIntParamDTOList)) {
+			sysIntParamDTOList.stream().forEach(sysIntParamDTO -> {
+				DockingSysIntParam sysIntParamDO = new DockingSysIntParam();
+				sysIntParamDTO.setInfoOid(dockingSystemConfigDTO.getOid());
+				BeanUtilForVCI.copyPropertiesIgnoreCase(sysIntParamDTO, sysIntParamDO);
+				DefaultAttrAssimtUtil.addDefaultAttrAssimt(sysIntParamDO,MdmBtmTypeConstant.SYS_INT_PARAMTERY);
+				sysIntParamList.add(sysIntParamDO);
+			});
+		}
+		List<DockingSysIntHeaderDTO> sysIntHeaderDTOs= dockingSystemConfigDTO.getSysIntHeaderDTOS();
+		List<DockingSysIntHeader> sysIntHeaderList = new ArrayList<>();
+		if(!CollectionUtils.isEmpty(sysIntHeaderDTOs)) {
+			sysIntHeaderDTOs.stream().forEach(sysIntHeaderDTO -> {
+				DockingSysIntHeader dockingSysIntHeader = new DockingSysIntHeader();
+				sysIntHeaderDTO.setInfoOid(dockingSystemConfigDTO.getOid());
+				BeanUtilForVCI.copyPropertiesIgnoreCase(sysIntHeaderDTO, dockingSysIntHeader);
+				DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSysIntHeader,MdmBtmTypeConstant.SYS_INT_HEADER);
+				sysIntHeaderList.add(dockingSysIntHeader);
+			});
+		}
+		dockingSysIntParamService.saveBatch(sysIntParamList);
+		dockingSysIntHeaderService.saveBatch(sysIntHeaderList);
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystemConfig,MdmBtmTypeConstant.SYS_INT_INFO);
+		dockingSystemConfigMapper.insert(dockingSystemConfig);
+
+		return true;
+
+	}
+
+	@Override
+	public DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemDTO) {
+		return null;
+	}
+
+	@Override
+	public boolean deleteDataById(String oids) {
+		return false;
+	}
+
+	/**
+	 * 绯荤粺闆嗘垚鎺ュ彛鍩虹淇℃伅Null瀛楁妫�楠�
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+	 */
+	private void checkColumnNotNull(DockingSystemConfigDTO  dockingSystemConfigDTO) throws VciBaseException {
+		if (SysIntegrationRequestTypeEnum.HTTP.getValue().equals(dockingSystemConfigDTO.getInterfaceType())){
+			VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getRequestUrl(),"HTTP鎺ュ彛鐨勮姹傚湴鍧�",dockingSystemConfigDTO.getRequestMethod(),"HTTP鎺ュ彛鐨勮姹傛柟寮�");
+		}
+		if (SysIntegrationRequestTypeEnum.WEB_SERVICE.getValue().equals(dockingSystemConfigDTO.getInterfaceType())){
+			VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getInterfaceFunction(),"WebService鐨勬帴鍙e嚱鏁�");
+		}
+		if (SysIntegrationRequestTypeEnum.CLASSPATH.getValue().equals(dockingSystemConfigDTO.getInterfaceType())){
+			VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getClassPath(),"绫昏矾寰�");
+		}
+	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java
index d9d9908..b104c18 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java
@@ -1,9 +1,7 @@
 package com.vci.ubcs.code.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.vci.ubcs.code.entity.CodeClassifyValue;
 import com.vci.ubcs.code.entity.DockingTask;
-import com.vci.ubcs.code.mapper.CodeClassifyValueMapper;
 import com.vci.ubcs.code.mapper.DockingTaskMapper;
 import com.vci.ubcs.code.service.IDockingTaskService;
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 7367fb7..b34af4d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
@@ -55,6 +56,7 @@
 import org.slf4j.LoggerFactory;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
@@ -77,7 +79,6 @@
 import java.time.ZonedDateTime;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
@@ -138,6 +139,15 @@
 	 */
 	@Autowired
 	private FormulaServiceImpl formulaService;
+
+
+	/**
+	 *  瀵筼md涓彁渚涚殑feign鎺ュ彛杩涜璋冪敤锛屼互鍙婂鐞嗙浉鍏抽�昏緫
+	 */
+	@Autowired
+	ICodeReferBtmTypeService codeReferBtmTypeService;
+
+
 
 	/**
 	 * 鐩镐技椤规煡璇㈣鍒�
@@ -1729,9 +1739,9 @@
 				String field = UBCSSqlKeyword.getColumn(key, "_like");
 				if (referFieldMap.containsKey(field)) {
 					//璇存槑杩樻槸鍙傜収閲岄潰鐨勶紝鎴戜滑榛樿杩欑鎯呭喌涓嬮兘鏄瓧绗︿覆鍚э紝鍥犱负鍙傜収鐨勫睘鎬т笉涓�瀹氱敤鐨勫钩鍙扮殑灞炴�ф睜閲岀殑锛屾墍浠ュぇ閮ㄥ垎鎯呭喌涓嬶紝鏄剧ず鐨勫睘鎬ч兘鏄瓧绗︿覆鍚�
-					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "%" + value + "%)" + SPACE;
+					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "'%" + value + "%'" + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "%" + getStringValueInWhere(field, value, attrVOMap) + "%)" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "'%" + getStringValueInWhere(field, value, attrVOMap) + "%'" + SPACE;
 				}
 			} else if (key.endsWith("_notequal")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_notequal");
@@ -1849,9 +1859,9 @@
 			}else if(key.endsWith("_equal")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_equal");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + "= " + value + SPACE;
+					return referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + getStringValueInWhere(field, value, attrVOMap) + "'"  + SPACE;
 				}
 			}else {
 				if (referFieldMap.containsKey(key)) {
@@ -1914,7 +1924,7 @@
 			}
 			if (field.contains(".") && attrVOMap != null && attrVOMap.containsKey(field.split("\\.")[0].toLowerCase(Locale.ROOT))) {
 				//鏄弬鐓�
-				return "'" + value + "'";
+				return value;
 			} else {
 				return value;
 			}
@@ -1938,13 +1948,13 @@
 					|| VciFieldTypeEnum.VTInteger.equals(fieldTypeEnum)) {
 					return value;
 				} else {
-					return "'" + value + "'";
+					return value;
 				}
 			} else {
 				if ((value.startsWith("(") && value.endsWith(")")) || (value.startsWith("'") && value.endsWith("'"))) {
 					return value;
 				}
-				return "'" + value + "'";
+				return value;
 			}
 		}
 
@@ -3349,52 +3359,33 @@
 	 * 鑾峰彇鍙傜収鐨勪俊鎭�
 	 *
 	 * @param referConfigVO 鍙傜収鐨勯厤缃�
-	 * @param pageHelper    鍒嗛〉鐨勫伐鍏�
 	 * @return 鍒楄〃鏁版嵁
 	 */
 	@Override
-	public DataGrid referDataGrid(UIFormReferVO referConfigVO, PageHelper pageHelper) {
+	public Page<BtmTypeVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) {
 //		checkReferConfig(referConfigVO);
 		//浣跨敤涓氬姟绫诲瀷鏌ヨ
 		R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(referConfigVO.getReferType());
 		BtmTypeVO btmTypeVO = allAttributeByBtmId.getData();
-		if (referConfigVO.getWhere() == null) {
-			referConfigVO.setWhere(new HashMap<>());
-		}
 		/**
 		 * 鍔犱笂鏌ヨ鏈�鏂扮増娆�
 		 */
-		Map<String, String> conditionMap = new HashMap<>();
-		conditionMap.put("lastr", "1");
-		conditionMap.put("lastv", "1");
-		referConfigVO.getWhere().putAll(conditionMap);
-		if (VciBaseUtil.containsKeyUnCaseForMap(referConfigVO.getWhere(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
+		baseQueryObject.getConditionMap().put("lastr", "1");
+		baseQueryObject.getConditionMap().put("lastv", "1");
+		if (VciBaseUtil.containsKeyUnCaseForMap(baseQueryObject.getConditionMap(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
 			BtmTypeLcStatusConstant.FRAME_WORK_LIFE_CYCLE_NAME.equalsIgnoreCase(btmTypeVO.getLifeCycleId())) {
-			referConfigVO.getWhere().put(VciQueryWrapperForDO.LC_STATUS_FIELD, FrameworkDataLCStatus.ENABLED.getValue());
+			baseQueryObject.getConditionMap().put(VciQueryWrapperForDO.LC_STATUS_FIELD, FrameworkDataLCStatus.ENABLED.getValue());
 		}
-		if (VciBaseUtil.containsKeyUnCaseForMap(referConfigVO.getWhere(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
+		if (VciBaseUtil.containsKeyUnCaseForMap(baseQueryObject.getConditionMap(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
 			BtmTypeLcStatusConstant.RELEASE_LIFE_CYCLE.equalsIgnoreCase(btmTypeVO.getLifeCycleId())) {
-			referConfigVO.getWhere().put(VciQueryWrapperForDO.LC_STATUS_FIELD, CodeDefaultLC.RELEASED.getValue());
+			baseQueryObject.getConditionMap().put(VciQueryWrapperForDO.LC_STATUS_FIELD, CodeDefaultLC.RELEASED.getValue());
 		}
-		BaseQueryObject baseQueryObject = new BaseQueryObject();
-		Map<String, String> where = referConfigVO.getWhere();
-		where.put("domain", AppConstant.APPLICATION_NAME_CODE);
-		baseQueryObject.setConditionMap(where);
-		baseQueryObject.setPage(pageHelper.getPage());
-		baseQueryObject.setSort(pageHelper.getSort());
-		baseQueryObject.setLimit(pageHelper.getLimit());
-		baseQueryObject.setOrder(pageHelper.getOrder());
-		R<List<BtmTypeVO>> ref = btmTypeClient.getRef(baseQueryObject);
-		DataGrid<BtmTypeVO> btmTypeVODataGrid = new DataGrid<>();
-		List<BtmTypeVO> data = ref.getData();
-		btmTypeVODataGrid.setData(data);
-		btmTypeVODataGrid.setCode(ref.getCode());
-		btmTypeVODataGrid.setLimit(pageHelper.getLimit());
-		btmTypeVODataGrid.setMsg(ref.getMsg());
-		btmTypeVODataGrid.setSort(pageHelper.getSort());
-		btmTypeVODataGrid.setOrder(pageHelper.getOrder());
-		btmTypeVODataGrid.setPage(pageHelper.getPage());
-		return btmTypeVODataGrid;
+		baseQueryObject.getConditionMap().put("domain", AppConstant.APPLICATION_NAME_CODE);
+		R<Page<BtmTypeVO>> refPage = btmTypeClient.getRefPage(baseQueryObject);
+		if(refPage.getCode() != 200){
+			throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒");
+		}
+		return refPage.getData();
 	}
 
 	/**
@@ -3477,6 +3468,17 @@
 	}
 
 
+	@Override
+	public boolean checkUnAttrUnEdit(String attrName) {
+		return  (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName)
+				||"ts".equalsIgnoreCase(attrName)
+				|| "lastmodifier".equalsIgnoreCase(attrName)
+				|| "lastmodifytime".equalsIgnoreCase(attrName)
+				|| "createtime".equalsIgnoreCase(attrName)
+				|| "checkintime".equalsIgnoreCase(attrName)
+				||"checkouttime".equalsIgnoreCase(attrName));
+	}
+
 	private String getTableName(String refertype){
 		if ("codeclassify".equals(refertype)){
 			return "pl_code_classify";
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index c324801..4d865ed 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -1895,9 +1895,30 @@
 		getFieldIndexMap(titleRowData, attrNameIdMap, fieldIndexMap);
 		Map<String, String> cboOidMap = new HashMap<>();
 		cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")");
-		R<BtmTypeVO>  r= btmTypeClient.getDetail(templateVO.getBtmTypeId());
-		BtmTypeVO btmTypeVO =r.getData();
-		String tableName=btmTypeVO.getTableName();
+		String tableName ="";
+		try {
+			R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
+			if(r.getCode()!=200) {
+				throw new Throwable(r.getMsg());
+			}
+			BtmTypeVO btmTypeVO = r.getData();
+			if (btmTypeVO == null) {
+				throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�");
+			}
+			tableName = btmTypeVO.getTableName();
+			if (StringUtils.isBlank(tableName)) {
+				throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�");
+			}
+		}catch (Throwable e){
+			log.error("鏌ヨ涓氬姟瀵硅薄琛�"+e);
+			XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO();
+			xmlResultDataObjectDetailDO.setErrorid("103");
+			xmlResultDataObjectDetailDO.setMsg("鏌ヨ涓氬姟瀵硅薄琛�"+e);
+			xmlResultDataObjectDetailDO.setId("");
+			xmlResultDataObjectDetailDO.setCode("");
+			resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+			return;
+		}
 
 		StringBuffer sb=new StringBuffer();
 		sb.append(" select * from ");
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntHeaderWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntHeaderWrapper.java
new file mode 100644
index 0000000..db46ab7
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntHeaderWrapper.java
@@ -0,0 +1,67 @@
+package com.vci.ubcs.code.wrapper;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.vci.ubcs.code.entity.DockingSysIntHeader;
+import com.vci.ubcs.code.vo.pagemodel.DockingSysIntHeaderVO;
+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 DockingSysIntHeaderWrapper extends BaseEntityWrapper<DockingSysIntHeader, DockingSysIntHeaderVO> {
+	public static DockingSysIntHeaderWrapper build() {
+		return new DockingSysIntHeaderWrapper();
+	}
+	@Override
+	public DockingSysIntHeaderVO entityVO(DockingSysIntHeader entity) {
+		DockingSysIntHeaderVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSysIntHeaderVO.class));
+		return vo;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param entitys
+	 * @return
+	 */
+	public List<DockingSysIntHeaderVO> entityVOs(Collection<DockingSysIntHeader> entitys) {
+		if(CollectionUtils.isEmpty(entitys)) {
+			return new ArrayList<>();
+		}
+		List<DockingSysIntHeaderVO> vos=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(entitys)) {
+			entitys.stream().forEach(DockingSystem -> {
+				vos.add(entityVO(DockingSystem));
+			});
+		}
+		return vos;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vos
+	 * @return
+	 */
+	public List<DockingSysIntHeader> voentitys(Collection<DockingSysIntHeaderVO> vos) {
+		if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
+		List<DockingSysIntHeader>entitys =new ArrayList<>();
+		if(!CollectionUtils.isEmpty(vos)) {
+			vos.stream().forEach(entity -> {
+				entitys.add(voentity(entity));
+			});
+		}
+		return entitys;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vo
+	 * @return
+	 */
+	public DockingSysIntHeader voentity(DockingSysIntHeaderVO vo) {
+		DockingSysIntHeader entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSysIntHeader.class));
+		return entity;
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntParamWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntParamWrapper.java
new file mode 100644
index 0000000..f1cac56
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSysIntParamWrapper.java
@@ -0,0 +1,69 @@
+package com.vci.ubcs.code.wrapper;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.vci.ubcs.code.entity.DockingSysIntParam;
+import com.vci.ubcs.code.vo.pagemodel.DockingSysIntParamVO;
+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 DockingSysIntParamWrapper extends BaseEntityWrapper<DockingSysIntParam, DockingSysIntParamVO> {
+
+
+	public static DockingSysIntParamWrapper build() {
+		return new DockingSysIntParamWrapper();
+	}
+	@Override
+	public DockingSysIntParamVO entityVO(DockingSysIntParam entity) {
+		DockingSysIntParamVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSysIntParamVO.class));
+		return vo;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param entitys
+	 * @return
+	 */
+	public List<DockingSysIntParamVO> entityVOs(Collection<DockingSysIntParam> entitys) {
+		if(CollectionUtils.isEmpty(entitys)) {
+			return new ArrayList<>();
+		}
+		List<DockingSysIntParamVO> vos=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(entitys)) {
+			entitys.stream().forEach(DockingSystem -> {
+				vos.add(entityVO(DockingSystem));
+			});
+		}
+		return vos;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vos
+	 * @return
+	 */
+	public List<DockingSysIntParam> voentitys(Collection<DockingSysIntParamVO> vos) {
+		if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
+		List<DockingSysIntParam>entitys =new ArrayList<>();
+		if(!CollectionUtils.isEmpty(vos)) {
+			vos.stream().forEach(entity -> {
+				entitys.add(voentity(entity));
+			});
+		}
+		return entitys;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vo
+	 * @return
+	 */
+	public DockingSysIntParam voentity(DockingSysIntParamVO vo) {
+		DockingSysIntParam entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSysIntParam.class));
+		return entity;
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSysIntParamMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSysIntParamMapper.xml
new file mode 100644
index 0000000..2695019
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSysIntParamMapper.xml
@@ -0,0 +1,42 @@
+<?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.DockingSysIntParamMapper">
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="plDockingSysIntParamResultMap" type="com.vci.ubcs.code.entity.DockingSysIntParam">
+        <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="INFOOID" property="infoOid"/>
+        <result column="PARAMKEY" property="paramKey"/>
+        <result column="PARAMVALUE" property="paramValue"/>
+        <result column="USEDFLAG" property="usedFlag"/>
+        <result column="tenant_id" property="tenantId"/>
+
+        <result column="tenant_id" property="tenantId"/>
+    </resultMap>
+
+</mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
new file mode 100644
index 0000000..c3a9567
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
@@ -0,0 +1,121 @@
+package com.vci.ubcs.omd.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.omd.dto.LifeCycleDTO;
+import com.vci.ubcs.omd.entity.LifeCycleRule;
+import com.vci.ubcs.omd.service.ILifeCycleService;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.omd.vo.LifeCycleVO;
+import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper;
+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.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鐨勬帶鍒跺櫒
+ * @author weidy
+ * @date 2023/6/15
+ */
+@RestController
+@RequestMapping("/lifeCycle")
+@AllArgsConstructor
+@Api(value = "鐢熷懡鍛ㄦ湡鎺у埗鍣�",tags = "鐢熷懡鍛ㄦ湡鎺ュ彛")
+public class LifeCycleController {
+
+	/**
+	 * 鐢熷懡鍛ㄦ湡鐨勬湇鍔�
+	 */
+	private final ILifeCycleService lifeCycleService;
+
+	/**
+	 * 鍒嗛〉鏌ヨ
+	 */
+	@GetMapping("page")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "鍒嗛〉鏌ヨ鐢熷懡鍛ㄦ湡",notes = "鍒嗛〉鏌ヨ鐢熷懡鍛ㄦ湡")
+	public R<IPage<LifeCycleVO>> page(BaseQueryObject baseQueryObject){
+		Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+		if (conditionMap == null){
+			conditionMap = new HashMap<>();
+		}
+		return R.data(lifeCycleService.listLife(conditionMap,baseQueryObject.getPageHelper()));
+	}
+
+
+	/**
+	 * 鏌ョ湅璇︽儏
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "鏌ョ湅璇︽儏", notes = "鐢熷懡鍛ㄦ湡")
+	public R<LifeCycleVO> detail(LifeCycleDTO lifeCycleDTO){
+		LifeCycleRule lifeCycleRule = lifeCycleService.getOne(Condition.getQueryWrapper(BeanUtil.copy(lifeCycleDTO, LifeCycleRule.class)));
+		return R.data(LifeCycleRuleWrapper.build().entityVO(lifeCycleRule));
+	}
+
+	/**
+	 * 鏂板鎴栦慨鏀�
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "鏂板鎴栦慨鏀�",notes = "浼犲叆鐢熷懡鍛ㄦ湡椤甸潰瀵硅薄")
+	public R<LifeCycleVO> submit(@RequestBody LifeCycleDTO lifeCycleDTO){
+		return R.data(lifeCycleService.addSave(lifeCycleDTO));
+	}
+
+	/**
+	 * 鏂板鎴栦慨鏀�
+	 */
+	@PostMapping("/batch-submit")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "鏂板鎴栦慨鏀�",notes = "浼犲叆鐘舵�佹睜椤甸潰瀵硅薄")
+	public R<List<LifeCycleVO>> batchSubmit(@RequestBody List<LifeCycleDTO> lifeCycleDTOs){
+		return R.data(lifeCycleService.batchAddSave(lifeCycleDTOs));
+	}
+
+	/**
+	 * 鍒犻櫎
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "閫昏緫鍒犻櫎", notes = "浼犲叆涓婚敭")
+	public R remove(@RequestBody LifeCycleDTO lifeCycleDTO){
+		lifeCycleService.delete(lifeCycleDTO);
+		return R.status(true);
+	}
+
+	/**
+	 * 鎵归噺鍒犻櫎
+	 */
+	@PostMapping("/batch-remove")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "鎵归噺鍒犻櫎",notes = "浼犲叆涓婚敭")
+	public R batchRemove(@RequestBody List<LifeCycleDTO> lifeCycleDTOs){
+		lifeCycleService.batchDelete(lifeCycleDTOs);
+		return R.status(true);
+	}
+
+	/**
+	 * 鏌ョ湅搴旂敤鑼冨洿
+	 * @param lifeCycleDTO 鐢熷懡鍛ㄦ湡鐨勪紶杈撳璞�
+	 * @return 涓氬姟绫诲瀷鐨勬樉绀哄璞�
+	 */
+	@GetMapping("/listUses")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "鏌ョ湅搴旂敤鑼冨洿",notes = "浼犲叆涓婚敭")
+	public R<List<BtmTypeVO>> listUses(LifeCycleDTO lifeCycleDTO){
+		return R.data(lifeCycleService.listUses(lifeCycleDTO));
+	}
+
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java
new file mode 100644
index 0000000..88ff512
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java
@@ -0,0 +1,18 @@
+package com.vci.ubcs.omd.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.omd.entity.LifeCycleRule;
+import com.vci.ubcs.omd.entity.Status;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鐨勬暟鎹搷浣滃眰
+ *
+ * @author weidy
+ * @date 2023/6/20
+ */
+public interface LifeCycleMapper extends BaseMapper<LifeCycleRule> {
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
new file mode 100644
index 0000000..fd21582
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
@@ -0,0 +1,61 @@
+package com.vci.ubcs.omd.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.omd.dto.LifeCycleDTO;
+import com.vci.ubcs.omd.entity.LifeCycleRule;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.omd.vo.LifeCycleVO;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鐨勬湇鍔�
+ * @author weidy
+ * @date 2023/6/15
+ */
+public interface ILifeCycleService extends IService<LifeCycleRule> {
+
+	/**
+	 * 鑾峰彇鐢熷懡鍛ㄦ湡鍒楄〃
+	 * @param conditionMap 鏌ヨ鏉′欢
+	 * @param pageHelper 鍒嗛〉
+	 * @return 鐢熷懡鍛ㄦ湡鐨勬樉绀哄璞�
+	 */
+	IPage<LifeCycleVO> listLife(Map<String, String> conditionMap, PageHelper pageHelper);
+
+	/**
+	 * 娣诲姞淇濆瓨
+	 * @param lifeCycleDTO 鏁版嵁浼犺緭瀵硅薄
+	 * @return 娣诲姞鍚庣殑鏄剧ず瀵硅薄
+	 */
+	LifeCycleVO addSave(LifeCycleDTO lifeCycleDTO);
+
+	/**
+	 * 鎵归噺娣诲姞鍐呭
+	 * @param lifeCycleDTOs 鏁版嵁浼犺緭瀵硅薄
+	 * @return 娣诲姞鍚庣殑鏄剧ず瀵硅薄
+	 */
+	List<LifeCycleVO> batchAddSave(List<LifeCycleDTO> lifeCycleDTOs);
+
+	/**
+	 * 鍒犻櫎鐢熷懡鍛ㄦ湡
+	 * @param lifeCycleDTO 鏁版嵁浼犺緭瀵硅薄
+	 */
+	void delete(LifeCycleDTO lifeCycleDTO);
+
+	/**
+	 * 鎵归噺鍒犻櫎鐢熷懡鍛ㄦ湡
+	 * @param lifeCycleDTOs 鏁版嵁浼犺緭瀵硅薄鍒楄〃
+	 */
+	void batchDelete(List<LifeCycleDTO> lifeCycleDTOs);
+
+	/**
+	 * 鏄剧ず寮曠敤鑼冨洿
+	 * @param lifeCycleDTO 鐢熷懡鍛ㄦ湡鐨勬暟鎹紶杈撳璞�
+	 * @return 涓氬姟绫诲瀷
+	 */
+	List<BtmTypeVO> listUses(LifeCycleDTO lifeCycleDTO);
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
new file mode 100644
index 0000000..29ad035
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
@@ -0,0 +1,90 @@
+package com.vci.ubcs.omd.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.omd.dto.LifeCycleDTO;
+import com.vci.ubcs.omd.entity.LifeCycleRule;
+import com.vci.ubcs.omd.mapper.LifeCycleMapper;
+import com.vci.ubcs.omd.service.ILifeCycleService;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.omd.vo.LifeCycleVO;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鐢熷懡鍛ㄦ湡鐨勬湇鍔�
+ * @author weidy
+ * @date 2023/6/20
+ */
+@Service
+public class LifeCycleServiceImpl  extends ServiceImpl<LifeCycleMapper, LifeCycleRule> implements ILifeCycleService{
+
+
+	/**
+	 * 鑾峰彇鐢熷懡鍛ㄦ湡鍒楄〃
+	 *
+	 * @param conditionMap 鏌ヨ鏉′欢
+	 * @param pageHelper   鍒嗛〉
+	 * @return 鐢熷懡鍛ㄦ湡鐨勬樉绀哄璞�
+	 */
+	@Override
+	public IPage<LifeCycleVO> listLife(Map<String, String> conditionMap, PageHelper pageHelper) {
+		return null;
+	}
+
+	/**
+	 * 娣诲姞淇濆瓨
+	 *
+	 * @param lifeCycleDTO 鏁版嵁浼犺緭瀵硅薄
+	 * @return 娣诲姞鍚庣殑鏄剧ず瀵硅薄
+	 */
+	@Override
+	public LifeCycleVO addSave(LifeCycleDTO lifeCycleDTO) {
+		return null;
+	}
+
+	/**
+	 * 鎵归噺娣诲姞鍐呭
+	 *
+	 * @param lifeCycleDTOs 鏁版嵁浼犺緭瀵硅薄
+	 * @return 娣诲姞鍚庣殑鏄剧ず瀵硅薄
+	 */
+	@Override
+	public List<LifeCycleVO> batchAddSave(List<LifeCycleDTO> lifeCycleDTOs) {
+		return null;
+	}
+
+	/**
+	 * 鍒犻櫎鐢熷懡鍛ㄦ湡
+	 *
+	 * @param lifeCycleDTO 鏁版嵁浼犺緭瀵硅薄
+	 */
+	@Override
+	public void delete(LifeCycleDTO lifeCycleDTO) {
+
+	}
+
+	/**
+	 * 鎵归噺鍒犻櫎鐢熷懡鍛ㄦ湡
+	 *
+	 * @param lifeCycleDTOs 鏁版嵁浼犺緭瀵硅薄鍒楄〃
+	 */
+	@Override
+	public void batchDelete(List<LifeCycleDTO> lifeCycleDTOs) {
+
+	}
+
+	/**
+	 * 鏄剧ず寮曠敤鑼冨洿
+	 *
+	 * @param lifeCycleDTO 鐢熷懡鍛ㄦ湡鐨勬暟鎹紶杈撳璞�
+	 * @return 涓氬姟绫诲瀷
+	 */
+	@Override
+	public List<BtmTypeVO> listUses(LifeCycleDTO lifeCycleDTO) {
+		return null;
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleRuleWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleRuleWrapper.java
new file mode 100644
index 0000000..739efa7
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleRuleWrapper.java
@@ -0,0 +1,46 @@
+package com.vci.ubcs.omd.wrapper;
+
+import com.vci.ubcs.omd.entity.LifeCycleRule;
+import com.vci.ubcs.omd.vo.LifeCycleVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+/**
+ * Description:鐘舵�佹睜鐨勫寘瑁呯被
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+public class LifeCycleRuleWrapper extends BaseEntityWrapper<LifeCycleRule, LifeCycleVO> {
+
+	public static LifeCycleRuleWrapper build() {
+		return new LifeCycleRuleWrapper();
+	}
+
+	@Override
+	public LifeCycleVO entityVO(LifeCycleRule entity) {
+		LifeCycleVO vo = BeanUtil.copy(entity, LifeCycleVO.class);
+		//杩欓噷澶勭悊鏋氫妇鐩稿叧鐨�
+		return vo;
+	}
+
+	public List<LifeCycleVO> listEntityVO(List<LifeCycleRule> LifeCycleRuleList){
+		return Optional.ofNullable(LifeCycleRuleList).orElseGet(ArrayList::new).stream().map(this::entityVO).collect(Collectors.toList());
+	}
+
+	public List<LifeCycleRule> batchCopyVO2DO(List<LifeCycleVO> LifeCycleVOList) {
+		return Optional.ofNullable(LifeCycleVOList).orElseGet(ArrayList::new).stream().map(this::copyVO2DO).collect(Collectors.toList());
+	}
+
+	private LifeCycleRule copyVO2DO(LifeCycleVO LifeCycleVO) {
+		LifeCycleRule LifeCycleRule = BeanUtil.copy(LifeCycleVO, LifeCycleRule.class);
+		return LifeCycleRule;
+	}
+
+
+}

--
Gitblit v1.9.3