From a216d2503641b1d2ae6d4a2defa870470f2737bb Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 18 九月 2023 14:14:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/refer/vciWebRefer.vue                                                                                           |    5 
 Source/UBCS-WEB/src/views/code/code.vue                                                                                                        |   19 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java                                         |    5 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java                                                  |    6 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java                                          |    3 
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue                                                                                    |   41 +
 Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue                                                                      |  853 +++++++++++++++++++++---------------------
 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java                |   20 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java                                               |    9 
 Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue                                                                          |    3 
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue                                                                                      |   45 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java                                    |   29 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java                                 |    8 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java                                       |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java                                      |   63 +++
 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java |   18 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java                                      |    5 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java                              |   17 
 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue                                                                                       |    6 
 19 files changed, 647 insertions(+), 511 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue
index 8d0fa1e..b36a114 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue
@@ -37,9 +37,6 @@
         },
     },
     methods: {
-        echoReferConfig(value) {
-            this.emitData = value;
-        },
         // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰
         openReconfigInterFace(preReferConfigForm){
             const form = preReferConfigForm;
diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
index 9e75512..e5ec5a4 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
@@ -474,431 +474,436 @@
         },
         // 琛ㄥ崟鐣岄潰鏄剧ず鍐呭閰嶇疆
         computed: {
-            formOption() {
-                /** 妫�楠屾槸鍚︿负鏁板瓧 */
-                let validateNumber = "";
-                validateNumber = (rule, value,callback) => {
-                    if(/[^\d]/g.test(value)){
-                        callback(new Error('绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�'));
-                    }else {
-                        callback();
+          formOption() {
+            /** 妫�楠屾槸鍚︿负鏁板瓧 */
+            let validateNumber = "";
+            validateNumber = (rule, value, callback) => {
+              if (/[^\d]/g.test(value)) {
+                callback(new Error('绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�'));
+              } else {
+                callback();
+              }
+            };
+            return {
+              submitBtn: false,
+              emptyBtn: false,
+              labelWidth: '145', //榛樿鏍囩瀹藉害
+              group: [
+                {
+                  // 鍩虹琛ㄥ崟淇℃伅灞曠ず鍖哄煙
+                  //display: this.form.type=='default'||this.form.type=='grid',
+                  icon: 'el-icon-info',
+                  label: '蹇呭~鐨勫弬鐓ч厤缃�',
+                  collapse: true,
+                  labelWidth: '115',
+                  prop: 'groupDdefaultOrGrid',
+                  column: [
+                    {
+                      label: '鍙傜収鐨勪笟鍔$被鍨�',
+                      prop: 'referTypeName',
+                      span: 6,
+                      labelWidth: '130',
+                      disabled: this.referTypeIsReadOnly,
+                      clearable: !this.referTypeIsReadOnly,
+                      tip: '鍙傜収鏁版嵁鏌ヨ鐨勪笟鍔$被鍨嬨��',
+                      tipPlacement: 'bottom',
+                      rules: [{
+                        required: true,
+                        message: "(鍙傜収鐨勪笟鍔$被鍨�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: ["blur", "change"],
+                      }],
+                    }, {
+                      label: '鏄剧ず鐨勫睘鎬�',
+                      prop: 'textField',
+                      tip: '閫夋嫨鏁版嵁鍚庯紝鏄剧ず鍒板瓧娈典笂鐨勪俊鎭墍灞炵殑灞炴�э紝涓�鑸兘鏄痭ame,濡傛灉鏄涓睘鎬т娇鐢ㄩ�楀彿鍒嗗壊锛屽id,name銆�',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      value: 'name',
+                      rules: [{
+                        required: true,
+                        message: "(鏄剧ず鐨勫睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                    }, {
+                      label: '瀛樺偍鍊肩殑灞炴��',
+                      prop: 'valueField',
+                      tip: '閫夋嫨鏁版嵁鍚庯紝淇濆瓨鍒版暟鎹簱閲岀殑灞炴�э紝涓�鑸兘鏄痮id鎴栬�卛d锛屽鏋滄槸澶氫釜灞炴�т娇鐢ㄩ�楀彿鍒嗗壊锛屽oid ,id',
+                      value: 'oid',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      rules: [{
+                        required: true,
+                        message: "(瀛樺偍鍊肩殑灞炴��)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                    }, {
+                      label: '鍙傜収绐楀彛绫诲瀷',
+                      prop: 'type',
+                      tip: 'default:榛樿鐨勫弬鐓х獥鍙f牱寮�; stand:UI涓婁笅鏂囬厤缃殑鏂瑰紡; classify:鍒嗙被+妗f鐨勬樉绀�; 鑷畾涔夌殑鍙傜収鐩存帴鍐檍s鐨勭粍浠惰矾寰勶紱tree:鏍戝舰灞曠ず;grid:鍒楄〃灞曠ず',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      value: 'default',
+                      type: 'select',
+                      dicData: [{
+                        label: '榛樿鏍峰紡',
+                        value: 'default'
+                      }, {
+                        label: '骞冲彴閰嶇疆',
+                        value: 'stand'
+                      }, {
+                        label: '鏍戝舰',
+                        value: 'tree'
+                      }, {
+                        label: '鍒楄〃',
+                        value: 'grid'
+                      }, {
+                        label: '閮ㄩ棬鏍�',
+                        value: 'refer/OrgDepartmentRefer'
+                      }, {
+                        label: '閮ㄩ棬鍒楄〃',
+                        value: 'refer/OrgDepartmentGridRefers'
+                      }, {
+                        label: '鐢ㄦ埛',
+                        value: 'refer/SmUserRefer'
+                      }, {
+                        label: '鐢ㄦ埛鍒楄〃',
+                        value: 'refer/SmUserGridRefer'
+                      }, {
+                        label: '瑙掕壊鍒楄〃',
+                        value: 'refer/SmRoleRefer'
+                      }, {
+                        label: '鑱屽姟',
+                        value: 'refer/OrgDutyRefer'
+                      }, {
+                        label: '宸ョ',
+                        value: 'refer/SmWorkTypeRefer'
+                      }, {
+                        label: '娴佺▼妯℃澘',
+                        value: 'refer/WfProcessTemplateRefer'
+                      }],
+                      rules: [{
+                        required: true,
+                        message: "(鍙傜収绐楀彛绫诲瀷)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      change: ({value, column}) => {
+                        // console.log("start",value);
+                        // 澶嶅師琛ㄥ崟,鍥犱负鍏朵粬鍒嗙粍涓鏋滃瓨鍦ㄥ�硷紝鍦ㄥ垏鎹㈡椂,浼氫繚鐣欒緭鍏ョ殑瀛楁鍊兼墍浠ラ渶瑕佽繕鍘�
+                        let addFrom = {};
+                        this.activeName = 'first'; // 榛樿鍒囨崲鑷崇涓�涓猼ab
+                        //鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟灞炴�ц繘琛岃皟鏁�
+                        if (value == 'stand') {
+                          addFrom = {
+                            referContent: '',
+                            displayTable: '',
+                          };
+                          this.isDisabledTabs = false;
+                        } else if (value == 'default' || value == 'grid') {
+                          addFrom = {
+                            limit: 15,
+                            sortField: '',
+                            sortType: 'asc',
+                          };
+                          this.isDisabledTabs = false;
+                        } else if (value == 'tree') {
+                          addFrom = {
+                            parentFieldName: '',
+                            parentUsedField: 'oid',
+                            parentValue: '',
+                            loadType: 'all',
+                            onlyLeaf: false,
+                            sortField: '',
+                            sortType: 'asc',
+                          };
+                          // 涓嶇煡閬撲负浠�涔坱ype涓簍ree鐨勬椂鍊欎細瑙﹀彂涓ゆchange浜嬩欢
+                          // 瀵艰嚧type鍒囨崲澶辫触
+                          this.form.type = 'tree';
+                          this.isDisabledTabs = false;
+                        } else {
+                          this.isDisabledTabs = true;
+                          this.activeName = 'second';
+                        }
+                        // 绫诲瀷鍒囨崲鏃讹紝瀵逛笉闇�瑕佺殑灞炴�ц繘琛岀瓫闄�
+                        this.removeFormAttr.forEach(attr => {
+                          // console.log(attr);
+                          this.$delete(this.form, attr)
+                        })
+                        // 鍚堝苟涓や釜琛ㄥ崟
+                        this.form = Object.assign(addFrom, this.form);
+                        // console.log("endFilter",this.form.type);
+                        // console.log(this.form);
+                      },
+                    }, {
+                      label: '鏄惁鎸佷箙鍖栧弬鐓ч厤缃�',
+                      prop: 'isPersistence',
+                      labelWidth: '142',
+                      tip: 'true:寮�鍚寔涔呭寲锛屽褰撳墠瀹氫箟鐨勫弬鐓ч厤缃繘琛屾寔涔呭寲瀛樺偍锛屼笅娆″彲鐩存帴閫夊彇锛沠alse:浠呭褰撳墠娆$爜娈垫柊澧炵敓鏁堛��',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      type: 'switch',
+                    }, {
+                      display: this.form.isPersistence || this.form.isPersistence == 'true',
+                      label: '鍙傜収閰嶇疆缂栧彿',
+                      prop: 'id',
+                      tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑缂栧彿銆�',
+                      rules: [{
+                        required: true,
+                        message: "(寮�鍚寔涔呭寲鏃剁紪鍙�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      span: 6,
+                    }, {
+                      display: this.form.isPersistence || this.form.isPersistence == 'true',
+                      label: '鍙傜収閰嶇疆鍚嶇О',
+                      prop: 'name',
+                      tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑鍚嶇О銆�',
+                      rules: [{
+                        required: true,
+                        message: "(寮�鍚寔涔呭寲鏃跺悕绉�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      span: 6,
                     }
-                };
-                return {
-                    submitBtn: false,
-                    emptyBtn: false,
-                    labelWidth: '145', //榛樿鏍囩瀹藉害
-                    group: [
-                        {
-                            // 鍩虹琛ㄥ崟淇℃伅灞曠ず鍖哄煙
-                            //display: this.form.type=='default'||this.form.type=='grid',
-                            icon: 'el-icon-info',
-                            label: '蹇呭~鐨勫弬鐓ч厤缃�',
-                            collapse: true,
-                            labelWidth: '115',
-                            prop: 'groupDdefaultOrGrid',
-                            column: [
-                                {
-                                    label: '鍙傜収鐨勪笟鍔$被鍨�',
-                                    prop: 'referTypeName',
-                                    span: 6,
-                                    labelWidth: '130',
-                                    disabled: this.referTypeIsReadOnly,
-                                    clearable: !this.referTypeIsReadOnly,
-                                    tip: '鍙傜収鏁版嵁鏌ヨ鐨勪笟鍔$被鍨嬨��',
-                                    tipPlacement: 'bottom',
-                                    rules: [{
-                                        required: true,
-                                        message: "(鍙傜収鐨勪笟鍔$被鍨�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: ["blur","change"],
-                                    }],
-                                },{
-                                    label: '鏄剧ず鐨勫睘鎬�',
-                                    prop: 'textField',
-                                    tip: '閫夋嫨鏁版嵁鍚庯紝鏄剧ず鍒板瓧娈典笂鐨勪俊鎭墍灞炵殑灞炴�э紝涓�鑸兘鏄痭ame,濡傛灉鏄涓睘鎬т娇鐢ㄩ�楀彿鍒嗗壊锛屽id,name銆�',
-                                    tipPlacement: 'bottom',
-                                    span: 6,
-                                    value: 'name',
-                                    rules: [{
-                                        required: true,
-                                        message: "(鏄剧ず鐨勫睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                },{
-                                    label: '瀛樺偍鍊肩殑灞炴��',
-                                    prop: 'valueField',
-                                    tip: '閫夋嫨鏁版嵁鍚庯紝淇濆瓨鍒版暟鎹簱閲岀殑灞炴�э紝涓�鑸兘鏄痮id鎴栬�卛d锛屽鏋滄槸澶氫釜灞炴�т娇鐢ㄩ�楀彿鍒嗗壊锛屽oid ,id',
-                                    value: 'oid',
-                                    tipPlacement: 'bottom',
-                                    span: 6,
-                                    rules: [{
-                                        required: true,
-                                        message: "(瀛樺偍鍊肩殑灞炴��)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                },{
-                                    label: '鍙傜収绐楀彛绫诲瀷',
-                                    prop: 'type',
-                                    tip: 'default:榛樿鐨勫弬鐓х獥鍙f牱寮�; stand:UI涓婁笅鏂囬厤缃殑鏂瑰紡; classify:鍒嗙被+妗f鐨勬樉绀�; 鑷畾涔夌殑鍙傜収鐩存帴鍐檍s鐨勭粍浠惰矾寰勶紱tree:鏍戝舰灞曠ず;grid:鍒楄〃灞曠ず',
-                                    tipPlacement: 'bottom',
-                                    span: 6,
-                                    value: 'default',
-                                    type: 'select',
-                                    dicData: [{
-                                        label: '榛樿鏍峰紡',
-                                        value: 'default'
-                                    }, {
-                                        label: '骞冲彴閰嶇疆',
-                                        value: 'stand'
-                                    }, {
-                                        label: '鏍戝舰',
-                                        value: 'tree'
-                                    }, {
-                                        label: '鍒楄〃',
-                                        value: 'grid'
-                                    }, {
-                                        label: '閮ㄩ棬鏍�',
-                                        value: 'refer/OrgDepartmentRefer'
-                                    }, {
-                                        label: '閮ㄩ棬鍒楄〃',
-                                        value: 'refer/OrgDepartmentGridRefers'
-                                    }, {
-                                        label: '鐢ㄦ埛',
-                                        value: 'refer/SmUserRefer'
-                                    }, {
-                                        label: '鐢ㄦ埛鍒楄〃',
-                                        value: 'refer/SmUserGridRefer'
-                                    }, {
-                                        label: '瑙掕壊鍒楄〃',
-                                        value: 'refer/SmRoleRefer'
-                                    }, {
-                                        label: '鑱屽姟',
-                                        value: 'refer/OrgDutyRefer'
-                                    }, {
-                                        label: '宸ョ',
-                                        value: 'refer/SmWorkTypeRefer'
-                                    }, {
-                                        label: '娴佺▼妯℃澘',
-                                        value: 'refer/WfProcessTemplateRefer'
-                                    }],
-                                    rules: [{
-                                        required: true,
-                                        message: "(鍙傜収绐楀彛绫诲瀷)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                    change: ({ value, column }) => {
-                                        // console.log("start",value);
-                                        // 澶嶅師琛ㄥ崟,鍥犱负鍏朵粬鍒嗙粍涓鏋滃瓨鍦ㄥ�硷紝鍦ㄥ垏鎹㈡椂,浼氫繚鐣欒緭鍏ョ殑瀛楁鍊兼墍浠ラ渶瑕佽繕鍘�
-                                        let addFrom = {};
-                                        this.activeName = 'first'; // 榛樿鍒囨崲鑷崇涓�涓猼ab
-                                        //鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟灞炴�ц繘琛岃皟鏁�
-                                        if(value == 'stand'){
-                                            addFrom = {
-                                                referContent: '',
-                                                displayTable: '',
-                                            };
-                                            this.isDisabledTabs = false;
-                                        } else if(value == 'default' || value == 'grid'){
-                                            addFrom = {
-                                                limit: 15,
-                                                sortField: '',
-                                                sortType: 'asc',
-                                            };
-                                            this.isDisabledTabs = false;
-                                        } else if(value == 'tree'){
-                                            addFrom = {
-                                                parentFieldName: '',
-                                                parentUsedField: 'oid',
-                                                parentValue: '',
-                                                loadType: 'all',
-                                                onlyLeaf: false,
-                                                sortField: '',
-                                                sortType: 'asc',
-                                            };
-                                            // 涓嶇煡閬撲负浠�涔坱ype涓簍ree鐨勬椂鍊欎細瑙﹀彂涓ゆchange浜嬩欢
-                                            // 瀵艰嚧type鍒囨崲澶辫触
-                                            this.form.type = 'tree';
-                                            this.isDisabledTabs = false;
-                                        }else {
-                                            this.isDisabledTabs = true;
-                                            this.activeName = 'second';
-                                        }
-                                       // 绫诲瀷鍒囨崲鏃讹紝瀵逛笉闇�瑕佺殑灞炴�ц繘琛岀瓫闄�
-                                        this.removeFormAttr.forEach(attr=>{
-                                            // console.log(attr);
-                                            this.$delete(this.form,attr)
-                                        })
-                                        // 鍚堝苟涓や釜琛ㄥ崟
-                                        this.form = Object.assign(addFrom,this.form);
-                                        // console.log("endFilter",this.form.type);
-                                        // console.log(this.form);
-                                    },
-                                },{
-                                    label: '鏄惁鎸佷箙鍖栧弬鐓ч厤缃�',
-                                    prop: 'isPersistence',
-                                    labelWidth: '142',
-                                    tip: 'true:寮�鍚寔涔呭寲锛屽褰撳墠瀹氫箟鐨勫弬鐓ч厤缃繘琛屾寔涔呭寲瀛樺偍锛屼笅娆″彲鐩存帴閫夊彇锛沠alse:浠呭褰撳墠娆$爜娈垫柊澧炵敓鏁堛��',
-                                    tipPlacement: 'bottom',
-                                    span: 6,
-                                    type: 'switch',
-                                },{
-                                    display: this.form.isPersistence || this.form.isPersistence=='true',
-                                    label: '鍙傜収閰嶇疆缂栧彿',
-                                    prop: 'id',
-                                    tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑缂栧彿銆�',
-                                    rules: [{
-                                        required: true,
-                                        message: "(寮�鍚寔涔呭寲鏃剁紪鍙�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                    span: 6,
-                                },{
-                                    display: this.form.isPersistence || this.form.isPersistence=='true',
-                                    label: '鍙傜収閰嶇疆鍚嶇О',
-                                    prop: 'name',
-                                    tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑鍚嶇О銆�',
-                                    rules: [{
-                                        required: true,
-                                        message: "(寮�鍚寔涔呭寲鏃跺悕绉�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                    span: 6,
-                                }
 
-                            ]
-                        },
+                  ]
+                },
+                {
+                  icon: 'el-icon-info',
+                  label: '椤甸潰鍙傛暟閰嶇疆',
+                  collapse: false,
+                  prop: 'webConfig',
+                  column: [
+                    {
+                      label: '绐楀彛鏄剧ず鐨勯珮搴�',
+                      prop: 'height',
+                      tip: '榛樿绌虹潃锛岃缃悗琛ㄧず寮哄埗鏄剧ず杩欐牱鐨勯珮搴�',
+                      tipPlacement: 'right',
+                      span: 7,
+                      rules: [{
+                        validator: validateNumber,
+                        message: "绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�",
+                        trigger: "blur",
+                      }]
+                    }, {
+                      label: '杩囨护(绾ц仈)灞炴��',
+                      prop: 'useFormKey',
+                      tip: '鑾峰彇琛ㄥ崟涓婄殑鍏朵粬灞炴�х殑灞炴�х殑鍊兼潵杩囨护,鎴栬�呬娇鐢ㄦ煇涓睘鎬ф潵绾ц仈閫夋嫨',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '杩囨护灞炴�ц姹傚弬鏁�',
+                      prop: 'paramForFormKey',
+                      tip: '浣跨敤杩囨护灞炴�ф椂锛屽彂閫佺粰鍚庡彴鐨勮姹傚弬鏁�',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '鏄犲皠鍏朵粬灞炴��',
+                      prop: 'mapFields',
+                      tip: '閫夋嫨鏁版嵁鍚庯紝灏嗛�夋嫨鐨勬暟鎹嫹璐濆埌琛ㄥ崟閲岀殑鍏朵粬灞炴�э紝涔﹀啓鏍煎紡涓簕褰撳墠琛ㄥ崟涓婄殑灞炴��:閫夋嫨鏁版嵁閲岀殑灞炴��,"XXXXx":"yyyy"}',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '鏄惁寮�鍚叏灞�',
+                      prop: 'isOpenGlobal',
+                      tip: '寮�鍚叏灞�涔嬪悗瀵瑰叏閮ㄥ弬鐓ч厤缃暟鎹繘琛屾煡璇紝榛樿鏍规嵁绉熸埛杩涜鏌ヨ銆�',
+                      tipPlacement: 'right',
+                      type: 'switch',
+                      span: 7,
+                    }, {
+                      label: '鏄惁澶氶��',
+                      type: 'switch',
+                      prop: 'isMuti',
+                      value: false,
+                      span: 7,
+                      row: true,
+                    }
+                  ]
+                },
+                {
+                  icon: 'el-icon-info',
+                  label: '鍚庡彴鍙傛暟閰嶇疆',
+                  collapse: false,
+                  prop: 'backstageConfig',
+                  column: [
+                    {
+                      label: '鑷畾涔夌殑鍚庡彴璺緞',
+                      prop: 'url',
+                      tip: '閫氬父涓虹┖;濡傛灉鏄垪琛紝鍚庡彴蹇呴』杩斿洖DataGrid锛屽鏋滄槸鏍戯紝鍚庡彴蹇呴』杩斿洖List<Theme>',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '鏈嶅姟鐨勫湴鍧�',
+                      prop: 'backPath',
+                      tip: '閫氬父涓虹┖锛屽湪鏀寔寰湇鍔℃垨鑰呭垎甯冨紡閮ㄧ讲鐨勬椂鍊欐墠閰嶇疆',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '璇锋眰鍚庡彴鐨勫崗璁柟寮�',
+                      prop: 'method',
+                      tip: 'HTTP鐨勫崗璁柟寮忥紝鏀寔POST,PUT,GET锛屼竴鑸兘鏄疓ET',
+                      tipPlacement: 'right',
+                      span: 7,
+                      value: 'GET',
+                      type: 'select',
+                      dicData: [{
+                        label: 'GET', value: "GET"
+                      }, {
+                        label: 'PUT', value: "PUT"
+                      },
                         {
-                            icon: 'el-icon-info',
-                            label: '椤甸潰鍙傛暟閰嶇疆',
-                            collapse: false,
-                            prop: 'webConfig',
-                            column: [
-                                {
-                                    label: '绐楀彛鏄剧ず鐨勯珮搴�',
-                                    prop: 'height',
-                                    tip: '榛樿绌虹潃锛岃缃悗琛ㄧず寮哄埗鏄剧ず杩欐牱鐨勯珮搴�',
-                                    tipPlacement: 'right',
-                                    span: 7,
-                                    rules:[{
-                                        validator: validateNumber,
-                                        message: "绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�",
-                                        trigger: "blur",
-                                    }]
-                                },{
-                                    label: '杩囨护(绾ц仈)灞炴��',
-                                    prop: 'useFormKey',
-                                    tip: '鑾峰彇琛ㄥ崟涓婄殑鍏朵粬灞炴�х殑灞炴�х殑鍊兼潵杩囨护,鎴栬�呬娇鐢ㄦ煇涓睘鎬ф潵绾ц仈閫夋嫨',
-                                    tipPlacement: 'right',
-                                    span: 7,
-                                },{
-                                    label: '杩囨护灞炴�ц姹傚弬鏁�',
-                                    prop: 'paramForFormKey',
-                                    tip: '浣跨敤杩囨护灞炴�ф椂锛屽彂閫佺粰鍚庡彴鐨勮姹傚弬鏁�',
-                                    tipPlacement: 'right',
-                                    span: 7,
-                                },{
-                                    label: '鏄犲皠鍏朵粬灞炴��',
-                                    prop: 'mapFields',
-                                    tip: '閫夋嫨鏁版嵁鍚庯紝灏嗛�夋嫨鐨勬暟鎹嫹璐濆埌琛ㄥ崟閲岀殑鍏朵粬灞炴�э紝涔﹀啓鏍煎紡涓簕褰撳墠琛ㄥ崟涓婄殑灞炴��:閫夋嫨鏁版嵁閲岀殑灞炴��,XXXXx:yyyy}',
-                                    tipPlacement: 'right',
-                                    span: 7,
-                                },{
-                                    label: '鏄惁寮�鍚叏灞�',
-                                    prop: 'isOpenGlobal',
-                                    tip: '寮�鍚叏灞�涔嬪悗瀵瑰叏閮ㄥ弬鐓ч厤缃暟鎹繘琛屾煡璇紝榛樿鏍规嵁绉熸埛杩涜鏌ヨ銆�',
-                                    tipPlacement: 'right',
-                                    type: 'switch',
-                                    span: 7,
-                                },{
-                                    label: '鏄惁澶氶��',
-                                    type: 'switch',
-                                    prop: 'isMuti',
-                                    value: false,
-                                    span: 7,
-                                    row: true,
-                                }
-                            ]
-                        },
-                        {
-                            icon: 'el-icon-info',
-                            label: '鍚庡彴鍙傛暟閰嶇疆',
-                            collapse: false,
-                            prop: 'backstageConfig',
-                            column: [
-                                {
-                                label: '鑷畾涔夌殑鍚庡彴璺緞',
-                                prop: 'url',
-                                tip: '閫氬父涓虹┖;濡傛灉鏄垪琛紝鍚庡彴蹇呴』杩斿洖DataGrid锛屽鏋滄槸鏍戯紝鍚庡彴蹇呴』杩斿洖List<Theme>',
-                                tipPlacement: 'right',
-                                span: 7,
-                                },{
-                                    label: '鏈嶅姟鐨勫湴鍧�',
-                                    prop: 'backPath',
-                                    tip: '閫氬父涓虹┖锛屽湪鏀寔寰湇鍔℃垨鑰呭垎甯冨紡閮ㄧ讲鐨勬椂鍊欐墠閰嶇疆',
-                                    tipPlacement: 'right',
-                                    span: 7,
-                                },{
-                                    label: '璇锋眰鍚庡彴鐨勫崗璁柟寮�',
-                                    prop: 'method',
-                                    tip: 'HTTP鐨勫崗璁柟寮忥紝鏀寔POST,PUT,GET锛屼竴鑸兘鏄疓ET',
-                                    tipPlacement: 'right',
-                                    span: 7,
-                                    value: 'GET',
-                                    type: 'select',
-                                    dicData: [{
-                                        label:'GET',value: "GET"
-                                    },{
-                                        label:'PUT',value: "PUT"
-                                    },
-                                    {
-                                        label:'POST',value: "POST"
-                                    }],
-                                },
-                            ]
-                        },
-                    ]
-                }
-            },
-            formOtherOption(){
-                return {
-                    // 鍙樺姩鐨勮〃鍗曞尯鍩�
-                    submitBtn: false,
-                    emptyBtn: false,
-                    labelWidth: '145', //榛樿鏍囩瀹藉害
-                    group: [
-                        {
-                            display: this.form.type=='default'||this.form.type=='grid',
-                            icon: 'el-icon-info',
-                            label: this.form.type=='default' ? '榛樿鍙傜収鐨勯厤缃�(涓嬫柟鍒楄〃)':'鍒楄〃鍙傜収鐨勯厤缃紙涓嬫柟鍒楄〃)',
-                            collapse: true,
-                            prop: 'groupDdefaultOrGrid',
-                            column: [
-                                {
-                                    label: '姣忛〉鏄剧ず鏉℃暟',
-                                    prop: 'limit',
-                                    span: 8,
-                                    tip: '鍒嗛〉鏃舵瘡椤垫樉绀虹殑鏁伴噺锛屼笉鍒嗛〉濉�-1',
-                                    value: 15,
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鎺掑簭瀛楁',
-                                    prop: 'sortField',
-                                    span: 8,
-                                    tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
-                                    //clearable: false,
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鎺掑簭绫诲瀷',
-                                    prop: 'sortType',
-                                    span: 8,
-                                    dicData: [{
-                                        label: '鍗囧簭', value: 'asc'
-                                    }, {
-                                        label: '闄嶅簭', value: 'desc'
-                                    }],
-                                    //value: 'asc',
-                                    type: 'select',
-                                    tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭绫诲瀷',
-                                    tipPlacement: 'right',
-                                }
-                            ]
-                        },
-                        {
-                            display: this.form.type=='stand',
-                            icon: 'el-icon-info',
-                            label: 'stand(骞冲彴閰嶇疆)鍙傜収',
-                            collapse: true,
-                            prop: 'groupStand',
-                            column: [
-                                {
-                                    label: '鍙傝�冪殑UI涓婁笅鏂�',
-                                    prop: 'referContent',
-                                    span: 8,
-                                    tip: '鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆,涓斿湪stand绫诲瀷涓嬫墠鑳界敓鏁�',
-                                    tipPlacement: 'right',
-                                },
-                                {
-                                    label: '骞冲彴鐨勮〃鏍肩紪鍙�',
-                                    prop: 'displayTable',
-                                    span: 8,
-                                    tip: '涓庡弬鐓х殑UI涓婁笅鏂囦簰鏂ワ紝鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆锛屼笖鍦╯tand绫诲瀷涓嬫墠鑳界敓鏁�',
-                                    tipPlacement: 'right',
-                                },
-                            ]
-                        },
-                        {
-                            display: this.form.type=='tree',
-                            icon: 'el-icon-info',
-                            label: '鏍戝舰鍙傜収淇℃伅',
-                            collapse: true,
-                            prop: 'groupTree',
-                            labelWidth: '158',
-                            column: [
-                                {
-                                    label: '鏍戝舰鐨勪笂绾у睘鎬�',
-                                    prop: 'parentFieldName',
-                                    span: 7,
-                                    tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婁笅绾у叧绯绘煡鎵剧殑灞炴�с��',
-                                    tipPlacement: 'right',
-                                    rules: [{
-                                        required: true,
-                                        message: "(鏍戝舰鐨勪笂绾у睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                },{
-                                    label: '涓婄骇灞炴�у�煎搴斿睘鎬�',
-                                    prop: 'parentUsedField',
-                                    span: 7,
-                                    tip: '涓婄骇灞炴�у瓨鍌ㄧ殑鍊�,鏄笂绾ф暟鎹殑浠�涔堝睘鎬с�備竴鑸兘鏄痮id銆�',
-                                    value: 'oid',
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鏍硅妭鐐圭殑鍊�',
-                                    prop: 'parentValue',
-                                    span: 7,
-                                    tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婄骇鐨勫�笺��',
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鏍戝姞杞芥柟寮�',
-                                    prop: 'loadType',
-                                    span: 7,
-                                    value: 'all',
-                                    dicData: [{
-                                        label: '鍏ㄩ儴', value: 'all'
-                                    }, {
-                                        label: '閫愮骇鍔犺浇', value: 'node'
-                                    }],
-                                    type: 'select',
-                                },{
-                                    label: '鎺掑簭瀛楁',
-                                    prop: 'sortField',
-                                    span: 7,
-                                    //type: 'table',
-                                    tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鎺掑簭绫诲瀷',
-                                    prop: 'sortType',
-                                    span: 7,
-                                    type: 'select',
-                                    value: 'asc',
-                                    dicData: [{
-                                        label: '鍗囧簭', value: 'asc'
-                                    }, {
-                                        label: '闄嶅簭', value: 'desc'
-                                    }],
-                                },{
-                                    label: '鏄惁鍙兘閫夋嫨鍙跺瓙鑺傜偣',
-                                    prop: 'onlyLeaf',
-                                    span: 7,
-                                    value: false,
-                                    type: 'switch',
-                                }
-                            ]
-                        },
-                    ],
-                }
-            },
+                          label: 'POST', value: "POST"
+                        }],
+                    },
+                  ]
+                },
+              ]
+            }
+          },
+          formOtherOption() {
+            return {
+              // 鍙樺姩鐨勮〃鍗曞尯鍩�
+              submitBtn: false,
+              emptyBtn: false,
+              labelWidth: '145', //榛樿鏍囩瀹藉害
+              group: [
+                {
+                  display: this.form.type == 'default' || this.form.type == 'grid',
+                  icon: 'el-icon-info',
+                  label: this.form.type == 'default' ? '榛樿鍙傜収鐨勯厤缃�(涓嬫柟鍒楄〃)' : '鍒楄〃鍙傜収鐨勯厤缃紙涓嬫柟鍒楄〃)',
+                  collapse: true,
+                  prop: 'groupDdefaultOrGrid',
+                  column: [
+                    {
+                      label: '姣忛〉鏄剧ず鏉℃暟',
+                      prop: 'limit',
+                      span: 8,
+                      tip: '鍒嗛〉鏃舵瘡椤垫樉绀虹殑鏁伴噺锛屼笉鍒嗛〉濉�-1',
+                      value: 15,
+                      rules: [{
+                        required: true,
+                        message: "蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鎺掑簭瀛楁',
+                      prop: 'sortField',
+                      span: 8,
+                      tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
+                      //clearable: false,
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鎺掑簭绫诲瀷',
+                      prop: 'sortType',
+                      span: 8,
+                      dicData: [{
+                        label: '鍗囧簭', value: 'asc'
+                      }, {
+                        label: '闄嶅簭', value: 'desc'
+                      }],
+                      //value: 'asc',
+                      type: 'select',
+                      tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭绫诲瀷',
+                      tipPlacement: 'right',
+                    }
+                  ]
+                },
+                {
+                  display: this.form.type == 'stand',
+                  icon: 'el-icon-info',
+                  label: 'stand(骞冲彴閰嶇疆)鍙傜収',
+                  collapse: true,
+                  prop: 'groupStand',
+                  column: [
+                    {
+                      label: '鍙傝�冪殑UI涓婁笅鏂�',
+                      prop: 'referContent',
+                      span: 8,
+                      tip: '鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆,涓斿湪stand绫诲瀷涓嬫墠鑳界敓鏁�',
+                      tipPlacement: 'right',
+                    },
+                    {
+                      label: '骞冲彴鐨勮〃鏍肩紪鍙�',
+                      prop: 'displayTable',
+                      span: 8,
+                      tip: '涓庡弬鐓х殑UI涓婁笅鏂囦簰鏂ワ紝鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆锛屼笖鍦╯tand绫诲瀷涓嬫墠鑳界敓鏁�',
+                      tipPlacement: 'right',
+                    },
+                  ]
+                },
+                {
+                  display: this.form.type == 'tree',
+                  icon: 'el-icon-info',
+                  label: '鏍戝舰鍙傜収淇℃伅',
+                  collapse: true,
+                  prop: 'groupTree',
+                  labelWidth: '158',
+                  column: [
+                    {
+                      label: '鏍戝舰鐨勪笂绾у睘鎬�',
+                      prop: 'parentFieldName',
+                      span: 7,
+                      tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婁笅绾у叧绯绘煡鎵剧殑灞炴�с��',
+                      tipPlacement: 'right',
+                      rules: [{
+                        required: true,
+                        message: "(鏍戝舰鐨勪笂绾у睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                    }, {
+                      label: '涓婄骇灞炴�у�煎搴斿睘鎬�',
+                      prop: 'parentUsedField',
+                      span: 7,
+                      tip: '涓婄骇灞炴�у瓨鍌ㄧ殑鍊�,鏄笂绾ф暟鎹殑浠�涔堝睘鎬с�備竴鑸兘鏄痮id銆�',
+                      value: 'oid',
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鏍硅妭鐐圭殑鍊�',
+                      prop: 'parentValue',
+                      span: 7,
+                      tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婄骇鐨勫�笺��',
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鏍戝姞杞芥柟寮�',
+                      prop: 'loadType',
+                      span: 7,
+                      value: 'all',
+                      dicData: [{
+                        label: '鍏ㄩ儴', value: 'all'
+                      }, {
+                        label: '閫愮骇鍔犺浇', value: 'node'
+                      }],
+                      type: 'select',
+                    }, {
+                      label: '鎺掑簭瀛楁',
+                      prop: 'sortField',
+                      span: 7,
+                      //type: 'table',
+                      tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鎺掑簭绫诲瀷',
+                      prop: 'sortType',
+                      span: 7,
+                      type: 'select',
+                      value: 'asc',
+                      dicData: [{
+                        label: '鍗囧簭', value: 'asc'
+                      }, {
+                        label: '闄嶅簭', value: 'desc'
+                      }],
+                    }, {
+                      label: '鏄惁鍙兘閫夋嫨鍙跺瓙鑺傜偣',
+                      prop: 'onlyLeaf',
+                      span: 7,
+                      value: false,
+                      type: 'switch',
+                    }
+                  ]
+                },
+              ],
+            }
+          },
         },
         mounted() {
             // 浜嬩欢鐩戝惉锛屽疄鐜拌〃鏍艰缂栬緫鐐瑰嚮琛ㄦ牸鍖哄煙澶栧唴瀹规椂閫�鍑虹紪杈戠姸鎬�
@@ -928,7 +933,6 @@
             }
         },
         methods: {
-
             // 閫夋嫨瀹屽弬鐓ч厤缃箣鍚庣偣鍑讳繚瀛樻寜閽Е鍙�
             async selectedListReferConfig(){
                 // 鏍囪鎵�鏈夎〃鍗曟槸鍚﹂�氳繃鏍¢獙鐨勫彉閲�
@@ -942,7 +946,6 @@
                                 break;
                             }
                             isValid = false;
-                            //console.log(valid);
                         }
                         done();
                     })
@@ -951,7 +954,6 @@
                 if (isValid) {
                     // 鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟涓殑鍙傛暟杩涜杩囨护锛屽彧淇濈暀闈炵┖涓旈渶瑕佺殑灞炴��
                     let submitForm = this.filterForm();
-                    // console.log(submitForm);
                     this.$emit('echoReferConfig', submitForm) // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠�
                     this.isShowReferConfigForm = false;
                 }
@@ -959,7 +961,6 @@
             // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈�
             clickAttrEdit(row, column, event){
                 if(this.preClickAttrRow && this.preClickAttrRow != row){
-                    //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]);
                     this.codeShowFieldConfigVOS[this.preClickAttrRow.$index].$cellEdit = false;
                 }
                 row.$cellEdit = true;
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
index 7aab2aa..7ecbfa0 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
@@ -26,10 +26,9 @@
     };
   },
   created() {
-    console.log('referer')
-    if (!this.referConfig.options) {
+    if (!this.referConfig.options && this.referConfig.options.isMuti==undefined) {
       this.referConfig.options = {
-        isMuti: false
+        isMuti: this.referConfig.options.muti || false
       }
     }
   },
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index 4427e05..222c3c0 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -86,9 +86,11 @@
     this.getParams();
   },
   mounted() {
-    if(this.referConfig.options.page){
-      this.page.pageSize=this.referConfig.options.page.limit || this.referConfig.options.page.pageSize;
-      this.page.currentPage=this.referConfig.options.page.page || this.referConfig.options.page.currentPage;
+    if(this.referConfig.options.tableConfig.page){
+      this.page.pageSize=this.referConfig.options.tableConfig.page.limit || this.referConfig.options.tableConfig.page.pageSize;
+      this.page.currentPage=this.referConfig.options.tableConfig.page.page || this.referConfig.options.tableConfig.page.currentPage;
+    }else if(!validatenull(this.referConfig.options.limit)){
+      this.page.pageSize=this.referConfig.options.limit
     }
   },
   computed:{
@@ -123,6 +125,12 @@
       if (this.options.remoteSort && this.options.initSort) {
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
+      }
+      if(this.options.sortField){
+        queryParams['sort'] = this.options.sortField;//瀛楁
+      }
+      if(this.options.sortType){
+        queryParams['order'] = this.options.sortType;//鏂规硶
       }
       if (this.options.conditionParams) {
         //璇存槑鏄墿灞曞睘鎬�
@@ -248,24 +256,41 @@
         if(isMutiValue){
           var valueFieldArray = _that.props.value.split(",");
           valueFieldArray.forEach((_itemField,_indexField)=>{
-            value.push( (item[_itemField] || item['data'][_itemField]) + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
+            let itemValue=item[_itemField];
+            if(itemValue==undefined || itemValue == null){
+              itemValue=item['data'][_itemField]
+            }
+            value.push( itemValue + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
           })
         }else {
-          value.push(item[_that.props.value] || item['data'][_that.props.value]);
+          let itemValue=item[_that.props.value];
+          if(itemValue==undefined || itemValue == null){
+            itemValue=item['data'][_that.props.value]
+          }
+          value.push(itemValue);
         }
         if(isMutiRaw) {
           var rawFieldArray = _that.props.label.split(",");
           rawFieldArray.forEach((_itemField,_indexField)=>{
-            text.push((item[_itemField] || item['data'][_itemField]) + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
+            let itemText=item[_itemField];
+            if(itemText==undefined || itemText == null){
+              itemText=item['data'][_itemField]
+            }
+            text.push(itemText + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
           })
         }else{
-          text.push(item[_that.props.label] || item['data'][_that.props.label]);
+          let itemText=item[_that.props.label];
+          if(itemText==undefined || itemText == null){
+            itemText=item['data'][_that.props.label]
+          }
+          text.push(itemText);
         }
       })
 
+      let mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
       this.value=value.join(',');
       this.text=text.join(',')
-      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:this.referConfig.fieldMap});
+      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:mapFields});
       this.visible=false;
     },
     searchReset() {
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
index 7bc31f2..f3044e6 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -88,15 +88,13 @@
   },
   created() {
     this.getParams();
-
-    // console.log('referConfig:')
-    // console.log(this.referConfig)
   },
   mounted() {
-    console.log('referrTable')
     if(this.referConfig.options.page){
-      this.page.pageSize=this.referConfig.options.page.limit || this.referConfig.options.page.pageSize;
-      this.page.currentPage=this.referConfig.options.page.page || this.referConfig.options.page.currentPage;
+      this.page.pageSize=this.referConfig.options.tableConfig.page.limit || this.referConfig.options.tableConfig.page.pageSize;
+      this.page.currentPage=this.referConfig.options.tableConfig.page.page || this.referConfig.options.tableConfig.page.currentPage;
+    }else if(!validatenull(this.referConfig.options.limit)){
+      this.page.pageSize=this.referConfig.options.limit
     }
     this.$nextTick(() => {
       this.$refs.referCrud.doLayout()
@@ -135,6 +133,12 @@
       if (this.options.remoteSort && this.options.initSort) {
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
+      }
+      if(this.options.sortField){
+        queryParams['sort'] = this.options.sortField;//瀛楁
+      }
+      if(this.options.sortType){
+        queryParams['order'] = this.options.sortType;//鏂规硶
       }
       if (this.options.conditionParams) {
         //璇存槑鏄墿灞曞睘鎬�
@@ -241,7 +245,6 @@
         if(!tableConfig){
           this.$message.error( '娌℃湁瀹氫箟鍙傜収鐨勮〃鏍奸厤缃�');
         }
-        this.page.pageSize=tableConfig.page.limit || 10;
         if(!paramsData){
           paramsData = {
             currentUserReferModelKey:this.options.currentUserReferModelKey,
@@ -307,24 +310,40 @@
         if(isMutiValue){
           var valueFieldArray = _that.props.value.split(",");
           valueFieldArray.forEach((_itemField,_indexField)=>{
-            value.push( (item[_itemField] || item['data'][_itemField]) + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
+            let itemValue=item[_itemField];
+            if(itemValue==undefined || itemValue == null){
+              itemValue=item['data'][_itemField]
+            }
+            value.push( itemValue + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
           })
         }else {
-          value.push(item[_that.props.value] || item['data'][_that.props.value]);
+          let itemValue=item[_that.props.value];
+          if(itemValue==undefined || itemValue == null){
+            itemValue=item['data'][_that.props.value]
+          }
+          value.push(itemValue);
         }
         if(isMutiRaw) {
           var rawFieldArray = _that.props.label.split(",");
           rawFieldArray.forEach((_itemField,_indexField)=>{
-            text.push((item[_itemField] || item['data'][_itemField]) + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
+            let itemText=item[_itemField];
+            if(itemText==undefined || itemText == null){
+              itemText=item['data'][_itemField]
+            }
+            text.push(itemText + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
           })
         }else{
-          text.push(item[_that.props.label] || item['data'][_that.props.label]);
+          let itemText=item[_that.props.label];
+          if(itemText==undefined || itemText == null){
+            itemText=item['data'][_that.props.label]
+          }
+          text.push(itemText);
         }
       })
-
+      let mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
       this.value=value.join(',');
       this.text=text.join(',')
-      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:this.referConfig.fieldMap});
+      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:mapFields});
       this.visible=false;
     },
     searchReset() {
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index 16756d9..8247fdc 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -88,6 +88,12 @@
           queryParams[key] = this.options.rootParams[key];
         }
       }
+      if(this.options.sortField){
+        queryParams['sort'] = this.options.sortField;//瀛楁
+      }
+      if(this.options.sortType){
+        queryParams['order'] = this.options.sortType;//鏂规硶
+      }
       if (this.options.conditionParams) {
         //璇存槑鏄墿灞曞睘鎬�
         for (var key in this.options.conditionParams) {
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 52edda4..8fe7297 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1651,7 +1651,6 @@
         } else {
           this.sendGridCodeBasicSec(conditionMaps, true);
         }
-        //console.log(conditionMaps);
       }
     },
     /* 鍏紡缂栬緫妗嗗唴瀹规敼鍙�,瀛愮粍浠剁紪杈戝畬鍏紡涔嬪悗鍐呭鍥炴樉鏃惰皟鐢� */
@@ -1660,12 +1659,12 @@
     },
     /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */
     setReferConfigValue(content) {
-      // console.log(content.referTypeName);
       this.form.referBtmId = content.referType || "";
       this.form.referBtmName = content.referTypeName || content.referType;
       //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉
       let submitFormJson = JSON.stringify(content);
       this.form.referConfig = submitFormJson || "";
+      debugger;
     },
     /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
     echoReferBtmType(content) {
@@ -1677,7 +1676,6 @@
     /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
     /** 淇濆瓨褰撳墠鐖跺垎绫荤爜娈电殑閫変腑琛岋紝骞惰繘琛屽洖鏄� */
     saveSelectedParentClassify() {
-      //console.log(this.parentClsfyParams.parentClassifySelectionList.length);
       if (this.parentClsfyParams.parentClassifySelectionList.length != 1) {
         this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
         return false;
@@ -1745,7 +1743,6 @@
         page.pageSize,
         conditionMaps
       ).then((res) => {
-        //console.log(res.data);
         const data = res.data.data;
         parentClsParam.parentClassifyDataPage.total = data.total;
         parentClsParam.parentClassifyData = data.records;
@@ -1763,7 +1760,6 @@
     /** 鍔犺浇鍒嗙被杩炴帴灞炴�ц〃鏍兼暟鎹� */
     loadlistClassifyLinkAttr() {
       let attrParam = this.selectAttrParams;
-      //console.log(this.currentSelectTreeData);
       this.selectAttrParams.selectAttrOptionLoading = true;
       let conditionMaps = {};
       if (attrParam.selectAttrQeury) {
@@ -1781,7 +1777,6 @@
         this.$nextTick(() => {
           this.$refs[attrParam.ref].doLayout();
         });
-        //console.log(data.data);
         this.selectAttrParams.selectAttrData = data.data;
         this.selectAttrParams.selectAttrOptionLoading = false;
         // 灏嗘悳绱㈡鍐呭缃┖
@@ -1851,13 +1846,11 @@
       this.fixedValueOptionLoading = true;
       gridCodeFixedValue(1, -1, { codeFixedSecOid: row.oid }).then((res) => {
         this.fixedValueData = res.data.data.records;
-        //console.log(this.fixedValueData);
         this.fixedValueOptionLoading = false;
       });
     },
     /** 鍗曞嚮鍥哄畾鐮佹鐨勭爜鍊艰〃涓鏃惰Е鍙戠殑浜嬩欢*/
     selectedCodeValueRow(row) {
-      //console.log(row);
       this.selectedFixedOrCodeclassifyValue = row;
       this.codeFixdForm.id = row.id;
       this.codeFixdForm.description = row.description;
@@ -1893,7 +1886,6 @@
         }
         this.codeClassifyForm.codeClassifySecOid =
           this.codefixedsecOrCodeclassifysec.oid;
-        // console.log(this.codeClassifyForm);
         addSaveCodeClassifyValue(this.codeClassifyForm).then(
           () => {
             this.loadClassifyValueData({
@@ -1918,7 +1910,6 @@
     clearFixedOrClassifyForm(condition) {
       //鐐瑰嚮鍙栨秷鏃舵竻绌鸿〃鍗曚笌褰撳墠閫変腑鐨勭爜鍊硷紝骞剁鐢ㄦ寜閽�
       this.selectedFixedOrCodeclassifyValue = "";
-      //console.log(condition);
       if (condition === "close") {
         this.codeFixdForm = this.$options.data().codeFixdForm;
         this.codeClassifyForm = this.$options.data().codeClassifyForm;
@@ -2471,7 +2462,6 @@
     },
     /** 娣诲姞*/
     rowSave(row, done, loading) {
-      console.log(row);
       add(row).then(
         () => {
           this.onLoad(this.page);
@@ -3151,7 +3141,6 @@
     },
     /** 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��*/
     changeSectypeFormItems(row) {
-      //console.log(row);
       if (
         func.isEmpty(this.enumParam.secTypeList) ||
         this.enumParam.secTypeList.length == 0
@@ -3185,7 +3174,6 @@
           componentCodeFlag: this.form.componentCodeFlag, //鏄惁鍙備笌缂栫爜
           pkCodeRule: this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
         };
-        //console.log(this.form);
       }
       if (this.form.secType === "codefixedsec") {
         //鍥哄畾鐮佹
@@ -3251,8 +3239,6 @@
               ? row.customCodeSerialClass
               : "", //鑷畾涔夋祦姘寸畻娉�
         });
-        console.log(this.form);
-        console.log(this.enumParam.codeFillType);
         this.loadCodeFillType();
         this.loadCodeFillSeparator();
       } else if (this.form.secType === "codelevelsec") {
@@ -3298,7 +3284,6 @@
               : "", //鏃ユ湡鏍煎紡
         });
       } else if (this.form.secType === "codeclassifysec") {
-        //console.log(this.form);
         //鍒嗙被鐮佹
         this.form = Object.assign({}, this.form, {
           codeSecLengthType:
@@ -3341,7 +3326,6 @@
         this.loadCodeFillType();
         this.loadCodeFillSeparator();
       }
-      // console.log(this.form);
     },
     /** 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛�*/
     getLocalStorageEnum(enumKey) {
@@ -3398,7 +3382,6 @@
     },
     // 鏈�澶ф祦姘村彿
     maxSerialNum() {
-      console.log(this.selectionList);
       if (this.selectionList.length === 0) {
         this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒");
         return;
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java
index 529a4ef..729a3ba 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java
@@ -61,13 +61,14 @@
 	 */
 	@PostMapping(INSERT_BATCH_BY_TYPE)
 	R<Integer> insertBatchByType(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels);
+
 	/**
-	 * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩稿叧鏁版嵁杩涜鎵归噺鏇存柊鎿嶄綔
+	 * 鏇存柊涓氬姟鏁版嵁鍚屾椂瀵圭爜鍊艰〃鏁版嵁鎿嶄綔鎺ュ彛
 	 *
 	 * @param btmType 涓氬姟绫诲瀷
 	 * @param baseModels      澶勭悊鏁版嵁
 	 * @return 澶勭悊鐘舵��
 	 */
 	@PostMapping(UPDATE_BATCH_BY_TYPE)
-	R<Integer> updateBatchByType(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels);
+	R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels);
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
index 59c2c3f..a78732c 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
@@ -40,7 +40,8 @@
 	}
 
 	@Override
-	public R<Integer> updateBatchByType(String btmType, List<BaseModel> baseModels) {
+	public R<Integer> updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels) {
 		return R.fail("鏇存柊鏁版嵁澶辫触");
 	}
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
index 1f85f08..0452c25 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -106,7 +106,7 @@
 	public R getApplyGroupCode(DockingReturnStoreVO dockingReturnStoreVO) {
 		log.info("鑾峰彇闆嗗洟闆嗗洟鐮侊紝璧嬪�煎埌涓绘暟鎹� start");
 		try {
-			List<BaseModel> editObjectList = new ArrayList();
+			Map<String,List<BaseModel>> editObjectMap = new HashMap<>();
 
 			List<DockingPreApplyForm> dockingPreApplyFormList = new ArrayList();
 			//String classId = javaObject.getClassId();
@@ -167,18 +167,24 @@
 				if (res) {
 					//姝ゅ闇�瑕佹煡璇笟鍔℃暟鎹紝鍘绘洿鏀�
 					BaseModel baseModel = new BaseModel();
-					baseModel.setId("10" + customCoding);
+					String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
+					if(partCoe.equals(classOid)){
+						baseModel.setId(10+customCoding);
+					}
+					String btmeName=baseModel.getBtmname();
 					baseModel.getData().put("groupcode",customCoding);
 					log.info("鐢宠鍗�:"+applyId+",闆嗗洟鐮侊細"+customCoding+"缂栫爜锛�"+baseModel.getId());
-					editObjectList.add(baseModel);
+					editObjectMap.getOrDefault(btmeName,new ArrayList<>()).add(baseModel);
+
 				}
-				List<String> dataOidList=new ArrayList<>();
-				dataOidList.add(jdataid);
+			}
+			if(!CollectionUtils.isEmpty(editObjectMap)) {
 				//璋冪敤涓绘暟鎹湇鍔℃壒閲忎繚瀛樻帴鍙�
-				mdmEngineClient.updateBatchByType(jdatabtmname,editObjectList);
+				editObjectMap.forEach((btmName, modeList) -> {
+					mdmEngineClient.updateBatchBtypeDatas(btmName, modeList);
+				});
 			}
 			dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
-
 		}catch (Throwable e){
 			e.printStackTrace();
 			return R.fail("闆嗗洟鐮侀泦鎴愯祴鍊煎け璐�"+e);
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
index ae69cc9..b0535f1 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -9,6 +9,8 @@
 import com.vci.ubcs.code.applyjtcodeservice.entity.*;
 import com.vci.ubcs.code.applyjtcodeservice.service.IGroupMdmInterService;
 import com.vci.ubcs.code.applyjtcodeservice.vo.*;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
+import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
 import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider;
 import com.vci.ubcs.code.applyjtcodeservice.mapper.DockingPreAttrMappingMapper;
@@ -168,11 +170,14 @@
 							if (isEditDatas) {
 								if (baseModelMap.containsKey(applyId)) {
 									BaseModel baseModel = baseModelMap.get(applyId);
-									baseModel.getData().getOrDefault("codeclassid","");
+									String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
+									if(partCoe.equals(classOid)){
+										baseModel.setId(10+customCoding);
+									}
 									BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
 									DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
 									DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-									//baseModel.setId(customCoding);
+
 									baseModel.getData().getOrDefault("groupCode", customCoding);
 									updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
 								}
@@ -202,7 +207,7 @@
 					}
 					//淇濆瓨琛ㄥ崟鏁版嵁
 					dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
-					mdmEngineClient.updateBatchByType(btmName, updateCbos);//淇濆瓨鏁版嵁
+					mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//淇濆瓨鏁版嵁
 				}
 				return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
 			} catch (VciBaseException e) {
@@ -212,7 +217,6 @@
 			return R.fail("鐢宠鎺ュ彛寮�鍏冲凡鍏抽棴锛屼笉鐢宠闆嗗洟鐮�");
 		}
 	}
-
 	/***
 	 * 涓绘暟鎹儚闆嗗洟鏇存敼缂栫爜
 	 * @param oids 闇�瑕佷慨鏀圭殑鏁版嵁涓婚敭鏁扮粍
@@ -292,6 +296,10 @@
 							if (baseModelMap.containsKey(applyId)) {
 								BaseModel baseModel = baseModelMap.get(applyId);
 								//BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
+								String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
+								if(partCoe.equals(classOid)){
+									baseModel.setId(10+customCoding);
+								}
 								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
 								//	baseModel.setId(customCoding);
 								baseModel.getData().put("groupCode", customCoding);
@@ -323,7 +331,7 @@
 				}
 				//淇濆瓨琛ㄥ崟鏁版嵁
 				dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
-				mdmEngineClient.updateBatchByType(btmName, updateCbos);//淇濆瓨鏁版嵁
+				mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//淇濆瓨鏁版嵁
 			}
 			return R.success("鏇存柊鎺ュ彛璋冪敤鎴愬姛");
 		} catch (VciBaseException e) {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
index 585558a..61bc9e2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -23,15 +23,18 @@
 @RestController
 @RequestMapping("/codeSyncUniversalController")
 public class CodeSyncUniversalController {
+
 	/**
 	 * 鏃ュ織
 	 */
 	private Logger logger = LoggerFactory.getLogger(getClass());
+
 	/**
 	 * 鎺ュ彛闆嗘垚鏈嶅姟
 	 */
 	@Autowired
 	private UniversalInterfaceI universalInterfaceI;
+
 	/****
 	 * 鐢宠鎺ュ彛
 	 * @param dataString 灞炴�т俊鎭�
@@ -40,8 +43,9 @@
 	 * @throws Throwable
 	 */
 	@PostMapping("/applyCode")
-	public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType)  {
+	public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType, ServletRequest request)  {
 		String result="";
+		HttpServletRequest httpServletRequest = (HttpServletRequest) request;
 		try {
 			result = universalInterfaceI.applyCode(dataString, dataType);
 		}catch (Throwable e){
@@ -50,6 +54,7 @@
 		}
 		return result;
 	}
+
 	/****
 	 * 鏇存柊/鍒犻櫎/鐘舵�佹帴鍙�
 	 * @param dataString 灞炴�т俊鎭�
@@ -68,7 +73,6 @@
 		}
 		return result;
 	}
-
 
 	/****
 	 * 鏌ヨ鍒嗙被鍙�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java
index 5cc9423..761211d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java
@@ -79,7 +79,7 @@
 		}
 	}
 	/**
-	 * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩稿叧鏁版嵁杩涜鎵归噺鎻掑叆鎿嶄綔
+	 * 鏇存柊涓氬姟鏁版嵁鍚屾椂瀵圭爜鍊艰〃鏁版嵁鎿嶄綔鎺ュ彛
 	 *
 	 * @param btmType 涓氬姟绫诲瀷
 	 * @param baseModels      澶勭悊鏁版嵁
@@ -87,9 +87,9 @@
 	 */
 	@Override
 	@PostMapping(UPDATE_BATCH_BY_TYPE)
-	public R<Integer> updateBatchByType(String btmType, List<BaseModel> baseModels) {
+	public R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels){
 		try {
-			return mdmEngineService.updateBatchByBaseModel(btmType,baseModels);
+			return mdmEngineService.updateBatchBtypeDatas(btmType,baseModels);
 		} catch (Exception e) {
 			throw new RuntimeException(e);
 		}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
index b7f5780..b50482a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
@@ -3,7 +3,6 @@
 import org.apache.http.auth.AuthenticationException;
 
 import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
 
 /**
  * 鍏嶅瘑鐧诲綍鏈嶅姟
@@ -21,9 +20,9 @@
 
 	/**
 	 * 鍏嶅瘑鐧诲綍鏂规硶
-	 * @param username 璐﹀彿
+	 * @param userName 璐﹀彿
 	 * @return
 	 */
-	boolean passwordFreeLogin(String username, ServletRequest request) throws AuthenticationException;
+	boolean passwordFreeLogin(String userName, ServletRequest request) throws AuthenticationException;
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
index 3174c1e..6dd6af6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -413,6 +413,15 @@
 	R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels);
 
 	/**
+	 * 鏇存柊涓氬姟鏁版嵁鍚屾椂瀵圭爜鍊艰〃鏁版嵁鎿嶄綔鎺ュ彛
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @param baseModels      澶勭悊鏁版嵁
+	 * @return 澶勭悊鐘舵��
+	 */
+	public R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels);
+
+	/**
 	 * 榛樿鍒楄〃
 	 * @param referConfigVO
 	 * @return
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 389adc9..aa73ec6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -16,6 +16,7 @@
 import com.vci.ubcs.code.enumpack.*;
 import com.vci.ubcs.code.mapper.CommonsMapper;
 import com.vci.ubcs.code.service.*;
+import com.vci.ubcs.code.util.ClientBusinessObject;
 import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
 import com.vci.ubcs.code.vo.CodeReferConfigVO;
 import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
@@ -56,6 +57,7 @@
 import com.vci.ubcs.system.user.feign.IUserClient;
 import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
 import oracle.sql.TIMESTAMP;
+import org.aspectj.apache.bcel.classfile.Code;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springblade.core.cache.utils.CacheUtil;
@@ -3684,8 +3686,67 @@
 
         return R.success("鏇存柊鎴愬姛锛�");
     }
+	/**
+	 * 鏇存柊涓氬姟鏁版嵁鍚屾椂瀵圭爜鍊艰〃鏁版嵁鎿嶄綔鎺ュ彛
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @param baseModels      澶勭悊鏁版嵁
+	 * @return 澶勭悊鐘舵��
+	 */
+	@Transactional(rollbackFor = VciBaseException.class)
+	@Override
+	public R<Integer> updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels) {
 
-    /**
+		//浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+		R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
+		if (!listR.isSuccess() || listR.getData().size() == 0) {
+			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+		}
+		//鑾峰彇褰撳墠涓氬姟绫诲瀷鎵�鏈夊瓧娈电敤鏉ュ仛瀵规瘮
+		R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(btmType);
+		if (!allAttributeByBtmId.isSuccess() || allAttributeByBtmId.getData().getAttributes().size() == 0) {
+			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲瀛楁淇℃伅锛岃妫�鏌ワ紒");
+		}
+		Set<String> existFild = allAttributeByBtmId.getData().getAttributes().stream().map(btmTypeAttributeVO -> {
+			return btmTypeAttributeVO.getId();
+		}).collect(Collectors.toSet());
+		if(!CollectionUtils.isEmpty(baseModels)){
+			List<String> oidList=baseModels.stream().filter(data-> com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(data.getOid())).map(BaseModel::getOid).distinct().collect(Collectors.toList());
+			LambdaQueryWrapper<CodeAllCode> lqw = new LambdaQueryWrapper<>();
+			lqw.in(CodeAllCode::getCreateCodeOid,oidList);
+			List<CodeAllCode> codeAllCodeList= codeAllCodeService.selectByWrapper(lqw);
+			Map<String, CodeAllCode> cboMap = codeAllCodeList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getCreateCodeOid(), t -> t));
+			List<CodeAllCode> newCodeAllCodeList=new ArrayList<>();
+			//灏哹ean杞负map,mybatis缁熶竴澶勭悊
+			List<Map<String, String>> maps = new ArrayList<>();
+			try {
+				baseModels.stream().forEach(baseModel->{
+					String oid=baseModel.getOid();
+					try {
+						maps.add(VciBaseUtil.convertBean2Map(baseModel,existFild));
+					} catch (Exception e) {
+						throw new VciBaseException("绫诲瀷杞崲閿欒锛�" + e.getMessage());
+					}
+					if(cboMap.containsKey(oid)){
+						CodeAllCode codeAllCode=	cboMap.get(oid);
+						codeAllCode.setId(baseModel.getId());
+						codeAllCode.setLastModifier(AuthUtil.getUser().getUserName());
+						codeAllCode.setLastModifyTime(new Date());
+						codeAllCode.setLcStatus(baseModel.getLcStatus());
+						newCodeAllCodeList.add(codeAllCode);
+					}
+				});
+				commonsMapper.updateBatchByBaseModel(listR.getData().get(0).getTableName(), maps);
+				codeAllCodeService.saveOrUpdateBatch(newCodeAllCodeList);
+			} catch (Exception e) {
+				throw new VciBaseException("绫诲瀷杞崲閿欒锛�" + e.getMessage());
+			}
+
+		}
+		return R.success("鏇存柊鎴愬姛锛�");
+	}
+
+	/**
      * 鑾峰彇鍙傜収鐨勪俊鎭�
      *
      * @param referConfigVO 鍙傜収鐨勯厤缃�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index 16ee22f..25953b9 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2494,6 +2494,9 @@
 				//鏄惁璋冪敤闆嗗洟鎺ュ彛鐢宠鎺ュ彛
 				if(isCodeOrGroupCode){
 					List<String> IdList=resultDataObjectDetailDOs.stream().filter(xMLResultDataObjectDetailDO-> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(xMLResultDataObjectDetailDO.getId())).map(XMLResultDataObjectDetailDO::getId).distinct().collect(Collectors.toList());
+
+
+
 					if(!CollectionUtils.isEmpty(IdList)) {
 						this.sendApplyGroupcode(IdList, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue());
 					}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
index fbedf76..1457d0a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -44,10 +44,15 @@
 	// 閫氳繃鏈嶅姟娉ㄥ唽涓績鑾峰彇缃戝叧鐨勭鍙e彿
 	@Autowired
 	private DiscoveryClient discoveryClient;
-	@Value("${user-info.pwd-free-tenant-id}")
+	// 閰嶇疆鐨勫厤瀵嗙櫥褰曠殑璐﹀彿鎵�灞炵殑绉熸埛id
+	@Value("${password-free.pwd-free-tenant-id}")
+	// 閰嶇疆鐨則oken鍦╮edis涓殑鐢熷瓨鏃堕棿
 	private String pwdFreeTenantId;
+	@Value("${password-free.token-redis-expire}")
+	private Long tokenRedisExpire;
 	@Autowired
 	private BladeRedis bladeRedis;
+
 	// 缂撳瓨鍚�
 	public static final String PWD_FREE_LOGIN_TOKEN = "pwdFreeLogin:Token:";
 	private static JwtProperties jwtProperties;
@@ -68,17 +73,17 @@
 
 	/**
 	 * 鍏嶅瘑鐧诲綍锛屾敼鍙樺綋鍓峸ebservice璇锋眰鐨刪eader
-	 * @param username 璐﹀彿
+	 * @param userName 璐﹀彿
 	 * @return
 	 */
 	@Override
-	public boolean passwordFreeLogin(String username, ServletRequest servletRequest) throws AuthenticationException {
+	public boolean passwordFreeLogin(String userName, ServletRequest servletRequest) throws AuthenticationException {
 		//杩涙潵鍏堝垽鏂紦瀛樹腑鏄惁瀛樺湪token
 		// 璇锋眰鏉ヨ嚜宸卞摢涓猧p鍦板潃
 		HttpServletRequest request = (HttpServletRequest) servletRequest;
 		String ipAddr = request.getRemoteAddr();
 		// 鍏堝皾璇曚粠缂撳瓨褰撲腑鍙栵紝瀛樺湪灏辩洿鎺ヤ粠缂撳瓨涓幏鍙�
-		String authToken = bladeRedis.get(PWD_FREE_LOGIN_TOKEN+ipAddr);
+		String authToken = bladeRedis.get(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName);
 		BladeUser user = null;
 		//涓嶅瓨鍦ㄥ氨璇锋眰
 		if(Func.isEmpty(authToken)){
@@ -91,7 +96,7 @@
 			headers.set("Tenant-Id", pwdFreeTenantId);
 			//璁剧疆璇锋眰浣撳弬鏁�
 			MultiValueMap<String,String> parameters = new LinkedMultiValueMap<String,String>();
-			parameters.add("username",username);
+			parameters.add("username",userName);
 			parameters.add("grant_type", "passwordfree");
 			parameters.add("scope", "all");
 			parameters.add("type", "account");
@@ -112,7 +117,7 @@
 			// 鎷兼帴token鏍煎紡
 			authToken = "bearer " + tokenUserObject.getAccess_token();
 			// 灏唗oken瀛樺叆缂撳瓨褰撲腑,杩囨湡鏃堕棿涓�24灏忔椂
-			bladeRedis.setEx(PWD_FREE_LOGIN_TOKEN+ipAddr,"bearer "+tokenUserObject.getAccess_token(),60*60*60*24L);
+			bladeRedis.setEx(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName,"bearer "+tokenUserObject.getAccess_token(),tokenRedisExpire);
 		}
 		// 瑙f瀽token瀛樻斁杩沘ttr涓�
 		String token2 = JwtUtil.getToken(authToken);
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 15415e2..540121c 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
@@ -53,17 +53,16 @@
 import com.vci.ubcs.system.vo.DeptVO;
 import com.vci.ubcs.system.vo.RoleVO;
 import lombok.extern.slf4j.Slf4j;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+
 import javax.annotation.Resource;
 import javax.jws.WebMethod;
-import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Context;
 import javax.xml.ws.WebServiceContext;
 import javax.xml.ws.handler.MessageContext;
 import java.util.*;
@@ -81,20 +80,25 @@
 @Slf4j
 @VciWebservice(path = "/universalInterface")
 public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI {
+
 	@Value("${code.universalinterface.checkSystemConfig:true}")
 	public boolean CODE_CHECKCONFIG;
+
 	@Autowired(required = false)
 	private AttributeMapConfig attributeMapConfig;
+
 	/***
 	 * 浜哄憳鐩稿叧閰嶇疆鏈嶅姟
 	 */
 	@Autowired(required = false)
 	private PersonAndDeptConfig personAndDeptConfig;
+
 	/**
 	 * 缂撳瓨鏈嶅姟
 	 */
 	//@Autowired
 	//private RedisService redisService;
+
 	/**
 	 * 涓婚搴撳垎绫荤殑鏈嶅姟
 	 */
@@ -134,7 +138,6 @@
 	/**
 	 * 瀵嗙骇鐨勬湇鍔�
 	 */
-
 	@Resource
 	private MdmIOService mdmIOService;
 
@@ -164,7 +167,7 @@
 	@WebMethod
 	public HttpServletRequest getRequest() {
 		// 鑾峰彇HttpServletRequest瀵硅薄
-		HttpServletRequest request = (HttpServletRequest) webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
+		HttpServletRequest request = (HttpServletRequest)webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
 		return request;
 	}
 
@@ -210,7 +213,7 @@
 			ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
 			systemId = interParameterVO.getData().getSystemId();
 			UserVO userVo = interParameterVO.getData().getUser();
-			//鍏嶅瘑鐧诲綍鐢宠token锛宧eader寰�token涓坊鍔�
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
 			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			List<ClassfyVO> classVOList = classfysVO.getClassify();
 			InterParameterVO finalInterParameterVO = interParameterVO;
@@ -362,8 +365,6 @@
 		//璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮�
 		return resultStr;
 	}
-
-
 
 	/****
 	 * 浜哄憳鏁版嵁鍚屾
@@ -637,6 +638,7 @@
 
 		return resultOrgData;
 	}
+
 	/****
 	 * 閮ㄩ棬鏁版嵁鍚屾
 	 * @param orgData
@@ -903,6 +905,7 @@
 		}
 		return resultOrgData;
 	}
+
 	/***
 	 * 缁熶竴鏇存柊鎺ュ彛锛堟洿鏀圭姸鎬侊紝鏇存敼灞炴�т俊鎭級鎺ュ彛
 	 * @param data
@@ -947,6 +950,8 @@
 			ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
 			systemId = interParameterVO.getData().getSystemId();
 			UserVO userVo = interParameterVO.getData().getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			List<ClassfyVO> classVOList = classfysVO.getClassify();
 			InterParameterVO finalInterParameterVO = interParameterVO;
 			//杩欐槸璐﹀彿淇℃伅
@@ -1118,6 +1123,8 @@
 			}
 			QueryData queryData=queryClassifyVO.getData();
 			UserVO userVo=queryData.getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			systemId=queryData.getSystemId();
 			QueryLibraryVO libraryVO= queryData.getLibrary();
 			String libId= libraryVO.getId();
@@ -1276,6 +1283,8 @@
 			CondtionsVO condtionsVO=dataCondtionsVO.getCondtions();
 			systemId=condtionsVO.getSystemId();
 			UserVO userVo=condtionsVO.getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			CondtionVO condtionVO= condtionsVO.getCondtion();
 			SessionInfo sessionInfo = new SessionInfo();
 			sessionInfo.setUserId(userVo.getUserName());
@@ -1452,8 +1461,6 @@
 		return resultStr;
 	}
 
-
-
 	@Override
 	public String queryClassifyRule(String data, String dataType) throws Throwable {
 
@@ -1492,6 +1499,8 @@
 			}
 			QueryData queryData=queryClassifyVO.getData();
 			UserVO userVo=queryData.getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			systemId=queryData.getSystemId();
 			QueryLibraryVO libraryVO= queryData.getLibrary();
 			String libId= libraryVO.getId();

--
Gitblit v1.9.3