From c0025985707e90ef01e4a178691c2609ba0459e5 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 07 七月 2023 10:01:51 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/DictBizClient.java                                |    3 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java      |   33 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/result.json             |  464 +++++++++
 Source/UBCS-WEB/src/components/Tree/classifyTrees.vue                                                                          |  311 +++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java              |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test1.json              |   75 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java       |   12 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.xml                |  111 ++
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java                    |    2 
 Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue                                                                       |  205 ++++
 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                             |   42 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleNode.java                             |   39 
 Source/UBCS-WEB/src/api/template/templateAttr.js                                                                               |    4 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test.json               |  488 +++++++++++
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java                        |   40 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java                    |  100 +
 Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java                         |    5 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java                           |   17 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java                             |   34 
 Source/UBCS-WEB/src/page/index/index.vue                                                                                       |    5 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java                        |   35 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleEventMapper.java                              |   15 
 Source/UBCS-WEB/src/views/modeling/cycle.vue                                                                                   |  130 +-
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java |   25 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java                                |   12 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.json               |   17 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultCodeRuleVO.java   |   17 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java                            |   38 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleEventWrapper.java                            |   53 +
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DictBizController.java                       |   13 
 Source/UBCS-WEB/src/components/Tree/attrCrud.vue                                                                               |  186 +++
 32 files changed, 2,292 insertions(+), 245 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/template/templateAttr.js b/Source/UBCS-WEB/src/api/template/templateAttr.js
index 29dd2e5..3072d8e 100644
--- a/Source/UBCS-WEB/src/api/template/templateAttr.js
+++ b/Source/UBCS-WEB/src/api/template/templateAttr.js
@@ -182,10 +182,10 @@
     }
   })
 }
-//鏃堕棿鏍煎紡涓嬫媺鑿滃崟
+//鍙緭鍙�変笅鎷夎彍鍗�
 export const  listByFlag = (params) =>{
   return request({
-    url:'/api/ubcs-code/bdSelectInputController/listByFlag',
+    url:'/api/ubcs-system/dict-biz/listByFlag',
     method: 'get',
     params:{
       ...params
diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
index b9f5f3f..1eb7dde 100644
--- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
@@ -214,14 +214,18 @@
         <avue-crud :data="businessData" :option="businessOption" @selection-change="businessSelect">
           <template slot="menuLeft">
             <div style="display: flex;">
-              <el-select>
-                <el-option>灞炴�ц嫳鏂囧悕绉�</el-option>
-                <el-option>灞炴�т腑鏂囧悕绉�</el-option>
+              <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 150px !important;">
+                <el-option
+                  v-for="item in SelectOption"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                  style="width: 150px">
+                </el-option>
               </el-select>
-              <el-input style="width: 300px;margin-left: 20px"></el-input>
-              <el-button size="small" style="margin-left: 10px">鏌ヨ</el-button>
+              <el-input style="width: 400px;margin-left: 20px" v-model="SelectFInd"></el-input>
+              <el-button size="small" style="margin-left: 10px" @click="AddFindHandler">鏌ヨ</el-button>
             </div>
-
           </template>
         </avue-crud>
         <div style="display: flex;justify-content: flex-end;margin-top: 15px">
@@ -229,6 +233,11 @@
           <el-button size="small" type="primary" @click="addVisible=false">鍙栨秷</el-button>
         </div>
       </el-dialog>
+      <!--      鍙傜収閰嶇疆-->
+        <refer-config-form-dialog
+          ref="referConfigFormDialog"
+          @echoReferConfig="echoReferConfig"
+        ></refer-config-form-dialog>
     </div>
     <el-table :data="ProData"
               style="width: 100%"
@@ -241,27 +250,32 @@
     >
       <el-table-column
         type="selection"
-        width="55">
+        width="55" fixed>
       </el-table-column>
       <!--<el-table-column fixed label="搴忓彿" type="index" width="55"></el-table-column>-->
-      <el-table-column v-for="item in this.option.column" :key="item.id"
+      <el-table-column v-for="(item,index) in this.option.column" :key="item.id"
                        :label="item.label"
                        :prop="item.prop"
                        :formatter="formAttr"
                        :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
                        :show-overflow-tooltip="true"
                        :sortable="item.sortable"
+                       :fixed="item.fixed"
                        align="center"
+                       v-if="item.edit !='referName'"
       >
         <template slot-scope="{ row }">
-          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' || item.edit == 'select' ||item.edit == 'refer' )" v-model="row[item.prop]"
+          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )" v-model="row[item.prop]"
                     @blur="saveRows"></el-input>
           <el-input-number size="small" controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
                            @blur="saveRows" :style="{width:(item.width-10)+'px'}"></el-input-number>
-          <el-select v-model="row[item.prop]" slot="prepend" v-if="editingRows === row && editShows== item.prop && item.prop == 'codeDateFormat'  && row[item.prop] ==''" @focus="DataChangeHandler">
-            <el-option label="椁愬巺鍚�" value="1"></el-option>
-            <el-option label="璁㈠崟鍙�" value="2"></el-option>
-            <el-option label="鐢ㄦ埛鐢佃瘽" value="3"></el-option>
+          <el-select v-model="row[item.prop]" filterable  allow-create  default-first-option slot="prepend" v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " @focus="DataChangeHandler(item.editConfig,index)">
+            <el-option
+              v-for="optionItem in item.data"
+              :key="optionItem.key"
+              :label="optionItem.value"
+              :value="optionItem.key">
+            </el-option>
           </el-select>
           <el-switch
             v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true"
@@ -273,7 +287,7 @@
       <el-table-column
         fixed="right"
         label="鎿嶄綔"
-        width="120">
+        width="70">
         <template slot-scope="scope">
           <el-button
             size="small"
@@ -336,6 +350,23 @@
   },
   data() {
     return {
+      //褰撳墠鍗曞厓鏍�
+      CurrentCell:'',
+      // 鏂板
+      SelectValue:"",
+      SelectFInd:"",
+      SelectOption:[
+        {
+          value: 'name',
+          label: '灞炴�т腑鏂囧悕绉�'
+        },
+        {
+          value: 'id',
+          label: '灞炴�ц嫳鏂囧悕绉�'
+        }
+      ],
+      //鍙傜収
+      referVisible:false,
       crudArrayFlag:false,
       editingRows: null,
       editShows:"",
@@ -1118,6 +1149,13 @@
             prop: "prefixValue",
             sortable: true,
             edit: 'select',
+            width: 110,
+            editConfig: {
+              extraParams: {
+                code: 'codeclstempattr',
+                dictKey: 'prefix'
+              }
+            },
             cell: false,
           },
           {
@@ -1125,6 +1163,13 @@
             prop: "suffixValue",
             sortable: true,
             edit: 'select',
+            width: 110,
+            editConfig: {
+              extraParams: {
+                code: 'codeclstempattr',
+                dictKey: 'suffix'
+              }
+            },
             cell: false,
           },
           {
@@ -1149,13 +1194,25 @@
             sortable: true,
             width: 135,
             edit: 'select',
+            editConfig: {
+              extraParams: {
+                code: 'codeclstempattr',
+                dictKey: 'dateFormates'
+              }
+            },
             cell: false,
+          },
+          {
+            label: "鍒嗙被娉ㄥ叆",
+            prop: "classifyInvokeLevelName",
+            cell: false,
+            edit: 'refer'
           },
           {
             label: "鍒嗙被娉ㄥ叆",
             prop: "classifyInvokeLevel",
             cell: false,
-            edit: 'refer'
+            edit: 'referName',
           },
           {
             label: "鏋氫妇娉ㄥ叆",
@@ -1292,14 +1349,35 @@
     formAttr(row, column) {
       console.log(row,column)
     },
+    //鏂板鎼滅储
+    AddFindHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.BuineAttrByBtm(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.BuineAttrByBtm(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
+    //鍙傜収閰嶇疆瀛愮粍浠�
+    echoReferConfig(val){
+      console.log('val--',val)
+      this.$set(this.CurrentCell,'referConfig',JSON.stringify(val))
+
+    },
     //鏃堕棿涓嬫媺鏍煎紡
-    DataChangeHandler(){
-      debugger
-      listByFlag({comboxKey: 'codedateformat',
-        id: 'codedateformat',
-        namespace: 'codeclstempattr',
-        flag: 'dateFormates'}).then(res=>{
-        console.log(res)
+    DataChangeHandler(editConfig,index){
+      listByFlag(editConfig.extraParams).then(res=>{
+        console.log(res);
+        this.option.column[index].data=res;
       })
     },
     //灞炴�у垎缁勬寜閽�
@@ -1314,7 +1392,7 @@
     },
     //灞炴�у垎缁勬彁浜�
     attrHandle() {
-      this.$set(this.attrRow, 'attributeGroup', this.attrModel)
+      this.$set(this.attrRow, 'attributeGroup', JSON.stringify(this.attrModel))
       this.attrModel = ""
       this.attrVisible = false
     },
@@ -1362,11 +1440,11 @@
             precisionLength: (citem.precisionLength ? citem.precisionLength : '') + (citem.scaleLength ? '(' + citem.scaleLength + ')' : ''),
             classifyTemplateOid: this.crudOid,
             classifytemplateoid: this.crudOid,
-            formDisplayFlag: true,
-            tableDisplayFlag: true,
-            sortAttrFlag: false,
-            queryAttrFlag: true,
-            seniorQueryAttrFlag: true,
+            formDisplayFlag: 'true',
+            tableDisplayFlag: 'true',
+            sortAttrFlag: 'false',
+            queryAttrFlag: 'true',
+            seniorQueryAttrFlag: 'true',
             attrTableWidth: 120
           })
           this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)))
@@ -1384,7 +1462,11 @@
       this.addVisible = true;
       this.busineSelectList = []
       this.busineAddList = [];
-      AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res => {
+      this.BuineAttrByBtm()
+    },
+    //涓氬姟绫诲瀷鏁版嵁
+    BuineAttrByBtm(masterParameter){
+      AttrByBtm({'conditionMap[oid]': this.crudOid,...masterParameter}).then(res => {
         this.businessData = res.data.data;
       })
     },
@@ -1448,8 +1530,18 @@
         this.editShows = column.property;
         this.rowOid = row.oid;
       console.log(row,column)
-      if(column.property == 'codeDateFormat' ){
-
+      this.CurrentCell=row;
+      if(column.property == 'referConfig' ){
+        this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
+        this.$refs.referConfigFormDialog.onloadAttrData();
+      }else if(column.property == 'classifyInvokeLevelName'){
+        this.injectVisible=true;
+      }else if(column.property == 'componentRule'){
+        this.isShowformulaEdit = true;
+      }else if(column.property == 'enumString'){
+        this.enumVisible=true;
+      }else if(column.property == 'parentCode'){
+        this.CascadeVisible=true;
       }
     },
     saveRows() {
@@ -1491,11 +1583,16 @@
       if (this.enumRow.length < 1) {
         this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
       } else {
-        this.$set(this.attrRow, 'enumString', this.enumRow);
-        this.enumVisible = false;
+        if(this.CurrentCell){
+          this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.enumRow));
+          this.enumVisible = false;
+        }else {
+          this.$set(this.attrRow, 'enumString', JSON.stringify(this.enumRow));
+          this.enumVisible = false;
+        }
       }
     },
-    // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
+    // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null锛屽嵆閫�鍑虹紪杈戠姸鎬�
     saveRow() {
       this.editingRow = null;
     },
@@ -1536,8 +1633,13 @@
         "灞傜骇璁剧疆": this.injectOption.injectNum,
         "鏄惁鍙慨鏀�": this.injectOption.change
       }
-      console.log(this.injectOption)
-      this.$set(this.attrRow, 'classifyInvokeLevel', data);
+      if(this.CurrentCell){
+        this.$set(this.CurrentCell, "classifyInvokeLevelName", data);
+        this.$set(this.CurrentCell, "classifyInvokeLevel", JSON.stringify(this.injectOption));
+      }else {
+        this.$set(this.attrRow, 'classifyInvokeLevelName', data);
+        this.$set(this.attrRow, 'classifyInvokeLevel', JSON.stringify(this.injectOption));
+      }
       this.injectVisible = false
     },
     //鍒嗙被娉ㄥ叆娓呯┖
@@ -1589,7 +1691,7 @@
       } else if (this.attrSelectList.length < 1) {
         this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬ф暟鎹�')
       } else if (this.attrSelectList.length === 1) {
-        this.isShowformulaEdit = true;
+        this.isShowformulaEdit=true
       }
     },
     //鍏ㄥ睆缂栬緫
@@ -1607,8 +1709,14 @@
       this.attrFlagChiledren = false;
       this.attrEditVisible = false;
     },
+    //缁勫悎瑙勫垯纭畾
     updataFormlaContent(val) {
-      this.$set(this.attrRow, 'componentRule', val)
+      if(this.CurrentCell){
+        this.$set(this.CurrentCell, 'componentRule', JSON.stringify(val))
+      }else {
+        this.$set(this.attrRow, 'componentRule', JSON.stringify(val))
+      }
+
     },
     // 鎺掑簭
     sortChange(val) {
@@ -1628,7 +1736,7 @@
 }
 </script>
 
-<style scoped lang="scss">
+<style scoped lang="scss" >
 /deep/ .el-button {
   margin: 0 10px 10px 0;
 }
diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue
index 593fc18..faae3ef 100644
--- a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue
+++ b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue
@@ -5,29 +5,100 @@
     <avue-form v-model="loneTreeNewForm" :option="options" @submit="submits" v-else-if="flag == 'edit'">
     </avue-form>
     <div>
-
-<!--     瀛樺偍涓氬姟绫诲瀷-->
-      <el-dialog  :visible.sync="BtmdialogVisible"   title="涓恒�愬瓨鍌ㄤ笟鍔$被鍨嬨�戦�夊彇鍊�" append-to-body>
-        <avue-crud :data="BtmData" :option="btmOption" @select="btmSelect"></avue-crud>
-        <div style="padding-top: 10px;display: flex; justify-content: flex-end" >
-          <el-button type="primary" size="small" @click="MasterHandlerClick">纭畾</el-button>
-          <el-button  size="small" @click="MasterdialogVisible=false">鍙栨秷</el-button>
+<!--     缂栫爜瑙勫垯-->
+      <el-dialog  :visible.sync="MasterdialogVisible"   title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�" append-to-body>
+        <template>
+          <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+            <el-option
+              v-for="item in SelectOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              style="width: 150px">
+            </el-option>
+          </el-select>
+          <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+          <el-button size="small"  type="primary" plain @click="SelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+        </template>
+        <avue-crud :data="masterData" :option="masterOption" @select="masterSelect"></avue-crud>
+        <div style="height: 30px">
+          <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.loneTreeNewForm.coderuleoidName}}]</div>
+          <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+            <el-button type="primary" size="small" @click="MasterHandlerClick">纭畾</el-button>
+            <el-button  size="small" @click="MasterdialogVisible=false">鍙栨秷</el-button>
+          </div>
         </div>
       </el-dialog>
 <!--      鍏抽敭灞炴�ф煡璇㈣鍒�-->
       <el-dialog  :visible.sync="KeydialogVisible"   title="涓恒�愬叧閿睘鎬ф煡璇㈣鍒欍�戦�夊彇鍊�" append-to-body>
+        <template>
+          <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+            <el-option
+              v-for="item in SelectOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              style="width: 150px">
+            </el-option>
+          </el-select>
+          <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+          <el-button size="small"  type="primary" plain @click="KeySelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+        </template>
         <avue-crud :data="KeyData" :option="masterOption" @select="KeySelect"></avue-crud>
-        <div style="padding-top: 10px;display: flex; justify-content: flex-end" >
-          <el-button type="primary" size="small" @click="KeyHandlerClick">纭畾</el-button>
-          <el-button  size="small" @click="KeydialogVisible=false">鍙栨秷</el-button>
+        <div style="height: 30px">
+          <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.loneTreeNewForm.codekeyattrrepeatoidName}}]</div>
+          <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+            <el-button type="primary" size="small" @click="KeyHandlerClick">纭畾</el-button>
+            <el-button  size="small" @click="KeydialogVisible=false">鍙栨秷</el-button>
+          </div>
         </div>
       </el-dialog>
       <!--      鐩镐技椤规煡璇㈣鍒�-->
       <el-dialog  :visible.sync="SimidialogVisible"   title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�" append-to-body>
+        <template>
+          <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+            <el-option
+              v-for="item in SelectOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              style="width: 150px">
+            </el-option>
+          </el-select>
+          <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+          <el-button size="small"  type="primary" plain @click="SimSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+        </template>
         <avue-crud :data="simData" :option="masterOption" @select="simSelect"></avue-crud>
-        <div style="padding-top: 10px;display: flex; justify-content: flex-end" >
-          <el-button type="primary" size="small" @click="simHandlerClick">纭畾</el-button>
-          <el-button  size="small" @click="SimidialogVisible=false">鍙栨秷</el-button>
+        <div style="height: 30px">
+          <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.loneTreeNewForm.codeResembleRuleOidName}}]</div>
+          <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+            <el-button type="primary" size="small" @click="simHandlerClick">纭畾</el-button>
+            <el-button  size="small" @click="SimidialogVisible=false">鍙栨秷</el-button>
+          </div>
+        </div>
+      </el-dialog>
+<!--      瀛樺偍鐨勪笟鍔$被鍨�-->
+      <el-dialog  :visible.sync="BtmdialogVisible"   title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�" append-to-body>
+        <template>
+          <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px !important;">
+            <el-option
+              v-for="item in SelectOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              style="width: 130px">
+            </el-option>
+          </el-select>
+          <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+          <el-button size="small"  type="primary" plain @click="BtmSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+        </template>
+        <avue-crud :data="BtmData" :option="masterOption" @select="btmSelect"></avue-crud>
+        <div style="height: 30px">
+          <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.loneTreeNewForm.btmtypename}}]</div>
+          <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+            <el-button type="primary" size="small" @click="btmHandlerClick">纭畾</el-button>
+            <el-button  size="small" @click="BtmdialogVisible=false">鍙栨秷</el-button>
+          </div>
         </div>
       </el-dialog>
     </div>
@@ -42,6 +113,7 @@
   props: ['loneTreeNewForm','flag','Editclose'],
   data() {
     return {
+      SelectFInd:"",
       masterName:"",
       masterOid:"",
       KeyName:"",
@@ -56,6 +128,17 @@
       KeyData:[],
       simData:[],
       BtmData:[],
+      SelectOption:[
+        {
+          value: 'name',
+          label: '涓枃鍚嶇О'
+        },
+        {
+          value: 'id',
+          label: '鑻辨枃鍚嶇О'
+        }
+      ],
+      SelectValue:"",
       btmOption:{
         addBtn:false,
         index:true,
@@ -252,6 +335,24 @@
       this.$message.success('璇锋煡鐪嬫帶鍒跺彴');
       console.log(err)
     },
+    //缂栫爜瑙勫垯鏌ヨ
+    SelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.MasterdefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.MasterdefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
     //缂栫爜瑙勫垯澶辩劍
     CodeFoucus(){
       this.MasterdialogVisible=true;
@@ -280,11 +381,12 @@
       console.log('oid',this.oid)
     },
     //缂栫爜鎺ュ彛
-    MasterdefaultRend(){
+    MasterdefaultRend(masterParameter){
       defaultReferDataGrid({
         referType:'coderule',
         isMuti:'false',
-        'conditionMap["lcstatus"]':'Released'
+        'conditionMap["lcstatus"]':'Released',
+        ...masterParameter
       }).then(res=>{
         this.masterData=res.data.records;
       })
@@ -306,6 +408,24 @@
         this.$set(this.loneTreeNewForm,'codeResembleRuleOidName',this.simName)
         this.$set(this.loneTreeNewForm,'codeResembleRuleOid',this.simOid)
         this.$emit('MasterHandler',this.loneTreeNewForm)
+      }
+    },
+    //鍏抽敭灞炴�ф煡璇�
+    KeySelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.KeydefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.KeydefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
       }
     },
     //鍏抽敭灞炴�ф帴鍙�
@@ -343,6 +463,24 @@
         this.$emit('MasterHandler',this.loneTreeNewForm)
       }
     },
+    //鐩镐技椤规煡璇�
+    SimSelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.simdefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.simdefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
   //  鐩镐技椤瑰閫�
     simSelect(row){
       this.simSelectList=row;
@@ -365,6 +503,38 @@
       this.BtmdialogVisible=true;
       this.btmdefaultRend()
     },
+  //  涓氬姟绫诲瀷纭畾
+    btmHandlerClick(){
+      if(this.btmSelectList.length>1){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+      }else if(this.btmSelectList.length<=0){
+        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+      }else {
+        this.SimidialogVisible=false;
+        this.simSelectList=[]
+        this.$set(this.loneTreeNewForm,'btmtypename',this.btmName)
+        this.$set(this.loneTreeNewForm,'btmtypeoid',this.btmOid)
+        this.$emit('MasterHandler',this.loneTreeNewForm)
+      }
+    },
+    //涓氬姟绫诲瀷鏌ヨ
+    BtmSelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.btmdefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.btmdefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
   //  涓氬姟绫诲瀷澶氶��
     btmSelect(row){
       this.btmSelectList=row;
@@ -372,9 +542,10 @@
       this.btmOid=row[0].oid;
     },
     //涓氬姟绫诲瀷鎺ュ彛
-    btmdefaultRend(){
-      referDataGrid({valueField:'id',isMuti:'false'}).then(res=>{
+    btmdefaultRend(masterParameter){
+      referDataGrid({valueField:'id',isMuti:'false',...masterParameter}).then(res=>{
         console.log(res)
+        this.BtmData=res.data.data.records
       })
     }
   }
diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
index 4afd457..5090b8c 100644
--- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
@@ -19,25 +19,25 @@
         <!--        鏍戣妭鐐规坊鍔犲璇濇-->
         <el-dialog :title="this.TreeFlag ? '娣诲姞鍒嗙被' :'娣诲姞涓婚搴�'" :visible.sync="TreeAddFormVisible" append-to-body
                    style="width: 1700px;margin: auto">
-          <el-form :model="TreeAddform">
-            <el-form-item :label="this.TreeFlag ? '鍒嗙被缂栧彿锛�' :'涓婚搴撶紪鍙凤細'" label-width="150px" style="display: inline-block">
+          <el-form :model="TreeAddform" :rules="rules">
+            <el-form-item :label="this.TreeFlag ? '鍒嗙被缂栧彿锛�' :'涓婚搴撶紪鍙凤細'" label-width="150px" style="display: inline-block" prop="id">
               <el-input v-model="TreeAddform.id" autocomplete="off" style="width: 170px"></el-input>
             </el-form-item>
-            <el-form-item :label="this.TreeFlag ? '鍒嗙被鍚嶇О锛�' :'涓婚搴撳悕绉帮細'" label-width="100px" style="display: inline-block">
+            <el-form-item :label="this.TreeFlag ? '鍒嗙被鍚嶇О锛�' :'涓婚搴撳悕绉帮細'" label-width="110px" style="display: inline-block" prop="name">
               <el-input v-model="TreeAddform.name" autocomplete="off" style="width: 170px"></el-input>
             </el-form-item>
             <el-form-item label="鎻忚堪锛�" label-width="150px">
               <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input>
             </el-form-item>
             <el-form-item label="缂栫爜瑙勫垯锛�" label-width="150px">
-              <el-input v-model="TreeAddform.coderuleoidName" autocomplete="off" style="width: 585px"></el-input>
+              <el-input v-model="TreeAddform.coderuleoidName" autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input>
             </el-form-item>
             <el-form-item label="鍏抽敭灞炴�ф煡璇㈣鍒欙細" label-width="150px">
-              <el-input v-model="TreeAddform.codekeyattrrepeatoidName" autocomplete="off"
+              <el-input v-model="TreeAddform.codekeyattrrepeatoidName" autocomplete="off" @focus="Keyfouce"
                         style="width: 585px"></el-input>
             </el-form-item>
             <el-form-item label="鐩镐技鏌ヨ瑙勫垯锛�" label-width="150px">
-              <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off"
+              <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" @focus="simFouce"
                         style="width: 585px"></el-input>
             </el-form-item>
           </el-form>
@@ -165,6 +165,78 @@
           </basic-container>
           <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro>
         </span>
+        <!--     缂栫爜瑙勫垯-->
+        <el-dialog  :visible.sync="MasterdialogVisible"   title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�" append-to-body>
+          <template>
+            <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+              <el-option
+                v-for="item in SelectOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                style="width: 150px">
+              </el-option>
+            </el-select>
+            <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+            <el-button size="small"  type="primary" plain @click="SelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+          </template>
+          <avue-crud :data="masterData" :option="masterOption" @select="masterSelect"></avue-crud>
+          <div style="height: 30px">
+            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.coderuleoidName ==''?'鏈缃��':this.TreeAddform.coderuleoidName}}]</div>
+            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+              <el-button type="primary" size="small" @click="MasterHandlerClick">纭畾</el-button>
+              <el-button  size="small" @click="MasterdialogVisible=false">鍙栨秷</el-button>
+            </div>
+          </div>
+        </el-dialog>
+        <!--      鍏抽敭灞炴�ф煡璇㈣鍒�-->
+        <el-dialog  :visible.sync="KeydialogVisible"   title="涓恒�愬叧閿睘鎬ф煡璇㈣鍒欍�戦�夊彇鍊�" append-to-body>
+          <template>
+            <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+              <el-option
+                v-for="item in SelectOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                style="width: 150px">
+              </el-option>
+            </el-select>
+            <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+            <el-button size="small"  type="primary" plain @click="KeySelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+          </template>
+          <avue-crud :data="KeyData" :option="masterOption" @select="KeySelect"></avue-crud>
+          <div style="height: 30px">
+            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codekeyattrrepeatoidName ==''?'鏈缃��':this.TreeAddform.codekeyattrrepeatoidName}}]</div>
+            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+              <el-button type="primary" size="small" @click="KeyHandlerClick">纭畾</el-button>
+              <el-button  size="small" @click="KeydialogVisible=false">鍙栨秷</el-button>
+            </div>
+          </div>
+        </el-dialog>
+        <!--      鐩镐技椤规煡璇㈣鍒�-->
+        <el-dialog  :visible.sync="SimidialogVisible"   title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�" append-to-body>
+          <template>
+            <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+              <el-option
+                v-for="item in SelectOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                style="width: 150px">
+              </el-option>
+            </el-select>
+            <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+            <el-button size="small"  type="primary" plain @click="SimSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+          </template>
+          <avue-crud :data="simData" :option="masterOption" @select="simSelect"></avue-crud>
+          <div style="height: 30px">
+            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codeResembleRuleOidName ==''?'鏈缃��':this.TreeAddform.codeResembleRuleOidName}}]</div>
+            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+              <el-button type="primary" size="small" @click="simHandlerClick">纭畾</el-button>
+              <el-button  size="small" @click="SimidialogVisible=false">鍙栨秷</el-button>
+            </div>
+          </div>
+        </el-dialog>
       </basic-container>
     </el-main>
   </el-container>
@@ -187,7 +259,7 @@
   editSave,
   copy
 } from "@/api/template/templateAttr";
-
+import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master'
 export default {
   name: "classifyTrees.vue",
   //浣跨敤inject鎺ユ敹鍙傛暟
@@ -196,6 +268,66 @@
   inject: [, "crudTreeData"],
   data() {
     return {
+      //缂栫爜瑙勫垯
+      MasterdialogVisible:false,
+      masterData:[],
+      masterSelectList:[],
+      masterName:"",
+      masterOid:"",
+      //鍏抽敭灞炴��
+      KeydialogVisible:false,
+      KeyName:"",
+      KeyOid:"",
+      KeyData:[],
+      KeySelectLIst:[],
+      //鐩镐技椤�
+      simName:"",
+      simOid:"",
+      simData:[],
+      SimidialogVisible:false,
+      simSelectList:[],
+      masterOption:{
+        addBtn:false,
+        index:true,
+        border:true,
+        selection:true,
+        menu:false,
+        height:380,
+        column:[
+          {
+            label:'鑻辨枃鍚嶇О',
+            prop:'id'
+          },
+          {
+            label:'涓枃鍚嶇О',
+            prop:'name'
+          },
+          {
+            label:'鎻忚堪',
+            prop:'description'
+          }
+        ]
+      },
+      SelectOption:[
+        {
+          value: 'name',
+          label: '涓枃鍚嶇О'
+        },
+        {
+          value: 'id',
+          label: '鑻辨枃鍚嶇О'
+        }
+      ],
+      SelectValue:"",
+      SelectFInd:"",
+      rules: {
+        id: [
+          { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: 'blur' },
+        ],
+        name:[
+          { required: true, message: '璇疯緭鍏ョ紪鍙�', trigger: 'blur' },
+        ]
+      },
       addFlag:false,
       // 琛ㄦ牸褰撳墠琛宨d
       crudOid:"",
@@ -434,8 +566,170 @@
     }
   },
   methods: {
+    //缂栫爜瑙勫垯澶辩劍
+    CodeFoucus(){
+      this.MasterdialogVisible=true;
+      this.MasterdefaultRend()
+    },
+    //缂栫爜澶氶��
+    masterSelect(row){
+    if(row.length>0){
+      this.masterSelectList=row;
+      this.masterName=row[0].name;
+      this.masterOid=row[0].oid;
+    }
+    },
+    //缂栫爜瑙勫垯鏌ヨ
+    SelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.MasterdefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.MasterdefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
+    //缂栫爜瑙勫垯纭畾
+    MasterHandlerClick(){
+      if(this.masterSelectList.length>1){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+      }else if(this.masterSelectList.length<=0){
+        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+      }else {
+        this.MasterdialogVisible=false;
+        this.masterSelectList=[]
+        this.$set(this.TreeAddform,'coderuleoidName',this.masterName)
+        this.$set(this.TreeAddform,'coderuleOid',this.masterOid)
+        this.$emit('MasterHandler',this.loneTreeNewForm)
+        console.log(this.loneTreeNewForm)
+      }
+    },
+    //缂栫爜鎺ュ彛
+    MasterdefaultRend(){
+      defaultReferDataGrid({
+        referType:'coderule',
+        isMuti:'false',
+        'conditionMap["lcstatus"]':'Released'
+      }).then(res=>{
+        this.masterData=res.data.records;
+      })
+    },
+    Keyfouce(){
+      this.KeydialogVisible=true;
+      this.KeydefaultRend()
+    },
+    //鍏抽敭灞炴�х‘瀹�
+    KeyHandlerClick(){
+      if(this.KeySelectLIst.length>1){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+      }else if(this.KeySelectLIst.length<=0){
+        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+      }else {
+        this.KeydialogVisible=false;
+        this.KeySelectLIst=[]
+        this.$set(this.TreeAddform,'codeResembleRuleOidName',this.simName)
+        this.$set(this.TreeAddform,'codeResembleRuleOid',this.simOid)
+        this.$emit('MasterHandler',this.loneTreeNewForm)
+      }
+    },
+    //鍏抽敭灞炴�ф煡璇�
+    KeySelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.KeydefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.KeydefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
+    //鍏抽敭灞炴�ф帴鍙�
+    KeydefaultRend(){
+      defaultReferDataGrid({
+        referType:'codekeyattrrepeat',
+        isMuti:'false',
+        'conditionMap["lcstatus"]':'Enabled'
+      }).then(res=>{
+        this.KeyData=res.data.records;
+      })
+    },
+    // 鍏抽敭澶氶��
+    KeySelect(row){
+      this.KeySelectLIst=row;
+      this.KeyName=row[0].name;
+      this.KeyOid=row[0].oid;
+    },
+    //鍏抽敭澶辩劍
+    simFouce(){
+      this.SimidialogVisible=true;
+      this.simdefaultRend()
+    },
+    //鐩镐技椤圭‘瀹�
+    simHandlerClick(){
+      if(this.simSelectList.length>1){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+      }else if(this.simSelectList.length<=0){
+        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+      }else {
+        this.SimidialogVisible=false;
+        this.simSelectList=[]
+        this.$set(this.TreeAddform,'codeResembleRuleOidName',this.simName)
+        this.$set(this.TreeAddform,'codeResembleRuleOid',this.simOid)
+        this.$emit('MasterHandler',this.loneTreeNewForm)
+      }
+    },
+    //鐩镐技椤规煡璇�
+    SimSelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.simdefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.simdefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
+    //  鐩镐技椤瑰閫�
+    simSelect(row){
+      this.simSelectList=row;
+      this.simName=row[0].name;
+      this.simOid=row[0].oid;
+      console.log('oid',this.oid)
+    },
+    //鐩镐技椤归」鎺ュ彛
+    simdefaultRend(){
+      defaultReferDataGrid({
+        referType:'coderesemblerule',
+        isMuti:'false',
+        'conditionMap["lcstatus"]':'Enabled'
+      }).then(res=>{
+        this.simData=res.data.records;
+      })
+    },
+    //瀛愪紶鐖�
     MasterHandler(val){
-      console.log('鐖朵翰',val)
       this.TreeList=val
     },
     //琛屽崟閫変簨浠�
@@ -488,6 +782,7 @@
     TreeAddHandler() {
       const data = this.TreeAddform
       this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid)
+      console.log('data',data)
       TreeSave(data).then(() => {
         this.$message({
           type: 'success',
diff --git a/Source/UBCS-WEB/src/page/index/index.vue b/Source/UBCS-WEB/src/page/index/index.vue
index f802b58..27374ee 100644
--- a/Source/UBCS-WEB/src/page/index/index.vue
+++ b/Source/UBCS-WEB/src/page/index/index.vue
@@ -18,9 +18,10 @@
         <!-- 涓讳綋瑙嗗浘灞� -->
         <div style="height:100%;overflow-y:auto;overflow-x:hidden;" id="avue-view" v-show="!isSearch">
           <keep-alive>
-            <router-view class="avue-view" v-if="$route.meta.keepAlive"/>
+            <!--<router-view class="avue-view" v-if="$route.meta.keepAlive"/>-->
+            <router-view class="avue-view"/>
           </keep-alive>
-          <router-view class="avue-view" v-if="!$route.meta.keepAlive"/>
+          <!--<router-view class="avue-view" v-if="!$route.meta.keepAlive"/>-->
         </div>
       </div>
     </div>
diff --git a/Source/UBCS-WEB/src/views/modeling/cycle.vue b/Source/UBCS-WEB/src/views/modeling/cycle.vue
index e0fac23..3db8c4b 100644
--- a/Source/UBCS-WEB/src/views/modeling/cycle.vue
+++ b/Source/UBCS-WEB/src/views/modeling/cycle.vue
@@ -75,82 +75,82 @@
         addBtn: false,
         column: [
           {
+            label: "缂栧彿",
+            prop: "id",
+          },
+          {
             label: "鍚嶇О",
             prop: "name",
           },
           {
-            label: "鏍囩",
-            prop: "label",
-          },
-          {
             label: "璧峰鐘舵��",
-            prop: "startState",
+            prop: "startStatusName",
           },
           {
             label: "鎻忚堪",
-            prop: "remark",
+            prop: "description",
           },
         ],
       },
-      data: [
-        {
-          name: "鎴戞槸name",
-          label: "鎴戞槸label",
-          startState: "鎴戞槸startState",
-          remark: "鎴戞槸remark",
-          data: {
-            nodes: [
-              {
-                type: "node",
-                size: "80*48",
-                shape: "flow-rect",
-                color: "#1890FF",
-                label: "Auditing",
-                x: 110.50303650877106,
-                y: 59.22389408123915,
-                id: "Auditing",
-                index: 0,
-              },
-              {
-                type: "node",
-                size: "80*48",
-                shape: "flow-rect",
-                color: "#1890FF",
-                label: "Editing",
-                x: 120.87992069414531,
-                y: 156.76660542375714,
-                id: "Editing",
-                index: 1,
-              },
-              {
-                type: "node",
-                size: "80*48",
-                shape: "flow-rect",
-                color: "#1890FF",
-                label: "Released",
-                x: 100.12615232339681,
-                y: 252.2339399292003,
-                id: "Released",
-                index: 2,
-              },
-            ],
-            edges: [
-              {
-                source: "Auditing",
-                sourceAnchor: 1,
-                target: "Released",
-                targetAnchor: 1,
-              },
-              {
-                source: "Editing",
-                sourceAnchor: 3,
-                target: "Auditing",
-                targetAnchor: 3,
-              },
-            ],
-          },
-        },
-      ],
+      // data: [
+      //   {
+      //     name: "鎴戞槸name",
+      //     label: "鎴戞槸label",
+      //     startState: "鎴戞槸startState",
+      //     remark: "鎴戞槸remark",
+      //     data: {
+      //       nodes: [
+      //         {
+      //           type: "node",
+      //           size: "80*48",
+      //           shape: "flow-rect",
+      //           color: "#1890FF",
+      //           label: "Auditing",
+      //           x: 110.50303650877106,
+      //           y: 59.22389408123915,
+      //           id: "Auditing",
+      //           index: 0,
+      //         },
+      //         {
+      //           type: "node",
+      //           size: "80*48",
+      //           shape: "flow-rect",
+      //           color: "#1890FF",
+      //           label: "Editing",
+      //           x: 120.87992069414531,
+      //           y: 156.76660542375714,
+      //           id: "Editing",
+      //           index: 1,
+      //         },
+      //         {
+      //           type: "node",
+      //           size: "80*48",
+      //           shape: "flow-rect",
+      //           color: "#1890FF",
+      //           label: "Released",
+      //           x: 100.12615232339681,
+      //           y: 252.2339399292003,
+      //           id: "Released",
+      //           index: 2,
+      //         },
+      //       ],
+      //       edges: [
+      //         {
+      //           source: "Auditing",
+      //           sourceAnchor: 1,
+      //           target: "Released",
+      //           targetAnchor: 1,
+      //         },
+      //         {
+      //           source: "Editing",
+      //           sourceAnchor: 3,
+      //           target: "Auditing",
+      //           targetAnchor: 3,
+      //         },
+      //       ],
+      //     },
+      //   },
+      // ],
       title: "棰勮鐢熷懡鍛ㄦ湡娴佺▼鍥�",
       visible: false,
       flowChartNodeItems: [],
diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index ad43a75..0991057 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -26,10 +26,10 @@
     proxy: {
       '/api': {
         //鏈湴鏈嶅姟鎺ュ彛鍦板潃
-        target: 'http://localhost:37000',
+        // target: 'http://localhost:37000',
         // target: 'http://192.168.1.51:37000',
         // target: 'http://192.168.1.46:37000',
-        // target: 'http://dev.vci-tech.com: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.63:37000',
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java
index 7065cc1..6169481 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java
@@ -12,9 +12,13 @@
 	 */
 	@XStreamAsAttribute
 	private String id;
-
 	/***
-	 * 涓婚敭
+	 * 瑙勫垯鐮佹缂栧彿
+	 */
+	@XStreamAsAttribute
+	private String sectionCode;
+	/***
+	 * 搴忓彿
 	 */
 	@XStreamAsAttribute
 	private String num;
@@ -35,6 +39,11 @@
 	 */
 	@XStreamAsAttribute
 	private String secType;
+	/***
+	 * 鐮佹绫诲瀷鏄剧ず鍊�
+	 */
+	@XStreamAsAttribute
+	private String secTypeText;
 
 	/**
 	 * 鎵�灞炵紪鐮佽鍒�
@@ -162,17 +171,37 @@
 		this.sectionValue = sectionValue;
 	}
 
+	public String getSectionCode() {
+		return sectionCode;
+	}
+
+	public void setSectionCode(String sectionCode) {
+		this.sectionCode = sectionCode;
+	}
+
+	public String getSecTypeText() {
+		return secTypeText;
+	}
+
+	public void setSecTypeText(String secTypeText) {
+		this.secTypeText = secTypeText;
+	}
+
 	@Override
 	public String toString() {
 		return "CodeSectionVO{" +
 			"id='" + id + '\'' +
+			", sectionCode='" + sectionCode + '\'' +
 			", num='" + num + '\'' +
 			", name='" + name + '\'' +
 			", description='" + description + '\'' +
 			", secType='" + secType + '\'' +
+			", secTypeText='" + secTypeText + '\'' +
 			", pkCodeRule='" + pkCodeRule + '\'' +
 			", codeSecLengthType='" + codeSecLengthType + '\'' +
 			", codeSecLength='" + codeSecLength + '\'' +
+			", parentClassifySecOid='" + parentClassifySecOid + '\'' +
+			", sectionValue=" + sectionValue +
 			", codeDateFormatStr='" + codeDateFormatStr + '\'' +
 			'}';
 	}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java
index 99a9b17..f261f87 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java
@@ -8,11 +8,13 @@
 	public CodeSectionValueVO() {
 	}
 
-	public CodeSectionValueVO(String id, String num, String value,String name ,String description) {
+	public CodeSectionValueVO(String id, String num, String value,String name ,String pid,String description) {
 		this.id = id;
 		this.num = num;
 		this.value = value;
 		this.description = description;
+		this.name=name;
+		this.pid=pid;
 	}
 
 	/***
@@ -21,11 +23,13 @@
 	@XStreamAsAttribute
 	private String id;
 	/***
-	 * 鐮佸�肩紪鍙�
+	 * 鐮佸�煎簭鍙�
 	 */
 	@XStreamAsAttribute
 	private String num;
-
+	/***
+	 * 鐮佸�兼樉绀哄��
+	 */
 	@XStreamAsAttribute
 	private String name;
 
@@ -34,7 +38,11 @@
 	 */
 	@XStreamAsAttribute
 	private String value;
-
+	/***
+	 * 鐖剁爜娈祇id
+	 */
+	@XStreamAsAttribute
+	private String pid;
 	/**
 	 * 鎻忚堪
 	 */
@@ -81,6 +89,14 @@
 		this.name = name;
 	}
 
+	public String getPid() {
+		return pid;
+	}
+
+	public void setPid(String pid) {
+		this.pid = pid;
+	}
+
 	@Override
 	public String toString() {
 		return "CodeSectionValueVO{" +
@@ -88,6 +104,7 @@
 			", num='" + num + '\'' +
 			", name='" + name + '\'' +
 			", value='" + value + '\'' +
+			", pid='" + pid + '\'' +
 			", description='" + description + '\'' +
 			'}';
 	}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultCodeRuleVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultCodeRuleVO.java
index 38f9eea..5e602d9 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultCodeRuleVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultCodeRuleVO.java
@@ -14,7 +14,11 @@
 	 */
 	@XStreamAsAttribute
 	private String id;
-
+	/***
+	 * 瑙勫垯缂栫爜
+	 */
+	@XStreamAsAttribute
+	private String ruleCode;
 	/**
 	 * 瑙勫垯缂栧彿
 	 */
@@ -77,10 +81,19 @@
 		this.codeSection = codeSection;
 	}
 
+	public String getRuleCode() {
+		return ruleCode;
+	}
+
+	public void setRuleCode(String ruleCode) {
+		this.ruleCode = ruleCode;
+	}
+
 	@Override
 	public String toString() {
-		return "CodeRuleVO{" +
+		return "ResultCodeRuleVO{" +
 			"id='" + id + '\'' +
+			", ruleCode='" + ruleCode + '\'' +
 			", num='" + num + '\'' +
 			", name='" + name + '\'' +
 			", description='" + description + '\'' +
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.json
new file mode 100644
index 0000000..9b0e9c6
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.json
@@ -0,0 +1,17 @@
+{
+  "data":{
+    "systemId": "MPM",
+    "user": {
+      "userName": "weidy",
+      "trueName": "榄忓ぇ鍕�",
+      "ip": "127.0.0.1"
+    },
+    "library": {
+      "id": "wupin",
+      "classifyid":[
+        "020201",
+        "020202"
+      ]
+    }
+  }
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.xml
new file mode 100644
index 0000000..b28867d
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.xml
@@ -0,0 +1,111 @@
+
+<?xml version="1.0" encoding="UTF-8"?>
+<data systemId="MPM">
+    <user userName="weidy" trueName="" ip="127.0.0.1"/>
+    <library id="wupin">
+      <classifyid>020201</classifyid>
+      <classifyid>020202</classifyid>
+    </library>
+</data>
+
+<?xml version="1.0" encoding="UTF-8" ?>
+<data>
+    <errorid>0</errorid>
+    <msg>鎴愬姛!</msg>
+    <library id="wupin" name="">
+        <classify id="B6C55202-A224-9098-6A82-E3FC5DEEF790" name="鍙g洊" pid="0C600A6A-6398-FC30-D13E-121201FDA908" classCode="020202" description="鍙g洊" fullPathName="" lcStatus="Enabled" isLeaf="false">
+            <codeRule id="1673234841140858880" ruleCode="csfjl" num="" name="csfjl" description="">
+                <codeSection id="1673235191453323264" sectionCode="gdmd" num="1" name="鍥哄畾鐮佹" description="aaaa" secType="codefixedsec" secTypeText="鍥哄畾鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="1673235273523269632" num="2" name="" value="002" pid="" description=""/>
+                        <sectionValue id="1673235247598276608" num="1" name="" value="001" pid="" description=""/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1673235394948370432" sectionCode="flmdf" num="2" name="鍒嗙被鐮佹鐖�" description="" secType="codeclassifysec" secTypeText="鍒嗙被鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="1673235471532167168" num="1" name="浜�" value="001" pid="" description=""/>
+                        <sectionValue id="1673235449524654080" num="1" name="涓�" value="001" pid="" description=""/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1673235616541839360" sectionCode="flmdz" num="3" name="鍒嗙被鐮佹瀛�" description="sss" secType="codeclassifysec" secTypeText="鍒嗙被鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="1673235394948370432" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="1673235791276544000" num="1" name="灏忎簩" value="0012" pid="1673235471532167168" description=""/>
+                        <sectionValue id="1673235759584382976" num="1" name="灏忎竴" value="0011" pid="1673235449524654080" description=""/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1673235886290112512" sectionCode="kbmd" num="4" name="鍙彉鐮佹" description="sss" secType="codevariablesec" secTypeText="鍙彉鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676048203809689600" sectionCode="yy" num="5" name="寮曠敤鐮佹" description="寮曠敤鐮佹" secType="coderefersec" secTypeText="寮曠敤鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676052431290634240" sectionCode="ge" num="6" name="灞炴�х爜娈�" description="fes" secType="codeattrsec" secTypeText="灞炴�х爜娈�" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676837573571514368" sectionCode="cengji" num="7" name="灞傜骇鐮佹" description="灞傜骇鐮佹" secType="codelevelsec" secTypeText="灞傜骇鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="0C600A6A-6398-FC30-D13E-121201FDA908" num="" name="鏈轰綋鏋勪欢" value="0202" pid="" description="鏈轰綋鏋勪欢"/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1676837771429416960" sectionCode="cengj" num="8" name="灞傜骇鐮佹2" description="灞傜骇鐮佹2" secType="codelevelsec" secTypeText="灞傜骇鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="B6C55202-A224-9098-6A82-E3FC5DEEF790" num="" name="鍙g洊" value="020202" pid="" description="鍙g洊"/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1676838137894146048" sectionCode="shux" num="9" name="灞炴�х爜娈�" description="" secType="codeattrsec" secTypeText="灞炴�х爜娈�" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676838388730302464" sectionCode="riqi" num="10" name="鏃ユ湡鐮佹" description="鏃ユ湡鐮佹" secType="codedatesec" secTypeText="鏃ユ湡鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="YYYY-MM-DD">
+                    <sectionValue/>
+                </codeSection>
+            </codeRule>
+        </classify>
+        <classify id="46B5DB5E-F783-DFE9-B48A-C4A367D02AC0" name="閿�" pid="0C600A6A-6398-FC30-D13E-121201FDA908" classCode="020201" description="閿�" fullPathName="" lcStatus="Enabled" isLeaf="false">
+            <codeRule id="1673234841140858880" ruleCode="csfjl" num="" name="csfjl" description="">
+                <codeSection id="1673235191453323264" sectionCode="gdmd" num="1" name="鍥哄畾鐮佹" description="aaaa" secType="codefixedsec" secTypeText="鍥哄畾鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="1673235273523269632" num="2" name="" value="002" pid="" description=""/>
+                        <sectionValue id="1673235247598276608" num="1" name="" value="001" pid="" description=""/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1673235394948370432" sectionCode="flmdf" num="2" name="鍒嗙被鐮佹鐖�" description="" secType="codeclassifysec" secTypeText="鍒嗙被鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="1673235471532167168" num="1" name="浜�" value="001" pid="" description=""/>
+                        <sectionValue id="1673235449524654080" num="1" name="涓�" value="001" pid="" description=""/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1673235616541839360" sectionCode="flmdz" num="3" name="鍒嗙被鐮佹瀛�" description="sss" secType="codeclassifysec" secTypeText="鍒嗙被鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="1673235394948370432" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="1673235791276544000" num="1" name="灏忎簩" value="0012" pid="1673235471532167168" description=""/>
+                        <sectionValue id="1673235759584382976" num="1" name="灏忎竴" value="0011" pid="1673235449524654080" description=""/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1673235886290112512" sectionCode="kbmd" num="4" name="鍙彉鐮佹" description="sss" secType="codevariablesec" secTypeText="鍙彉鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676048203809689600" sectionCode="yy" num="5" name="寮曠敤鐮佹" description="寮曠敤鐮佹" secType="coderefersec" secTypeText="寮曠敤鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676052431290634240" sectionCode="ge" num="6" name="灞炴�х爜娈�" description="fes" secType="codeattrsec" secTypeText="灞炴�х爜娈�" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676837573571514368" sectionCode="cengji" num="7" name="灞傜骇鐮佹" description="灞傜骇鐮佹" secType="codelevelsec" secTypeText="灞傜骇鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="0C600A6A-6398-FC30-D13E-121201FDA908" num="" name="鏈轰綋鏋勪欢" value="0202" pid="" description="鏈轰綋鏋勪欢"/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1676837771429416960" sectionCode="cengj" num="8" name="灞傜骇鐮佹2" description="灞傜骇鐮佹2" secType="codelevelsec" secTypeText="灞傜骇鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue>
+                        <sectionValue id="46B5DB5E-F783-DFE9-B48A-C4A367D02AC0" num="" name="閿�" value="020201" pid="" description="閿�"/>
+                    </sectionValue>
+                </codeSection>
+                <codeSection id="1676838137894146048" sectionCode="shux" num="9" name="灞炴�х爜娈�" description="" secType="codeattrsec" secTypeText="灞炴�х爜娈�" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="">
+                    <sectionValue/>
+                </codeSection>
+                <codeSection id="1676838388730302464" sectionCode="riqi" num="10" name="鏃ユ湡鐮佹" description="鏃ユ湡鐮佹" secType="codedatesec" secTypeText="鏃ユ湡鐮佹" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr="YYYY-MM-DD">
+                    <sectionValue/>
+                </codeSection>
+            </codeRule>
+        </classify>
+    </library>
+</data>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/result.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/result.json
index 5dfef0e..5d11bf6 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/result.json
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/result.json
@@ -1,5 +1,5 @@
 {
-  "resultData": {
+  "data": {
     "msg": "鎴愬姛!",
     "library": {
       "classify": [
@@ -10,38 +10,235 @@
           "description": "鍙g洊",
           "pid": "0C600A6A-6398-FC30-D13E-121201FDA908",
           "codeRule": {
-            "num": "001-copy",
-            "description": "鐗╁搧缂栫爜瑙勫垯",
+            "ruleCode": "csfjl",
+            "num": "",
+            "name": "csfjl",
+            "description": "",
             "codeSection": [
               {
+                "num": "1",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "aaaa",
+                "sectionCode": "gdmd",
+                "secType": "codefixedsec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍥哄畾鐮佹",
                 "sectionValue": [
                   {
-                    "num": "0",
+                    "num": "2",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235273523269632",
+                    "value": "002"
+                  },
+                  {
+                    "num": "1",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235247598276608",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍥哄畾鐮佹",
+                "id": "1673235191453323264",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "2",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "flmdf",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "浜�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235471532167168",
+                    "value": "001"
+                  },
+                  {
+                    "num": "1",
+                    "name": "涓�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235449524654080",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹鐖�",
+                "id": "1673235394948370432",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "3",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "flmdz",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "1673235394948370432",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "灏忎簩",
+                    "description": "",
+                    "pid": "1673235471532167168",
+                    "id": "1673235791276544000",
+                    "value": "0012"
+                  },
+                  {
+                    "num": "1",
+                    "name": "灏忎竴",
+                    "description": "",
+                    "pid": "1673235449524654080",
+                    "id": "1673235759584382976",
+                    "value": "0011"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹瀛�",
+                "id": "1673235616541839360",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "4",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "kbmd",
+                "secType": "codevariablesec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍙彉鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "鍙彉鐮佹",
+                "id": "1673235886290112512",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "5",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "寮曠敤鐮佹",
+                "sectionCode": "yy",
+                "secType": "coderefersec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "寮曠敤鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "寮曠敤鐮佹",
+                "id": "1676048203809689600",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "6",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "fes",
+                "sectionCode": "ge",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676052431290634240",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "7",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹",
+                "sectionCode": "cengji",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "鏈轰綋鏋勪欢",
+                    "description": "鏈轰綋鏋勪欢",
+                    "pid": "",
+                    "id": "0C600A6A-6398-FC30-D13E-121201FDA908",
+                    "value": "0202"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹",
+                "id": "1676837573571514368",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "8",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹2",
+                "sectionCode": "cengj",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "鍙g洊",
+                    "description": "鍙g洊",
+                    "pid": "",
                     "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790",
                     "value": "020202"
                   }
                 ],
-                "num": "01",
-                "codeSecLengthType": "code_sec_length_variable",
-                "name": "灞傜骇鐮佹",
-                "secType": "codelevelsec",
-                "id": "1674682431208296448",
-                "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D"
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹2",
+                "id": "1676837771429416960",
+                "pkCodeRule": "1673234841140858880"
               },
               {
+                "num": "9",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "shux",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
                 "sectionValue": [],
-                "num": "02",
-                "name": "娴佹按鐮佹",
-                "description": "娴佹按鐮佹",
-                "secType": "codeserialsec",
-                "id": "801B6412-E617-214A-08A5-9EDF5821AA66",
-                "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D",
-                "codeSecLength": "4"
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676838137894146048",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "10",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "鏃ユ湡鐮佹",
+                "sectionCode": "riqi",
+                "secType": "codedatesec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "鏃ユ湡鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "YYYY-MM-DD",
+                "name": "鏃ユ湡鐮佹",
+                "id": "1676838388730302464",
+                "pkCodeRule": "1673234841140858880"
               }
             ],
-            "id": "9FE2AF3E-2940-BD80-D46F-E3853314673D"
+            "id": "1673234841140858880"
           },
           "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790",
+          "fullPathName": "",
           "leaf": false
         },
         {
@@ -51,38 +248,235 @@
           "description": "閿�",
           "pid": "0C600A6A-6398-FC30-D13E-121201FDA908",
           "codeRule": {
-            "num": "001-copy",
-            "description": "鐗╁搧缂栫爜瑙勫垯",
+            "ruleCode": "csfjl",
+            "num": "",
+            "name": "csfjl",
+            "description": "",
             "codeSection": [
               {
+                "num": "1",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "aaaa",
+                "sectionCode": "gdmd",
+                "secType": "codefixedsec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍥哄畾鐮佹",
                 "sectionValue": [
                   {
-                    "num": "0",
+                    "num": "2",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235273523269632",
+                    "value": "002"
+                  },
+                  {
+                    "num": "1",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235247598276608",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍥哄畾鐮佹",
+                "id": "1673235191453323264",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "2",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "flmdf",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "浜�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235471532167168",
+                    "value": "001"
+                  },
+                  {
+                    "num": "1",
+                    "name": "涓�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235449524654080",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹鐖�",
+                "id": "1673235394948370432",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "3",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "flmdz",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "1673235394948370432",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "灏忎簩",
+                    "description": "",
+                    "pid": "1673235471532167168",
+                    "id": "1673235791276544000",
+                    "value": "0012"
+                  },
+                  {
+                    "num": "1",
+                    "name": "灏忎竴",
+                    "description": "",
+                    "pid": "1673235449524654080",
+                    "id": "1673235759584382976",
+                    "value": "0011"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹瀛�",
+                "id": "1673235616541839360",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "4",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "kbmd",
+                "secType": "codevariablesec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍙彉鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "鍙彉鐮佹",
+                "id": "1673235886290112512",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "5",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "寮曠敤鐮佹",
+                "sectionCode": "yy",
+                "secType": "coderefersec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "寮曠敤鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "寮曠敤鐮佹",
+                "id": "1676048203809689600",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "6",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "fes",
+                "sectionCode": "ge",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676052431290634240",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "7",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹",
+                "sectionCode": "cengji",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "鏈轰綋鏋勪欢",
+                    "description": "鏈轰綋鏋勪欢",
+                    "pid": "",
+                    "id": "0C600A6A-6398-FC30-D13E-121201FDA908",
+                    "value": "0202"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹",
+                "id": "1676837573571514368",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "8",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹2",
+                "sectionCode": "cengj",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "閿�",
+                    "description": "閿�",
+                    "pid": "",
                     "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0",
                     "value": "020201"
                   }
                 ],
-                "num": "01",
-                "codeSecLengthType": "code_sec_length_variable",
-                "name": "灞傜骇鐮佹",
-                "secType": "codelevelsec",
-                "id": "1674682431208296448",
-                "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D"
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹2",
+                "id": "1676837771429416960",
+                "pkCodeRule": "1673234841140858880"
               },
               {
+                "num": "9",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "shux",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
                 "sectionValue": [],
-                "num": "02",
-                "name": "娴佹按鐮佹",
-                "description": "娴佹按鐮佹",
-                "secType": "codeserialsec",
-                "id": "801B6412-E617-214A-08A5-9EDF5821AA66",
-                "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D",
-                "codeSecLength": "4"
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676838137894146048",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "10",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "鏃ユ湡鐮佹",
+                "sectionCode": "riqi",
+                "secType": "codedatesec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "鏃ユ湡鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "YYYY-MM-DD",
+                "name": "鏃ユ湡鐮佹",
+                "id": "1676838388730302464",
+                "pkCodeRule": "1673234841140858880"
               }
             ],
-            "id": "9FE2AF3E-2940-BD80-D46F-E3853314673D"
+            "id": "1673234841140858880"
           },
           "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0",
+          "fullPathName": "",
           "leaf": false
         }
       ],
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test.json
new file mode 100644
index 0000000..5d11bf6
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test.json
@@ -0,0 +1,488 @@
+{
+  "data": {
+    "msg": "鎴愬姛!",
+    "library": {
+      "classify": [
+        {
+          "classCode": "020202",
+          "lcStatus": "Enabled",
+          "name": "鍙g洊",
+          "description": "鍙g洊",
+          "pid": "0C600A6A-6398-FC30-D13E-121201FDA908",
+          "codeRule": {
+            "ruleCode": "csfjl",
+            "num": "",
+            "name": "csfjl",
+            "description": "",
+            "codeSection": [
+              {
+                "num": "1",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "aaaa",
+                "sectionCode": "gdmd",
+                "secType": "codefixedsec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍥哄畾鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "2",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235273523269632",
+                    "value": "002"
+                  },
+                  {
+                    "num": "1",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235247598276608",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍥哄畾鐮佹",
+                "id": "1673235191453323264",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "2",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "flmdf",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "浜�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235471532167168",
+                    "value": "001"
+                  },
+                  {
+                    "num": "1",
+                    "name": "涓�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235449524654080",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹鐖�",
+                "id": "1673235394948370432",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "3",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "flmdz",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "1673235394948370432",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "灏忎簩",
+                    "description": "",
+                    "pid": "1673235471532167168",
+                    "id": "1673235791276544000",
+                    "value": "0012"
+                  },
+                  {
+                    "num": "1",
+                    "name": "灏忎竴",
+                    "description": "",
+                    "pid": "1673235449524654080",
+                    "id": "1673235759584382976",
+                    "value": "0011"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹瀛�",
+                "id": "1673235616541839360",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "4",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "kbmd",
+                "secType": "codevariablesec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍙彉鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "鍙彉鐮佹",
+                "id": "1673235886290112512",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "5",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "寮曠敤鐮佹",
+                "sectionCode": "yy",
+                "secType": "coderefersec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "寮曠敤鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "寮曠敤鐮佹",
+                "id": "1676048203809689600",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "6",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "fes",
+                "sectionCode": "ge",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676052431290634240",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "7",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹",
+                "sectionCode": "cengji",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "鏈轰綋鏋勪欢",
+                    "description": "鏈轰綋鏋勪欢",
+                    "pid": "",
+                    "id": "0C600A6A-6398-FC30-D13E-121201FDA908",
+                    "value": "0202"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹",
+                "id": "1676837573571514368",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "8",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹2",
+                "sectionCode": "cengj",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "鍙g洊",
+                    "description": "鍙g洊",
+                    "pid": "",
+                    "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790",
+                    "value": "020202"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹2",
+                "id": "1676837771429416960",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "9",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "shux",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676838137894146048",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "10",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "鏃ユ湡鐮佹",
+                "sectionCode": "riqi",
+                "secType": "codedatesec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "鏃ユ湡鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "YYYY-MM-DD",
+                "name": "鏃ユ湡鐮佹",
+                "id": "1676838388730302464",
+                "pkCodeRule": "1673234841140858880"
+              }
+            ],
+            "id": "1673234841140858880"
+          },
+          "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790",
+          "fullPathName": "",
+          "leaf": false
+        },
+        {
+          "classCode": "020201",
+          "lcStatus": "Enabled",
+          "name": "閿�",
+          "description": "閿�",
+          "pid": "0C600A6A-6398-FC30-D13E-121201FDA908",
+          "codeRule": {
+            "ruleCode": "csfjl",
+            "num": "",
+            "name": "csfjl",
+            "description": "",
+            "codeSection": [
+              {
+                "num": "1",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "aaaa",
+                "sectionCode": "gdmd",
+                "secType": "codefixedsec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍥哄畾鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "2",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235273523269632",
+                    "value": "002"
+                  },
+                  {
+                    "num": "1",
+                    "name": "",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235247598276608",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍥哄畾鐮佹",
+                "id": "1673235191453323264",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "2",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "flmdf",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "浜�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235471532167168",
+                    "value": "001"
+                  },
+                  {
+                    "num": "1",
+                    "name": "涓�",
+                    "description": "",
+                    "pid": "",
+                    "id": "1673235449524654080",
+                    "value": "001"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹鐖�",
+                "id": "1673235394948370432",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "3",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "flmdz",
+                "secType": "codeclassifysec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "1673235394948370432",
+                "secTypeText": "鍒嗙被鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "1",
+                    "name": "灏忎簩",
+                    "description": "",
+                    "pid": "1673235471532167168",
+                    "id": "1673235791276544000",
+                    "value": "0012"
+                  },
+                  {
+                    "num": "1",
+                    "name": "灏忎竴",
+                    "description": "",
+                    "pid": "1673235449524654080",
+                    "id": "1673235759584382976",
+                    "value": "0011"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "鍒嗙被鐮佹瀛�",
+                "id": "1673235616541839360",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "4",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "sss",
+                "sectionCode": "kbmd",
+                "secType": "codevariablesec",
+                "codeSecLength": "10",
+                "parentClassifySecOid": "",
+                "secTypeText": "鍙彉鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "鍙彉鐮佹",
+                "id": "1673235886290112512",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "5",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "寮曠敤鐮佹",
+                "sectionCode": "yy",
+                "secType": "coderefersec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "寮曠敤鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "寮曠敤鐮佹",
+                "id": "1676048203809689600",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "6",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "fes",
+                "sectionCode": "ge",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676052431290634240",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "7",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹",
+                "sectionCode": "cengji",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "鏈轰綋鏋勪欢",
+                    "description": "鏈轰綋鏋勪欢",
+                    "pid": "",
+                    "id": "0C600A6A-6398-FC30-D13E-121201FDA908",
+                    "value": "0202"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹",
+                "id": "1676837573571514368",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "8",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "灞傜骇鐮佹2",
+                "sectionCode": "cengj",
+                "secType": "codelevelsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞傜骇鐮佹",
+                "sectionValue": [
+                  {
+                    "num": "",
+                    "name": "閿�",
+                    "description": "閿�",
+                    "pid": "",
+                    "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0",
+                    "value": "020201"
+                  }
+                ],
+                "codeDateFormatStr": "",
+                "name": "灞傜骇鐮佹2",
+                "id": "1676837771429416960",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "9",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "",
+                "sectionCode": "shux",
+                "secType": "codeattrsec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "灞炴�х爜娈�",
+                "sectionValue": [],
+                "codeDateFormatStr": "",
+                "name": "灞炴�х爜娈�",
+                "id": "1676838137894146048",
+                "pkCodeRule": "1673234841140858880"
+              },
+              {
+                "num": "10",
+                "codeSecLengthType": "code_sec_length_variable",
+                "description": "鏃ユ湡鐮佹",
+                "sectionCode": "riqi",
+                "secType": "codedatesec",
+                "codeSecLength": "",
+                "parentClassifySecOid": "",
+                "secTypeText": "鏃ユ湡鐮佹",
+                "sectionValue": [],
+                "codeDateFormatStr": "YYYY-MM-DD",
+                "name": "鏃ユ湡鐮佹",
+                "id": "1676838388730302464",
+                "pkCodeRule": "1673234841140858880"
+              }
+            ],
+            "id": "1673234841140858880"
+          },
+          "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0",
+          "fullPathName": "",
+          "leaf": false
+        }
+      ],
+      "name": "",
+      "id": "wupin"
+    },
+    "errorid": "0"
+  }
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test1.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test1.json
new file mode 100644
index 0000000..00e232e
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/test1.json
@@ -0,0 +1,75 @@
+{
+  "backPath": "",
+  "mapFields": "",
+  "method": "GET",
+  "muti": false,
+  "onlyLeaf": false,
+  "paramForFormKey": "",
+  "referType": "coderule",
+  "remoteSort": false,
+  "tableConfig": {
+    "cols": [
+      {
+        "field": "id",
+        "fieldType": "text",
+        "fieldTypeText": "鏂囨湰妗�",
+        "isQuery": "true",
+        "sort": "true",
+        "sortField": "id",
+        "title": "缂栧彿",
+        "width": 150
+      },
+      {
+        "field": "name",
+        "fieldType": "text",
+        "fieldTypeText": "鏂囨湰妗�",
+        "isQuery": "true",
+        "sort": "true",
+        "sortField": "name",
+        "title": "鍚嶇О",
+        "width": 180
+      },
+      {
+        "field": "name",
+        "fieldType": "text",
+        "fieldTypeText": "鏂囨湰妗�",
+        "isQuery": "false",
+        "sort": "false",
+        "sortField": "name",
+        "title": "鍚嶇О",
+        "width": 150
+      },
+      {
+        "field": "lastmodifier",
+        "fieldType": "text",
+        "fieldTypeText": "鏂囨湰妗�",
+        "isQuery": "false",
+        "sort": "false",
+        "sortField": "lastmodifier",
+        "title": "鏈�鍚庢椂闂翠汉",
+        "width": 150
+      }
+    ],
+    "page": {
+      "limit": 15,
+      "page": 1
+    },
+    "queryColumns": [
+      {
+        "$ref": "$.tableConfig.cols[0]"
+      },
+      {
+        "$ref": "$.tableConfig.cols[1]"
+      }
+    ]
+  },
+  "textField": "name",
+  "type": "default",
+  "url": "",
+  "valueField": "oid",
+  "where": {
+    "creator_equal": "",
+    "tenant_id_equal": "",
+    "createtime_equal": ""
+  }
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java b/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java
index 59c2b25..f0fd7b9 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java
@@ -22,6 +22,7 @@
 import com.vci.ubcs.system.entity.DictBiz;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -79,7 +80,7 @@
 	 * @param dictBiz 瀛楀吀鏁版嵁
 	 * @return
 	 */
-	@GetMapping(CHECK_VALUE)
-	R getCheck(@Valid @RequestBody DictBiz dictBiz);
+	@PostMapping(CHECK_VALUE)
+	R getCheck(@RequestBody DictBiz dictBiz);
 
 }
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
index 46910d1..99ae365 100644
--- 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
@@ -1,10 +1,14 @@
 package com.vci.ubcs.omd.entity;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
 
 /**
  * 鐢熷懡鍛ㄦ湡鐨勫浘鐨勮竟鐣屽唴瀹�
@@ -14,7 +18,7 @@
 @Data
 @TableName("pl_omd_life_cycle_edge")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡鐨勫浘鐨勮竟鐣屽唴瀹�", description = "鐢熷懡鍛ㄦ湡杈圭晫鍐呭")
-public class LifeCycleEdge extends BaseModel {
+public class LifeCycleEdge implements java.io.Serializable{
 	/**
 	 * 搴忓垪鍖�
 	 */
@@ -22,6 +26,7 @@
 	/**
 	 * 鏉ユ簮鐘舵��
 	 */
+	@TableField("source_status")
 	private String source;
 
 	/**
@@ -32,6 +37,7 @@
 	/**
 	 * 鐩爣鐘舵��
 	 */
+	@TableField("target_status")
 	private String target;
 
 	/**
@@ -54,10 +60,42 @@
 	 * 鎺掑簭鍙�
 	 */
 	@JSONField(name = "index")
-	private Integer indexNO;
+	private Integer indexNum;
 
 	/**
 	 * 鎵�灞炵敓鍛藉懆鏈�
 	 */
 	private String lifeCycleOid;
+
+
+	/**
+	 * 涓婚敭
+	 */
+	@TableId
+	private String oid;
+
+	/**
+	 * 鍒涘缓浜�
+	 */
+	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/LifeCycleEvent.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java
index b1cdcbf..720f3e5 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,10 +1,13 @@
 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;
 
 
 /**
@@ -14,9 +17,9 @@
  * @date 2019/10/17 9:32
  */
 @Data
-@TableName("pl_omd_life_cycle_event")
+@TableName("pl_omd_life_event")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡浜嬩欢闆嗗悎", description = "鐢熷懡鍛ㄦ湡浜嬩欢闆嗗悎")
-public class LifeCycleEvent extends BaseModel {
+public class LifeCycleEvent implements java.io.Serializable {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
@@ -43,4 +46,35 @@
 	 */
 	private String bizDomain;
 
+	/**
+	 * 涓婚敭
+	 */
+	@TableId
+	private String oid;
+
+	/**
+	 * 鍒涘缓浜�
+	 */
+	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 828545a..12ad0ed 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
@@ -1,10 +1,13 @@
 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;
 
 /**
  *
@@ -13,9 +16,9 @@
  * @date 2019/10/11 2:49 PM
  */
 @Data
-@TableName("pl_omd_life_cycle_line_event")
+@TableName("pl_omd_line_event")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎", description = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎")
-public class LifeCycleLineEvent extends BaseModel {
+public class LifeCycleLineEvent implements java.io.Serializable {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
@@ -40,12 +43,43 @@
     /**
      * 鎺掑簭鍙�
      */
-    private Integer orderNum;
+    private Integer indexNum;
 
 	/**
 	 * 鎵�灞為鍩�
 	 */
 	private String bizDomain;
 
+	/**
+	 * 涓婚敭
+	 */
+	@TableId
+	private String oid;
+
+	/**
+	 * 鍒涘缓浜�
+	 */
+	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
index 80f792a..7788bca 100644
--- 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
@@ -1,10 +1,13 @@
 package com.vci.ubcs.omd.entity;
 
 import com.alibaba.fastjson.annotation.JSONField;
+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;
 
 /**
  * @author weidy
@@ -13,7 +16,7 @@
 @Data
 @TableName("pl_omd_life_cycle_node")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡鐨勮妭鐐瑰唴瀹�", description = "鐢熷懡鍛ㄦ湡鑺傜偣")
-public class LifeCycleNode extends BaseModel {
+public class LifeCycleNode implements java.io.Serializable {
 
 	/**
 	 * 鑺傜偣鐨勫昂瀵�
@@ -50,7 +53,7 @@
 	 * 鎺掑簭鍙�
 	 */
 	@JSONField(name = "index")
-	private Integer indexNO;
+	private Integer indexNum;
 
 	/**
 	 * 绾跨殑绫诲瀷
@@ -61,4 +64,36 @@
 	 * 鎵�灞炵敓鍛藉懆鏈�
 	 */
 	private String lifeCycleOid;
+
+
+	/**
+	 * 涓婚敭
+	 */
+	@TableId
+	private String oid;
+
+	/**
+	 * 鍒涘缓浜�
+	 */
+	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/LifeCycleRule.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java
index c79b372..cf42364 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
@@ -18,7 +18,7 @@
 @Data
 @TableName("pl_omd_life_cycle_rule")
 @ApiModel(value = "鐢熷懡鍛ㄦ湡瑙勫垯", description = "鐢熷懡鍛ㄦ湡瑙勫垯")
-public class LifeCycleRule extends BaseModel {
+public class LifeCycleRule implements java.io.Serializable {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
@@ -51,4 +51,36 @@
      */
     private String startStatusName;
 
+
+	/**
+	 * 涓婚敭
+	 */
+	@TableId
+	private String oid;
+
+	/**
+	 * 鍒涘缓浜�
+	 */
+	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/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index 87f43fd..1f1a0bc 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -460,8 +460,8 @@
 			for (String s : prefix) {
 				DictBiz dictBiz = new DictBiz();
 				dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
-				dictBiz.setDictKey(s);
-				dictBiz.setDictValue("prefix");
+				dictBiz.setDictKey("prefix");
+				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
 //				.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"prefix",prefix,sessionInfo);
@@ -470,8 +470,8 @@
 			for (String s : suffix) {
 				DictBiz dictBiz = new DictBiz();
 				dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
-				dictBiz.setDictKey(s);
-				dictBiz.setDictValue("suffix");
+				dictBiz.setDictKey("suffix");
+				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
 //			charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"suffix",suffix,sessionInfo);
@@ -480,8 +480,8 @@
 			for (String s : dateFormates) {
 				DictBiz dictBiz = new DictBiz();
 				dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
-				dictBiz.setDictKey(s);
-				dictBiz.setDictValue("dateFormates");
+				dictBiz.setDictKey("dateFormates");
+				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
 //			charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"dateFormates",dateFormates,sessionInfo);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
index ddccbd3..3508401 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -381,7 +381,7 @@
 		QueryWrapper<CodeClassifyValue> wrapper = new QueryWrapper<>();
 		wrapper.eq("codeClassifySecOid",classifySecOid);
 		if(StringUtils.isNotBlank(parentClassifyValueOid)){
-			wrapper.eq("parentClassifyValueOid",parentClassifyValueOid);
+			wrapper.in("parentClassifyValueOid",VciBaseUtil.str2List(parentClassifyValueOid));
 		}
 		wrapper.orderByAsc("ordernum");
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 620cc28..57b99c2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -858,31 +858,57 @@
 						CodeRuleVO resultClassifyRuleVO1=new CodeRuleVO();
 						List<CodeBasicSecVO>  codeBasicSecVOS=	codeRuleVO.getSecVOList();
 						List<CodeSectionVO> codeSectionVOList=new CopyOnWriteArrayList<>();
+						Map<String,List<String>> secIdTOListValueOidMap=new HashMap<>();
 						if(!CollectionUtils.isEmpty(codeBasicSecVOS)){
 							codeBasicSecVOS.stream().forEach(codeBasicSecVO -> {
 								List<CodeSectionValueVO> codeSectionValueVOList=new ArrayList<>();
 								String secType=	codeBasicSecVO.getSecType();
 								if(secType.equals("codevariablesec")){//鍙彉鐮佹
-									CodeSectionValueVO sectionValueVO=new CodeSectionValueVO("","","","","");
-									codeSectionValueVOList.add(sectionValueVO);
+									//绌虹潃锛屽墠绔紶
 								}else if(secType.equals("codefixedsec")){//鍥哄畾鐮佹
 									List<CodeFixedValueVO> fixedValueVOList=codeBasicSecVO.getFixedValueVOList();
 									fixedValueVOList.stream().forEach(codeFixedValueVO -> {
-									CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeFixedValueVO.getOid(),codeFixedValueVO.getOrderNum()+"",codeFixedValueVO.getId(),codeFixedValueVO.getName(),codeFixedValueVO.getDescription());
+										String id=StringUtils.isBlank(codeFixedValueVO.getOid())?"":codeFixedValueVO.getOid();
+										String value=StringUtils.isBlank(codeFixedValueVO.getId())?"":codeFixedValueVO.getId();
+										String num=StringUtils.isBlank(codeFixedValueVO.getOrderNum()+"")?"":codeFixedValueVO.getOrderNum()+"";
+										String name=StringUtils.isBlank(codeFixedValueVO.getName())?"":codeFixedValueVO.getName();
+										String description=StringUtils.isBlank(codeFixedValueVO.getDescription())?"":codeFixedValueVO.getDescription();
+									CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id,num,value,name,"",description);
 									codeSectionValueVOList.add(sectionValueVO);
 									});
 								}else if(secType.equals("codeclassifysec")){//鍒嗙被鐮佹
 									String  secOid=codeBasicSecVO.getOid();
 									String parentClassifySecOid= codeBasicSecVO.getParentClassifySecOid();
-									List<CodeClassifyValueVO> codeClassifyValueVOS=	this.codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifySecOid);
-									if(CollectionUtils.isEmpty(codeClassifyValueVOS)){
+									String parentClassifyValueOid="";
+									if(secIdTOListValueOidMap.containsKey(parentClassifySecOid)){
+										List<String> parentClassifyValueList= secIdTOListValueOidMap.get(parentClassifySecOid);
+										parentClassifyValueOid=VciBaseUtil.array2String(parentClassifyValueList.toArray(new String[]{}));
+									}
+									List<CodeClassifyValueVO> codeClassifyValueVOS=	this.codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifyValueOid);
+									if(!CollectionUtils.isEmpty(codeClassifyValueVOS)){
+										List<String>valueOidList=new ArrayList<>();
+
 										codeClassifyValueVOS.stream().forEach(codeClassifyValueVO -> {
-											CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeClassifyValueVO.getOid(),codeClassifyValueVO.getOrderNum()+"",codeClassifyValueVO.getId(),codeClassifyValueVO.getName(),codeClassifyValueVO.getDescription());
+											String id=StringUtils.isBlank(codeClassifyValueVO.getOid())?"":codeClassifyValueVO.getOid();
+											String value=StringUtils.isBlank(codeClassifyValueVO.getId())?"":codeClassifyValueVO.getId();
+											String num=StringUtils.isBlank(codeClassifyValueVO.getOrderNum()+"")?"":codeClassifyValueVO.getOrderNum()+"";
+											String name=StringUtils.isBlank(codeClassifyValueVO.getName())?"":codeClassifyValueVO.getName();
+											String pid=StringUtils.isBlank(codeClassifyValueVO.getParentClassifyValueOid())?"":codeClassifyValueVO.getParentClassifyValueOid();
+											String description=StringUtils.isBlank(codeClassifyValueVO.getDescription())?"":codeClassifyValueVO.getDescription();
+											CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id,num,value,name,pid,description);
+											codeSectionValueVOList.add(sectionValueVO);
+											valueOidList.add(id);
 										});
+										secIdTOListValueOidMap.put(secOid,valueOidList);
 									}
 								}else if(secType.equals("codedatesec")){//鏃ユ湡鐮佹
-
+									//绌虹潃锛屽墠绔紶
 								}else if(secType.equals("coderefersec")){//寮曠敤鐮佹
+									codeBasicSecVO.getReferAttributeId();
+									codeBasicSecVO.getReferCodeClassifyOid();
+									codeBasicSecVO.getReferBtmId();
+									codeBasicSecVO.getReferBtmName();
+									//codeBasicSecVO.getReferValueInfo();
 
 								}else if(secType.equals("codelevelsec")) {//灞傜骇鐮佹
 									int level = codeBasicSecVO.getCodeLevelValue();
@@ -896,44 +922,58 @@
 									}else{//鏈�灏忓眰
 										levelCodeClassifyVO=codeClassifyDO;
 									}
-									CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(levelCodeClassifyVO.getOid(),"0",levelCodeClassifyVO.getId(),codeBasicSecVO.getName(),codeBasicSecVO.getDescription());
+									String id=StringUtils.isBlank(levelCodeClassifyVO.getOid())?"":levelCodeClassifyVO.getOid();
+									String num="";
+									String value=StringUtils.isBlank(levelCodeClassifyVO.getId())?"":levelCodeClassifyVO.getId();
+									String name=StringUtils.isBlank(levelCodeClassifyVO.getName())?"":levelCodeClassifyVO.getName();
+									String description=StringUtils.isBlank(levelCodeClassifyVO.getDescription())?"":levelCodeClassifyVO.getDescription();
+									CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id,num,value,name,"",description);
 									codeSectionValueVOList.add(sectionValueVO);
 								}else if(secType.equals("codeattrsec")){//灞炴�х爜娈�
-
+									codeBasicSecVO.getReferAttributeId();
+									codeBasicSecVO.getReferCodeClassifyOid();
+									codeBasicSecVO.getReferBtmId();
+									codeBasicSecVO.getReferBtmName();
 								}else if(secType.equals("codeserialsec")){//娴佹按鐮佹
 
 								}
 								//鏋勫缓瑙勫垯鐮佹
 								CodeSectionVO codeSectionVO=new CodeSectionVO();
-								codeSectionVO.setId(codeBasicSecVO.getOid());//涓婚敭
-								codeSectionVO.setName(codeBasicSecVO.getName());//鐮佹鍚嶇О
-								codeSectionVO.setCodeSecLength(codeBasicSecVO.getCodeSecLength());//鐮佹闀垮害
-								codeSectionVO.setNum(codeBasicSecVO.getId());//鐮佹缂栧彿
-								codeSectionVO.setCodeDateFormatStr(codeBasicSecVO.getCodeDateFormatStr());//鏃ユ湡绫诲瀷
-								codeSectionVO.setCodeSecLengthType(codeBasicSecVO.getCodeSecLengthType());//鐮佹闀垮害绫诲瀷
-								codeSectionVO.setPkCodeRule(codeRuleVO.getOid());
-								codeSectionVO.setSecType(codeBasicSecVO.getSecType());//鐮佹绫诲瀷
-								codeSectionVO.setDescription(codeBasicSecVO.getDescription());
-								codeSectionVO.setParentClassifySecOid(codeBasicSecVO.getParentClassifySecOid());
-								codeSectionVO.setSectionValue(codeSectionValueVOList);
+								codeSectionVO.setId(StringUtils.isBlank(codeBasicSecVO.getOid())?"":codeBasicSecVO.getOid());//涓婚敭
+								codeSectionVO.setName(StringUtils.isBlank(codeBasicSecVO.getName())?"":codeBasicSecVO.getName());//鐮佹鍚嶇О
+								codeSectionVO.setCodeSecLength(StringUtils.isBlank(codeBasicSecVO.getCodeSecLength())?"":codeBasicSecVO.getCodeSecLength());//鐮佹闀垮害
+								codeSectionVO.setNum(StringUtils.isBlank(codeBasicSecVO.getOrderNum()+"")?"":codeBasicSecVO.getOrderNum()+"");//鐮佹搴忓彿
+								codeSectionVO.setCodeDateFormatStr(StringUtils.isBlank(codeBasicSecVO.getCodeDateFormatStr())?"":codeBasicSecVO.getCodeDateFormatStr());//鏃ユ湡绫诲瀷
+								codeSectionVO.setCodeSecLengthType(StringUtils.isBlank(codeBasicSecVO.getCodeSecLengthType())?"":codeBasicSecVO.getCodeSecLengthType());//鐮佹闀垮害绫诲瀷
+								codeSectionVO.setPkCodeRule(StringUtils.isBlank(codeRuleVO.getOid())?"":codeRuleVO.getOid());//瑙勫垯涓婚敭
+								codeSectionVO.setSecType(StringUtils.isBlank(codeBasicSecVO.getSecType())?"":codeBasicSecVO.getSecType());//鐮佹绫诲瀷
+								codeSectionVO.setDescription(StringUtils.isBlank(codeBasicSecVO.getDescription())?"":codeBasicSecVO.getDescription());//鎻忚堪
+								codeSectionVO.setParentClassifySecOid(StringUtils.isBlank(codeBasicSecVO.getParentClassifySecOid())?"":codeBasicSecVO.getParentClassifySecOid());//鍒嗙被鐮佹涓婄骇
+								codeSectionVO.setSecTypeText(StringUtils.isBlank(codeBasicSecVO.getSecTypeText())?"":codeBasicSecVO.getSecTypeText());
+								//if(!CollectionUtils.isEmpty(codeSectionValueVOList)) {
+									codeSectionVO.setSectionValue(codeSectionValueVOList);
+								//}
+								codeSectionVO.setSectionCode(codeBasicSecVO.getId());//鐮佹缂栧彿
 								codeSectionVOList.add(codeSectionVO);
 							});
 						}
 						//鏋勫缓瑙勫垯淇℃伅
-						resultCodeRuleVO.setId(codeRuleVO.getOid());
-						resultCodeRuleVO.setNum(codeRuleVO.getId());
-						resultCodeRuleVO.setDescription(codeRuleVO.getDescription());
+						resultCodeRuleVO.setId(StringUtils.isBlank(codeRuleVO.getOid())?"":codeRuleVO.getOid());//涓婚敭
+						resultCodeRuleVO.setNum("");//搴忓彿
+						resultCodeRuleVO.setName(StringUtils.isBlank(codeRuleVO.getName())?"":codeRuleVO.getName());//鍚嶇О璁剧疆
+						resultCodeRuleVO.setRuleCode(StringUtils.isBlank(codeRuleVO.getId())?"":codeRuleVO.getId());//瑙勫垯缂栧彿
+						resultCodeRuleVO.setDescription(StringUtils.isBlank(codeRuleVO.getDescription())?"":codeRuleVO.getDescription());//鎻忚堪
 						resultCodeRuleVO.setCodeSection(codeSectionVOList);
 					}
 					//鏋勫缓鍒嗙被淇℃伅
 					com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO classifyVO=new com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO();
-					classifyVO.setId(codeClassifyDO.getOid());
-					classifyVO.setLcStatus(codeClassifyDO.getLcStatus());
-					classifyVO.setClassCode(codeClassifyDO.getId());
-					classifyVO.setDescription(codeClassifyDO.getDescription());
-					classifyVO.setName(codeClassifyDO.getName());
-					classifyVO.setPid(codeClassifyDO.getParentcodeclassifyoid());
-					classifyVO.setFullPathName(codeClassifyDO.getPath());
+					classifyVO.setId(StringUtils.isBlank(codeClassifyDO.getOid())?"":codeClassifyDO.getOid());
+					classifyVO.setLcStatus(StringUtils.isBlank(codeClassifyDO.getLcStatus())?"":codeClassifyDO.getLcStatus());
+					classifyVO.setClassCode(StringUtils.isBlank(codeClassifyDO.getId())?"":codeClassifyDO.getId());
+					classifyVO.setDescription(StringUtils.isBlank(codeClassifyDO.getDescription())?"":codeClassifyDO.getDescription());
+					classifyVO.setName(StringUtils.isBlank(codeClassifyDO.getName())?"":codeClassifyDO.getName());
+					classifyVO.setPid(StringUtils.isBlank(codeClassifyDO.getParentcodeclassifyoid())?"":codeClassifyDO.getParentcodeclassifyoid());
+					classifyVO.setFullPathName(StringUtils.isBlank(codeClassifyDO.getPath())?"":codeClassifyDO.getPath());
 					classifyVO.setCodeRule(resultCodeRuleVO);
 					classifyVOList.add(classifyVO);
 				});
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
index 7410c7a..0d942ba 100644
--- 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
@@ -3,9 +3,11 @@
 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.LifeCycleEvent;
 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.LifeCycleEventVO;
 import com.vci.ubcs.omd.vo.LifeCycleVO;
 import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper;
 import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
@@ -36,6 +38,7 @@
 	 * 鐢熷懡鍛ㄦ湡鐨勬湇鍔�
 	 */
 	private final ILifeCycleService lifeCycleService;
+
 
 	/**
 	 * 鍒嗛〉鏌ヨ
@@ -139,5 +142,19 @@
 		return R.data(lifeCycleService.listUses(lifeCycleDTO));
 	}
 
+	/**
+	 * 鍏ㄩ儴鐨勪簨浠�
+	 */
+	@GetMapping("page-event")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "鍏ㄩ儴鐨勪簨浠�",notes = "鍒嗛〉鏌ヨ浜嬩欢")
+	public R<IPage<LifeCycleEventVO>> pageEvent(BladeQueryObject baseQueryObject){
+		Map<String, Object> conditionMap = baseQueryObject.getConditionMap();
+		if (conditionMap == null){
+			conditionMap = new HashMap<>();
+		}
+		return R.data(lifeCycleService.listEvent(conditionMap,baseQueryObject.getQuery()));
+	}
+
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleEventMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleEventMapper.java
new file mode 100644
index 0000000..c83c346
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleEventMapper.java
@@ -0,0 +1,15 @@
+package com.vci.ubcs.omd.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.omd.entity.LifeCycleEvent;
+import com.vci.ubcs.omd.entity.LifeCycleLineEvent;
+
+/**
+ * 浜嬩欢鐨勫唴瀹�
+ * @author weidy
+ * @date 2023/7/6
+ */
+public interface LifeCycleEventMapper extends BaseMapper<LifeCycleEvent> {
+
+
+}
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
index 982c852..9fed8ea 100644
--- 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
@@ -3,8 +3,10 @@
 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.LifeCycleEvent;
 import com.vci.ubcs.omd.entity.LifeCycleRule;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.omd.vo.LifeCycleEventVO;
 import com.vci.ubcs.omd.vo.LifeCycleVO;
 import com.vci.ubcs.starter.web.pagemodel.PageHelper;
 import org.springblade.core.mp.support.Query;
@@ -27,6 +29,14 @@
 	 * @return 鐢熷懡鍛ㄦ湡鐨勬樉绀哄璞�
 	 */
 	IPage<LifeCycleVO> listLife(Map<String, Object> conditionMap, Query query);
+
+	/**
+	 * 鑾峰彇鍏ㄩ儴鐨勪簨浠�
+	 * @param conditionMap 鏌ヨ鏉′欢
+	 * @param query 鍒嗛〉
+	 * @return 浜嬩欢鐨勬樉绀哄璞�
+	 */
+	IPage<LifeCycleEventVO> listEvent(Map<String, Object> conditionMap, Query query);
 
 	/**
 	 * 娣诲姞淇濆瓨
@@ -74,4 +84,6 @@
 	 * @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
index bd1f599..f2f24e2 100644
--- 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
@@ -9,21 +9,17 @@
 import com.vci.ubcs.omd.dto.LifeCycleEdgeDTO;
 import com.vci.ubcs.omd.dto.LifeCycleLineEventDTO;
 import com.vci.ubcs.omd.dto.LifeCycleNodeDTO;
-import com.vci.ubcs.omd.entity.LifeCycleEdge;
-import com.vci.ubcs.omd.entity.LifeCycleLineEvent;
-import com.vci.ubcs.omd.entity.LifeCycleNode;
-import com.vci.ubcs.omd.entity.LifeCycleRule;
-import com.vci.ubcs.omd.mapper.LifeCycleEdgeMapper;
-import com.vci.ubcs.omd.mapper.LifeCycleLineEventMapper;
-import com.vci.ubcs.omd.mapper.LifeCycleMapper;
-import com.vci.ubcs.omd.mapper.LifeCycleNodeMapper;
+import com.vci.ubcs.omd.entity.*;
+import com.vci.ubcs.omd.mapper.*;
 import com.vci.ubcs.omd.repeater.DomainRepeater;
 import com.vci.ubcs.omd.service.IBtmTypeService;
 import com.vci.ubcs.omd.service.ILifeCycleService;
 import com.vci.ubcs.omd.service.IStatusService;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.omd.vo.LifeCycleEventVO;
 import com.vci.ubcs.omd.vo.LifeCycleVO;
 import com.vci.ubcs.omd.vo.StatusVO;
+import com.vci.ubcs.omd.wrapper.LifeCycleEventWrapper;
 import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper;
 import com.vci.ubcs.starter.enumpack.NewAppConstantEnum;
 import com.vci.ubcs.starter.exception.VciBaseException;
@@ -85,6 +81,9 @@
 	@Lazy
 	private IBtmTypeService btmTypeService;
 
+	@Resource
+	private LifeCycleEventMapper eventMapper;
+
 
 	/**
 	 * 鑾峰彇鐢熷懡鍛ㄦ湡鍒楄〃
@@ -96,6 +95,18 @@
 	@Override
 	public IPage<LifeCycleVO> listLife(Map<String, Object> conditionMap, Query query) {
 		return LifeCycleRuleWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(conditionMap,LifeCycleRule.class).lambda().orderByAsc(LifeCycleRule::getId)));
+	}
+
+	/**
+	 * 鑾峰彇鍏ㄩ儴鐨勪簨浠�
+	 *
+	 * @param conditionMap 鏌ヨ鏉′欢
+	 * @param query        鍒嗛〉
+	 * @return 浜嬩欢鐨勬樉绀哄璞�
+	 */
+	@Override
+	public IPage<LifeCycleEventVO> listEvent(Map<String, Object> conditionMap, Query query) {
+		return LifeCycleEventWrapper.build().pageVO(eventMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(conditionMap, LifeCycleEvent.class).lambda().orderByAsc(LifeCycleEvent::getEventFullName)));
 	}
 
 	/**
@@ -132,8 +143,6 @@
 		life.setOid(VciBaseUtil.getPk());
 		String creator = AuthUtil.getUserAccount();
 		Date now = new Date();
-		life.setBtmname(BtmTypeConstant.LIFE_CYCLE);
-		life.setOwner(creator);
 		life.setCreator(creator);
 		life.setCreateTime(now);
 		life.setLastModifier(creator);
@@ -197,8 +206,6 @@
 		LifeCycleLineEvent event = org.springblade.core.tool.utils.BeanUtil.copy(eventDTO, LifeCycleLineEvent.class);
 		event.setOid(VciBaseUtil.getPk());
 		event.setPkLifeCycleEdge(edgeOid);
-		event.setBtmname(BtmTypeConstant.LIFE_CYCLE_LINE_EVENT);
-		event.setOwner(creator);
 		event.setCreator(creator);
 		event.setCreateTime(now);
 		event.setLastModifier(creator);
@@ -219,8 +226,6 @@
 		LifeCycleNode node = org.springblade.core.tool.utils.BeanUtil.copy(nodeDTO, LifeCycleNode.class);
 		node.setOid(VciBaseUtil.getPk());
 		node.setLifeCycleOid(lifeOid);
-		node.setBtmname(BtmTypeConstant.LIFE_CYCLE_NODE);
-		node.setOwner(creator);
 		node.setCreator(creator);
 		node.setCreateTime(now);
 		node.setLastModifier(creator);
@@ -247,8 +252,6 @@
 		LifeCycleEdge edge = org.springblade.core.tool.utils.BeanUtil.copy(edgeDTO, LifeCycleEdge.class);
 		edge.setOid(VciBaseUtil.getPk());
 		edge.setLifeCycleOid(lifeOid);
-		edge.setBtmname(BtmTypeConstant.LIFE_CYCLE_EDGE);
-		edge.setOwner(creator);
 		edge.setCreator(creator);
 		edge.setCreateTime(now);
 		edge.setLastModifier(creator);
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleEventWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleEventWrapper.java
new file mode 100644
index 0000000..3af3c62
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LifeCycleEventWrapper.java
@@ -0,0 +1,53 @@
+package com.vci.ubcs.omd.wrapper;
+
+import com.vci.ubcs.omd.dto.LifeCycleDTO;
+import com.vci.ubcs.omd.entity.LifeCycleEvent;
+import com.vci.ubcs.omd.entity.LifeCycleEvent;
+import com.vci.ubcs.omd.vo.LifeCycleEventVO;
+import com.vci.ubcs.omd.vo.LifeCycleEventVO;
+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 LifeCycleEventWrapper extends BaseEntityWrapper<LifeCycleEvent, LifeCycleEventVO> {
+
+	public static LifeCycleEventWrapper build() {
+		return new LifeCycleEventWrapper();
+	}
+
+	@Override
+	public LifeCycleEventVO entityVO(LifeCycleEvent entity) {
+		LifeCycleEventVO vo = BeanUtil.copy(entity, LifeCycleEventVO.class);
+		//杩欓噷澶勭悊鏋氫妇鐩稿叧鐨�
+		return vo;
+	}
+
+	public List<LifeCycleEventVO> listEntityVO(List<LifeCycleEvent> LifeCycleEventList){
+		return Optional.ofNullable(LifeCycleEventList).orElseGet(ArrayList::new).stream().map(this::entityVO).collect(Collectors.toList());
+	}
+
+	public List<LifeCycleEvent> batchCopyVO2DO(List<LifeCycleEventVO> LifeCycleEventVOList) {
+		return Optional.ofNullable(LifeCycleEventVOList).orElseGet(ArrayList::new).stream().map(this::copyVO2DO).collect(Collectors.toList());
+	}
+
+	private LifeCycleEvent copyVO2DO(LifeCycleEventVO LifeCycleEventVO) {
+		LifeCycleEvent LifeCycleEvent = BeanUtil.copy(LifeCycleEventVO, LifeCycleEvent.class);
+		return LifeCycleEvent;
+	}
+
+
+    public LifeCycleEvent copyDTO2DO(LifeCycleDTO lifeCycleDTO) {
+		LifeCycleEvent LifeCycleEvent = BeanUtil.copy(lifeCycleDTO, LifeCycleEvent.class);
+		return LifeCycleEvent;
+    }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DictBizController.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DictBizController.java
index 86efba4..29b8775 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DictBizController.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DictBizController.java
@@ -16,6 +16,7 @@
  */
 package com.vci.ubcs.system.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.vci.ubcs.system.entity.DictBiz;
@@ -175,5 +176,17 @@
 		return R.data(DictBizWrapper.build().listNodeVO(tree));
 	}
 
+	/**
+	 * 鑾峰彇鍙�夋嫨鐨勫垪琛�
+	 */
+	@GetMapping("/listByFlag")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "璇︽儏", notes = "浼犲叆dict")
+	public R<List<DictBiz>> listByFlag(DictBiz dict) {
+//		QueryWrapper<DictBiz> wrapper = new QueryWrapper<>();
+		List<DictBiz> details = dictService.list(Condition.getQueryWrapper(dict));
+		return R.data(details);
+	}
+
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/DictBizClient.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/DictBizClient.java
index d66a6b6..34c37da 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/DictBizClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/DictBizClient.java
@@ -23,6 +23,7 @@
 import org.springblade.core.tool.api.R;
 import com.vci.ubcs.system.entity.DictBiz;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -67,7 +68,7 @@
 	 * @return
 	 */
 	@Override
-	@GetMapping(CHECK_VALUE)
+	@PostMapping(CHECK_VALUE)
 	public R getCheck(DictBiz dictBiz) {
 		return service.checkOrInsert(dictBiz);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
index 7e8788c..287785f 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
@@ -121,7 +121,7 @@
 	@Override
 	public R checkOrInsert(DictBiz dictBiz) {
 
-		LambdaQueryWrapper<DictBiz> lqw = Wrappers.<DictBiz>query().lambda().eq(DictBiz::getCode, dictBiz.getCode()).eq(DictBiz::getDictKey, dictBiz.getDictKey());
+		LambdaQueryWrapper<DictBiz> lqw = Wrappers.<DictBiz>query().lambda().eq(DictBiz::getCode, dictBiz.getCode()).eq(DictBiz::getDictKey, dictBiz.getDictKey()).eq(DictBiz::getDictValue, dictBiz.getDictValue());
 		Long cnt = baseMapper.selectCount((Func.isEmpty(dictBiz.getId())) ? lqw : lqw.notIn(DictBiz::getId, dictBiz.getId()));
 		if (cnt > 0L) {
 			return R.fail("瀛楀吀宸茬粡瀛樺湪锛�");

--
Gitblit v1.9.3