From 4cf1a8984c27fd4449fa6149a7374dcfff5cf361 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 21 九月 2023 11:40:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/SystemClassifyRoleMapper.xml                                        |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/apply/ApplyDataVO.java             |   54 ++
 Source/UBCS-WEB/src/views/integration/systemInfo.vue                                                                             |   74 ++
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue                                                                      |   19 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ProppertyBZVO.java         |   56 ++
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue                                                                     |   45 -
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZVO.java             |   55 ++
 Source/UBCS-WEB/src/api/integration/sysInfo.js                                                                                   |    8 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java         |   43 +
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue                                                                        |   15 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/xml/XMLResultClassfyVO.java |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java                      |  130 +++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java           |   25 
 Source/UBCS-WEB/src/page/login/userlogin.vue                                                                                     |    9 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java                   |   26 
 Source/UBCS-WEB/src/components/FormTemplate/index.vue                                                                            |    5 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZParamVO.java        |   17 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java           |   73 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java                              |   72 +-
 Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue                                                           |  586 +++++++++++-----------
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDatasVO.java        |   28 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java              |    1 
 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue                                                                         |   40 +
 Source/UBCS-WEB/src/page/login/sso.vue                                                                                           |   63 -
 24 files changed, 975 insertions(+), 473 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/integration/sysInfo.js b/Source/UBCS-WEB/src/api/integration/sysInfo.js
index 6292caa..9090647 100644
--- a/Source/UBCS-WEB/src/api/integration/sysInfo.js
+++ b/Source/UBCS-WEB/src/api/integration/sysInfo.js
@@ -36,3 +36,11 @@
       params: params
     })
   }
+//鍒嗙被鎺堟潈鏍�
+export const sysInfoTree = (params) => {
+  return request({
+    url: '/api/ubcs-code/codeApplyWebManagementController/getSystemClassifyRoleTree',
+    method: 'get',
+    params: params
+  })
+}
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index a5cb7ef..3e341d5 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -129,7 +129,7 @@
   },
   created() {
 
-    },
+  },
   computed: {
     localTrendsSpan() {
       if (this.trendsSpan) {
@@ -154,7 +154,6 @@
       handler(newval,oldval){
         if(newval){
           this.TreeValueForm=newval;
-          // console.log(this.TreeValueForm)
         }
       },
       deep:true,
@@ -167,23 +166,18 @@
       if (this.eventList) {
         this.eventFlag= this.eventList.some(item => {
           if (item.classifyInvokeEditFlag === 'true') {
-            console.log('even', item);
             this.eventObject = item;
             return true;
           }
         });
-        // console.log('add',add)
       }
       // 鏃犻渶鍒嗙粍鏁版嵁
       let column = [];
       let group = [];
       let dictKeys = [];
       let slotColumnList = [];
-      let value=''
       formItemList.forEach((formItem) => {
         formItem = this.resetFormConfig(formItem);
-        console.log(formItem)
-        // console.log('formItem.dicData.value',formItem.dicData)
         if (formItem.type === "line") {
           group.push({
             label: formItem.text,
@@ -252,19 +246,19 @@
           referConfig:
             formItem.type == "refer"
               ? {
-                  title: formItem.text,
-                  showField: formItem.showField || formItem.field,
-                  field: formItem.field,
-                  fieldMap:formItem.fieldMap || {fieldMapKey:'id'},
-                  placeholder: formItem.inputTip,
-                  options: formItem.referConfig
-                }
+                title: formItem.text,
+                showField: formItem.showField || formItem.field,
+                field: formItem.field,
+                fieldMap:formItem.fieldMap || {fieldMapKey:'id'},
+                placeholder: formItem.inputTip,
+                options: formItem.referConfig
+              }
               : {},
           span: formItem.span
             ? formItem.span
             : formItem.type === "textarea"
-            ? 24
-            : this.localTrendsSpan,
+              ? 24
+              : this.localTrendsSpan,
           rules: [
             {
               required: formItem.required,
@@ -283,9 +277,7 @@
             value: "key",
           },
         };
-        // console.log('columnItem',columnItem)
         slotColumnList.push(columnItem);
-        // console.log('slotColumnList',slotColumnList)
         if (group.length === 0) {
           column.push(columnItem);
         } else {
@@ -307,7 +299,6 @@
     },
     // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
     resetFormConfig(formItem) {
-      // console.log(this.selfColumnConfig)
       for (const configType in this.selfColumnConfig) {
         if (Object.hasOwnProperty.call(this.selfColumnConfig, configType)) {
           const element = this.selfColumnConfig[configType];
@@ -323,9 +314,6 @@
               if (Object.hasOwnProperty.call(element, newAttr)) {
                 const oldAttr = element[newAttr];
                 formItem[newAttr] = formItem[oldAttr];
-                // console.log(formItem)
-                // console.log(newAttr,oldAttr)
-                // console.log(formItem[newAttr],formItem[oldAttr])
               }
             }
           } else if (configType === "directVoluation") {
@@ -416,7 +404,7 @@
       );
     },
     setReferValue(data) {
-      // console.log(data)
+      debugger;
       if (data.field) {
         this.form[data.field] = data.value || "";
         this.form[data.showField] = data.text || "";
@@ -430,21 +418,24 @@
               if (!_item.attributes) {
                 _item.attributes = _item;
               }
+              if (!_item.attributes.data) {
+                _item.attributes.data = {};
+              }
               if (mapFields.length == 1) {
                 var mapField = mapFields[0];
                 if (mapField.indexOf("attribute.") > -1) {
-                  temp = _item['attributes'][mapField.subString("attribute.".length)];
+                  temp = _item['attributes'][mapField.subString("attribute.".length)] || _item['attributes']['data'][mapField.subString("attribute.".length)];
                 } else {
-                  temp = _item['attributes'][mapField] || _item[mapField];
+                  temp = _item['attributes'][mapField] ||_item['attributes']['data'][mapField] || _item[mapField];
                 }
               } else {
                 //鏈夊涓�
                 var mutiTemp = [];
                 layui.each(mapFields, function (_indexField, _itemField) {
                   if (_itemField.indexOf("attribute.") > -1) {
-                    mutiTemp.push(_item['attributes'][_itemField.subString("attribute.".length)]);
+                    mutiTemp.push(_item['attributes'][_itemField.subString("attribute.".length)] || _item['attributes']['data'][_itemField.subString("attribute.".length)]);
                   } else {
-                    mutiTemp.push(_item['attributes'][_itemField] || _item[_itemField]);
+                    mutiTemp.push(_item['attributes'][_itemField] || _item['attributes']['data'][_itemField] || _item[_itemField]);
                   }
                 });
                 temp = mutiTemp.join(' ');
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 7c5fdee..886ce91 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -253,7 +253,6 @@
             } else {
               this.showResembleQuery = false;
             }
-            // console.log(this.hasResemble, "this.hasResemblethis.hasResemble");
             this.$nextTick(() => {
               this.$refs.FormTemplate.templateRender(
                 res.data.formDefineVO.items
@@ -306,8 +305,6 @@
             that.showCodeApply = false;
           }
         }
-        // console.log(' this.secVOList',that.secVOList)
-        // console.log(' res.data.data.secVOList',res.data.data.secVOList)
       });
     },
     getFormData(form) {
@@ -484,8 +481,6 @@
       } else if (item.secType == "coderefersec") {
         //寮曠敤鐮佹
         params = JSON.parse(item.referValueInfo);
-        // console.log('item',item)
-        console.log('params',params)
       }
       return params;
     },
diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
index b29e4d0..e389526 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
@@ -1,302 +1,304 @@
 <template>
-    <el-dialog title="鏈�澶ф祦姘村彿" width="30%" append-to-body="true" class="avue-dialog avue-dialog--top" top="-3%" :visible.sync="dialogVisible">
-        <el-form :label-position="right" ref="ruleForm" label-width="80px" :model="formModel" :rules="rules">
-            <el-form-item label="娴佹按鍙�" prop="maxSecNum">
-                <el-input v-model="formModel.maxSecNum"></el-input>
-            </el-form-item>
-        </el-form>
-        <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
-            <el-tab-pane label="鏈�澶ф祦姘村彿" name="codeApply">
-                <form-template v-bind="$attrs" type="add" :selfColumnType="selfColumnType" :trendsSpan="24"
-                    :selfColumnConfig="selfColumnConfig" ref="CodeApply" @getFormData="getCodeApplyFormData"
-                    @referConfigDataUpdate="referConfigDataUpdate"></form-template>
-            </el-tab-pane>
-        </el-tabs>
-        <div slot="footer" class="dialog-footer">
-            <el-button @click="cancel">鍙� 娑�</el-button>
-            <el-button type="primary" :loading="confirmLoadding" @click="comfirm">纭� 瀹�</el-button>
-        </div>
-    </el-dialog>
+  <el-dialog title="鏈�澶ф祦姘村彿" width="30%" append-to-body="true" class="avue-dialog avue-dialog--top" top="-3%" :visible.sync="dialogVisible">
+    <el-form :label-position="right" ref="ruleForm" label-width="80px" :model="formModel" :rules="rules">
+      <el-form-item label="娴佹按鍙�" prop="maxSecNum">
+        <el-input v-model="formModel.maxSecNum"></el-input>
+      </el-form-item>
+    </el-form>
+    <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
+      <el-tab-pane label="鏈�澶ф祦姘村彿" name="codeApply">
+        <form-template v-bind="$attrs" type="add" :selfColumnType="selfColumnType" :trendsSpan="24"
+                       :selfColumnConfig="selfColumnConfig" ref="CodeApply" @getFormData="getCodeApplyFormData"
+                       @referConfigDataUpdate="referConfigDataUpdate"></form-template>
+      </el-tab-pane>
+    </el-tabs>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="cancel">鍙� 娑�</el-button>
+      <el-button type="primary" :loading="confirmLoadding" @click="comfirm">纭� 瀹�</el-button>
+    </div>
+  </el-dialog>
 </template>
 <script>
 import FormTemplate from "@/components/FormTemplate/FormTemplate";
 import { getCodePrice, saveMaxSerialNum } from "@/api/code/maxSerialNum.js"
 export default {
-    name: 'maxSerialnumDialog',
-    components: {
-        FormTemplate
+  name: 'maxSerialnumDialog',
+  components: {
+    FormTemplate
+  },
+  props: {
+    // 鏄惁鎵撳紑
+    visible: {
+      typeof: Boolean,
+      default: false
     },
-    props: {
-        // 鏄惁鎵撳紑
-        visible: {
-            typeof: Boolean,
-            default: false
-        },
-        // ruleOid
-        ruleOid: {
-            typeof: String,
-            default: ""
-        }
-    },
-    watch: {
-        visible(n) {
-            this.dialogVisible = n;
-        },
-        dialogVisible(n) {
-            this.$emit('update:visible', n)
-            if (n) this.apiGetCode()
-        },
-        selfColumnConfig: {
-            handler(newval) {
-                // console.log('selfColumnConfig', newval)
-            },
-            immediate: true,
-            deep: true
-        }
-    },
-    data() {
-        return {
-            dialogVisible: this.visible,
-            activeName: 'codePrice',
-            confirmLoadding: false,
-            codeApplyForm: {},
-            secVOList: [],
-            formModel: {
-                maxSecNum: '',
-                codeRuleOid: '',
-                secDTOList: []
-            },
-            rules: {
-                maxSecNum: [
-                    { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' }
-                ],
-            },
-            selfColumnType: {
-              codefixedsec: "combox",//鍥哄畾鐮佹
-              codeclassifysec: "refer",//鍒嗙被鐮佹
-              codevariablesec: "text",//鍙彉鐮佹
-              coderefersec: "refer",//寮曠敤鐮佹
-              codeattrsec: "text",
-              codelevelsec: "text",
-              codedatesec: "date"
-            },
-            selfColumnConfig: {
-                function: {
-                    required: this.isRequired,
-                    dicData: this.getOptionList,
-                    type: this.getType,
-                    referConfig: this.getReferConfig,
-                    readOnly: this.getDisabled,
-                },
-                exchange: {
-                    text: "name",
-                    field: "oid",
-                    prop: "oid",
-                    showField: "name",
-                    parentClassifySecOid: "parentClassifySecOid",
-                    label: "name",
-                    maxlength: "codeSecLength",
-                    data: "fixedValueVOList",
-                    dateFormate: "codeDateFormatStr"
-                },
-                directVoluation: {
-                    search: true,
-                    props: {
-                        label: "id",
-                        value: "id",
-                    },
-                },
-            },
-        }
-    },
-    methods: {
-        // 鑾峰彇鐮佹
-        async apiGetCode() {
-            this.activeName = "codeApply";
-            const response = await getCodePrice({ ruleOid: this.ruleOid })
-            const res = response.data
-            if (res.success && res.code === 200) {
-                const typeList = [
-                    "codefixedsec",
-                    "codeclassifysec",
-                    "codevariablesec",
-                    "coderefersec",
-                    "codeattrsec",
-                    "codelevelsec",
-                    "codedatesec"
-                ];
-                this.secVOList = (res.data.secVOList || []).filter((item) =>
-                    typeList.includes(item.secType)
-                );
-                if (this.secVOList.length > 0) {
-                    this.$nextTick(() => {
-                        this.$refs.CodeApply.templateRender(this.secVOList);
-                    });
-                } else {
-                  this.$refs.CodeApply.loading = false;
-                }
-            }
-        },
-        handleClick(tab, event) {
-            // console.log(event)
-        },
-        getCodeApplyFormData(codeApplyForm) {
-            this.codeApplyForm = codeApplyForm;
-        },
-        // 鍙栨秷
-        cancel() {
-            this.dialogVisible = false
-            this.formModel['secDTOList'] = []
-            this.formModel['codeRuleOid'] = ''
-            this.formModel['maxSecNum'] = ''
-            this.$refs.ruleForm.clearValidate('maxSecNum')
-
-        },
-        // 纭
-        async comfirm() {
-            const objcodekey = Object.keys(this.codeApplyForm)
-            const filteredObj = objcodekey.reduce((acc, key) => {
-                const pattern = /[\u4e00-\u9fa5]/; // 鍖归厤涓枃瀛楃鐨勬鍒欒〃杈惧紡
-                const patterns = /\$/;
-                if (!pattern.test(key)&&!patterns.test(key)) {
-                    acc[key] = this.codeApplyForm[key];
-                }
-                return acc;
-            }, {});
-
-            const arrCode = Object.entries(filteredObj).map(([key, value]) => {
-                return {
-                    secOid: key,
-                    secValue: value
-                }
-            })
-            this.formModel['secDTOList'] = arrCode
-            this.formModel['codeRuleOid'] = this.ruleOid
-            this.confirmLoadding = true
-            const rule = await this.$refs.CodeApply.validate()
-            this.$refs.ruleForm.validate(res => {
-                if (rule && res) {
-                    saveMaxSerialNum(this.formModel).then(res => {
-                        if (res.data.success) {
-                            this.$message.success('鎿嶄綔鎴愬姛锛�');
-                            this.confirmLoadding = false
-                            this.cancel()
-                        }
-                    }).catch(error=>{
-                      this.confirmLoadding = false
-                    })
-                } else {
-                    this.confirmLoadding = false
-                }
-            })
-
-        },
-        // 鍙傜収缁勪欢鏁版嵁鍙樻洿
-        referConfigDataUpdate(data) {
-            const { field } = data;
-            this.secVOList = this.secVOList.map((item) => {
-                if (item.parentClassifySecOid === field) {
-                    this.$refs.CodeApply.form[item.oid] = undefined;
-                    this.$refs.CodeApply.form[item.name] = undefined;
-                }
-                return item;
-            });
-            this.$refs.CodeApply.templateRender(this.secVOList);
-        },
-        isRequired(item) {
-            return item.nullableFlag != "true";
-        },
-        getType(item) {
-            return this.selfColumnType[item.secType];
-        },
-        getDisabled(item) {
-            if (item.secType === "codeclassifysec") {
-                if (item.parentClassifySecOid) {
-                    if (!this.codeApplyForm[item.parentClassifySecOid]) {
-                        return true;
-                    } else {
-                        return false;
-                    }
-                }
-            }
-        },
-        getReferConfig(item) {
-            let params = {};
-            if (item.secType == "codeclassifysec") {
-                params = {
-                    isMuti: false,
-                    valueField: 'id',
-                    type: "grid",
-                    tableConfig: {
-                        limit: -1,
-                        cols: [
-                            {
-                                field: "id",
-                                title: "鑻辨枃鍚嶇О",
-                                sort: true,
-                                width: 150,
-                            },
-                            {
-                                field: "name",
-                                title: "涓枃鍚嶇О",
-                                sort: true,
-                                width: 150,
-                            },
-                            {
-                                field: "description",
-                                title: "鎻忚堪",
-                                width: 250,
-                            },
-                        ],
-                        queryColumns: [
-                            {
-                                field: "id",
-                                title: "鑻辨枃鍚嶇О",
-                            },
-                            {
-                                field: "name",
-                                title: "涓枃鍚嶇О",
-                            },
-                        ],
-                    },
-                    url: "api/ubcs-code/ubcs-code/mdmEngineController/listCodeClassifyValueBySecOid",
-                    extraParams: {
-                        classifySecOid: item.oid,
-                        parentClassifyValueOid: item.parentClassifySecOid
-                            ? this.codeApplyForm[item.parentClassifySecOid]
-                            : "",
-                    },
-                };
-            } else if (item.secType == "coderefersec") {
-                params = JSON.parse(item.referValueInfo);
-            }
-            // console.log(params)
-            return params;
-
-        },
-        getOptionList(item) {
-            if (
-                Array.isArray(item.fixedValueVOList) &&
-                item.fixedValueVOList.length > 0
-            ) {
-                const configAttr = {
-                    key: "id",
-                    value: "id",
-                };
-                const optionList = item.fixedValueVOList.map((item) => {
-                    for (const key in configAttr) {
-                        if (Object.hasOwnProperty.call(configAttr, key)) {
-                            const element = configAttr[key];
-                            item[key] = item[element];
-                        }
-                    }
-                    return item;
-                });
-                return optionList;
-            } else {
-                return [];
-            }
-        },
+    // ruleOid
+    ruleOid: {
+      typeof: String,
+      default: ""
     }
+  },
+  watch: {
+    visible(n) {
+      this.dialogVisible = n;
+    },
+    dialogVisible(n) {
+      this.$emit('update:visible', n)
+      if (n) this.apiGetCode()
+    },
+    selfColumnConfig: {
+      handler(newval) {
+        // console.log('selfColumnConfig', newval)
+      },
+      immediate: true,
+      deep: true
+    }
+  },
+  data() {
+    return {
+      dialogVisible: this.visible,
+      activeName: 'codePrice',
+      confirmLoadding: false,
+      codeApplyForm: {},
+      secVOList: [],
+      formModel: {
+        maxSecNum: '',
+        codeRuleOid: '',
+        secDTOList: []
+      },
+      rules: {
+        maxSecNum: [
+          { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' }
+        ],
+      },
+      selfColumnType: {
+        codefixedsec: "combox",//鍥哄畾鐮佹
+        codeclassifysec: "refer",//鍒嗙被鐮佹
+        codevariablesec: "text",//鍙彉鐮佹
+        coderefersec: "refer",//寮曠敤鐮佹
+        codeattrsec: "text",
+        codelevelsec: "text",
+        codedatesec: "date"
+      },
+      selfColumnConfig: {
+        function: {
+          required: this.isRequired,
+          dicData: this.getOptionList,
+          type: this.getType,
+          referConfig: this.getReferConfig,
+          readOnly: this.getDisabled,
+        },
+        exchange: {
+          text: "name",
+          field: "oid",
+          prop: "oid",
+          showField: "name",
+          parentClassifySecOid: "parentClassifySecOid",
+          label: "name",
+          maxlength: "codeSecLength",
+          data: "fixedValueVOList",
+          dateFormate: "codeDateFormatStr"
+        },
+        directVoluation: {
+          search: true,
+          props: {
+            label: "id",
+            value: "id",
+          },
+        },
+      },
+    }
+  },
+  methods: {
+    // 鑾峰彇鐮佹
+    async apiGetCode() {
+      this.activeName = "codeApply";
+      const response = await getCodePrice({ ruleOid: this.ruleOid })
+      const res = response.data
+      if (res.success && res.code === 200) {
+        const typeList = [
+          "codefixedsec",
+          "codeclassifysec",
+          "codevariablesec",
+          "coderefersec",
+          "codeattrsec",
+          "codelevelsec",
+          "codedatesec"
+        ];
+        this.secVOList = (res.data.secVOList || []).filter((item) =>
+          typeList.includes(item.secType)
+        );
+        if (this.secVOList.length > 0) {
+          this.$nextTick(() => {
+            this.$refs.CodeApply.templateRender(this.secVOList);
+          });
+        } else {
+          this.$refs.CodeApply.loading = false;
+        }
+      }
+    },
+    handleClick(tab, event) {
+      // console.log(event)
+    },
+    getCodeApplyFormData(codeApplyForm) {
+      this.codeApplyForm = codeApplyForm;
+    },
+    // 鍙栨秷
+    cancel() {
+      this.dialogVisible = false
+      this.formModel['secDTOList'] = []
+      this.formModel['codeRuleOid'] = ''
+      this.formModel['maxSecNum'] = ''
+      this.$refs.ruleForm.clearValidate('maxSecNum')
+
+    },
+    // 纭
+    async comfirm() {
+      const objcodekey = Object.keys(this.codeApplyForm)
+      const filteredObj = objcodekey.reduce((acc, key) => {
+        const pattern = /[\u4e00-\u9fa5]/; // 鍖归厤涓枃瀛楃鐨勬鍒欒〃杈惧紡
+        const patterns = /\$/;
+        if (!pattern.test(key)&&!patterns.test(key)) {
+          acc[key] = this.codeApplyForm[key];
+        }
+        return acc;
+      }, {});
+
+      const arrCode = Object.entries(filteredObj).map(([key, value]) => {
+        return {
+          secOid: key,
+          secValue: value
+        }
+      })
+      this.formModel['secDTOList'] = arrCode
+      this.formModel['codeRuleOid'] = this.ruleOid
+      this.confirmLoadding = true
+      const rule = await this.$refs.CodeApply.validate()
+      this.$refs.ruleForm.validate(res => {
+        if (rule && res) {
+          saveMaxSerialNum(this.formModel).then(res => {
+            if (res.data.success) {
+              this.$message.success('鎿嶄綔鎴愬姛锛�');
+              this.confirmLoadding = false
+              this.cancel()
+            }
+          }).catch(error=>{
+            this.confirmLoadding = false
+          })
+        } else {
+          this.confirmLoadding = false
+        }
+      })
+
+    },
+    // 鍙傜収缁勪欢鏁版嵁鍙樻洿
+    referConfigDataUpdate(data) {
+      const {field} = data;
+      this.secVOList = this.secVOList.map((item) => {
+        if (item.parentClassifySecOid === field) {
+          this.$refs.CodeApply.form[item.oid] = undefined;
+          this.$refs.CodeApply.form[item.name] = undefined;
+          item.readOnly = false;
+          item.referConfig.extraParams.parentClassifyValueOid = data.value;
+        }
+        return item;
+      });
+      this.$refs.CodeApply.templateRender(this.secVOList);
+    },
+    isRequired(item) {
+      return item.nullableFlag != "true";
+    },
+    getType(item) {
+      return this.selfColumnType[item.secType];
+    },
+    getDisabled(item) {
+      if (item.secType === "codeclassifysec") {
+        if (item.parentClassifySecOid) {
+          if (!this.codeApplyForm[item.parentClassifySecOid]) {
+            return true;
+          } else {
+            return false;
+          }
+        }
+      }
+    },
+    getReferConfig(item) {
+      let params = {};
+      if (item.secType == "codeclassifysec") {
+        params = {
+          isMuti: false,
+          valueField: 'id',
+          type: "grid",
+          tableConfig: {
+            limit: -1,
+            cols: [
+              {
+                field: "id",
+                title: "鑻辨枃鍚嶇О",
+                sort: true,
+                width: 150,
+              },
+              {
+                field: "name",
+                title: "涓枃鍚嶇О",
+                sort: true,
+                width: 150,
+              },
+              {
+                field: "description",
+                title: "鎻忚堪",
+                width: 250,
+              },
+            ],
+            queryColumns: [
+              {
+                field: "id",
+                title: "鑻辨枃鍚嶇О",
+              },
+              {
+                field: "name",
+                title: "涓枃鍚嶇О",
+              },
+            ],
+          },
+          url: "api/ubcs-code/ubcs-code/mdmEngineController/listCodeClassifyValueBySecOid",
+          extraParams: {
+            classifySecOid: item.oid,
+            parentClassifyValueOid: item.parentClassifySecOid
+              ? this.codeApplyForm[item.parentClassifySecOid]
+              : "",
+          },
+        };
+      } else if (item.secType == "coderefersec") {
+        params = JSON.parse(item.referValueInfo);
+      }
+      // console.log(params)
+      return params;
+
+    },
+    getOptionList(item) {
+      if (
+        Array.isArray(item.fixedValueVOList) &&
+        item.fixedValueVOList.length > 0
+      ) {
+        const configAttr = {
+          key: "id",
+          value: "id",
+        };
+        const optionList = item.fixedValueVOList.map((item) => {
+          for (const key in configAttr) {
+            if (Object.hasOwnProperty.call(configAttr, key)) {
+              const element = configAttr[key];
+              item[key] = item[element];
+            }
+          }
+          return item;
+        });
+        return optionList;
+      } else {
+        return [];
+      }
+    },
+  }
 }
 </script>
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index c088933..fb07d01 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -30,8 +30,6 @@
     </el-dialog>
 
     <avue-input v-model="text" :disabled="disabled" :placeholder="title" @click="!disabled && (visible=true)"></avue-input>
-    <!--<avue-input-table ref="referTable"  :props="props"  :column="column" :on-load="onLoad" v-model="value"  :placeholder="title" ></avue-input-table>
-  -->
   </div>
 </template>
 
@@ -91,6 +89,8 @@
       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
+    }else if(!validatenull(this.referConfig.options.tableConfig.limit)){
+      this.page.pageSize=this.referConfig.options.tableConfig.limit
     }
   },
   computed:{
@@ -122,7 +122,7 @@
         queryParams['referBo'] = this.options['referBo'] || this.options['referType'];
       }
       queryParams['referType'] = queryParams['referBo']
-      if (this.options.remoteSort && this.options.initSort) {
+      if (this.options.initSort) {
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
       }
@@ -286,11 +286,14 @@
           text.push(itemText);
         }
       })
-      let mapFields;
-      if (this.options.mapFields == "") {
-        mapFields = this.referConfig.fieldMap;
-      } else {
-        mapFields = Object.assign(this.referConfig.fieldMap, JSON.parse(this.options.mapFields));
+
+      let mapFields =this.referConfig.fieldMap || {};
+      try {
+        if(!validatenull(this.options.mapFields)){
+          mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+        }
+      }catch (e) {
+
       }
       this.value=value.join(',');
       this.text=text.join(',')
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
index f3044e6..65775e1 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -33,8 +33,6 @@
     </el-dialog>
 
     <avue-input v-model="text" :disabled="disabled" :placeholder="title" @click="!disabled && (visible=true)"></avue-input>
-    <!--<avue-input-table ref="referTable"  :props="props"  :column="column" :on-load="onLoad" v-model="value"  :placeholder="title" ></avue-input-table>
-  -->
   </div>
 </template>
 
@@ -95,6 +93,8 @@
       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
+    }else if(!validatenull(this.referConfig.options.tableConfig.limit)){
+      this.page.pageSize=this.referConfig.options.tableConfig.limit
     }
     this.$nextTick(() => {
       this.$refs.referCrud.doLayout()
@@ -130,7 +130,7 @@
         queryParams['referBo'] = this.options['referBo'] || this.options['referType'];
       }
       queryParams['referType']= queryParams['referBo']
-      if (this.options.remoteSort && this.options.initSort) {
+      if (this.options.initSort) {
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
       }
@@ -340,7 +340,14 @@
           text.push(itemText);
         }
       })
-      let mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+      let mapFields =this.referConfig.fieldMap || {};
+      try {
+        if(!validatenull(this.options.mapFields)){
+          mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+        }
+      }catch (e) {
+
+      }
       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:mapFields});
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index 8247fdc..fa3ea8d 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -1,5 +1,5 @@
 <template>
-  <avue-input-tree ref="referTree" :props="props" :disabled="disabled" :lazy="lazy" :tree-load="treeLoad" :node-click="nodeClick" :checked="checked" :leaf-only="referConfig.onlyLeaf" :multiple="isMuti" v-model="value" :placeholder="title" :dic="treeData"></avue-input-tree>
+  <avue-input-tree ref="referTree" :props="props" :disabled="disabled" :lazy="lazy" :tree-load="treeLoad" :node-click="nodeClick" :checked="checked" :blur="valueChange" :leaf-only="referConfig.onlyLeaf" :multiple="isMuti" v-model="value" :placeholder="title" :dic="treeData"></avue-input-tree>
 </template>
 
 <script>
@@ -25,7 +25,7 @@
       },
       treeUrl: this.referConfig.options.url || '/api/ubcs-code/mdmEngineController/defaultReferTree',
       treeData: [],
-      selectionList: [],
+      checkedData:[],
       currentNode:{},
       params: {},
       loadType: {'all': 'all', 'node': 'node'},
@@ -34,8 +34,6 @@
   },
   created() {
     this.getParams();
-    // console.log('referConfig:')
-    // console.log(this.referConfig)
   },
   mounted() {
     if(!this.lazy){
@@ -79,20 +77,20 @@
       queryParams['loadType'] = this.options.loadType;
       queryParams['multipleSelect'] = this.isMuti;
       queryParams['isMuti'] = queryParams['multipleSelect'];
-      if (this.options.remoteSort && this.options.initSort) {
+      if (this.options.initSort) {
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
-      }
-      if (this.options.rootParams) {
-        for (var key in this.options.rootParams) {
-          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.rootParams) {
+        for (var key in this.options.rootParams) {
+          queryParams[key] = this.options.rootParams[key];
+        }
       }
       if (this.options.conditionParams) {
         //璇存槑鏄墿灞曞睘鎬�
@@ -125,7 +123,6 @@
           queryParams['replaceMap["' + key + '"]'] = this.options.replaceParams[key];//鏂扮殑鏂瑰紡
         }
       }
-      queryParams['parentValue']='\\IN(SELECT oid from PL_CODE_CLASSIFY where id =\'hesuanfenlei\')'
       this.params=queryParams;
 
     },
@@ -179,9 +176,14 @@
       if(!this.isMuti) {
         this.setValue({checkedNodes:[data]})
       }
-     },
+    },
     checked(checkedNode, checkedData) {
-      this.setValue(checkedData)
+      this.checkedData=checkedData
+    },
+    valueChange(){
+      if(this.isMuti){
+        // this.setValue(this.checkedData)
+      }
     },
     setValue:function (checkedData){
       var value = [];
@@ -201,8 +203,16 @@
         }
         text.push(tempRaw.join(textSep));
       }
+      let mapFields =this.referConfig.fieldMap || {};
+      try {
+        if(!validatenull(this.options.mapFields)){
+          mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+        }
+      }catch (e) {
+
+      }
       this.value = value.join(',');
-      this.text = text.join(',')
+      this.text = text.join(',');
       this.$emit("setValue", {
         field: this.referConfig.field,
         showField: this.referConfig.showField,
@@ -210,7 +220,7 @@
         text: this.text || '',
         isTreeMuti:this.isMuti,
         rawData: checkedData.checkedNodes,
-        fieldMap:this.referConfig.fieldMap
+        fieldMap:mapFields
       });
     }
   },
diff --git a/Source/UBCS-WEB/src/page/login/sso.vue b/Source/UBCS-WEB/src/page/login/sso.vue
index 5521ac4..3565fc3 100644
--- a/Source/UBCS-WEB/src/page/login/sso.vue
+++ b/Source/UBCS-WEB/src/page/login/sso.vue
@@ -1,5 +1,5 @@
 <template>
-  <p>娴嬭瘯</p>
+
 </template>
 
 <script>
@@ -10,56 +10,25 @@
 export default {
   name: "sso",
   data() {
-    return {
-      loginForm:{
-        //绉熸埛ID
-        tenantId: "",
-        //閮ㄩ棬ID
-        deptId: "",
-        //瑙掕壊ID
-        roleId: "",
-        //鐢ㄦ埛鍚�
-        username: "",
-        //瀵嗙爜
-        password: "",
-        selectInput: '',
-        //涓嬫媺input鏁版嵁
-        value: '绠$悊缁�',
-        //涓嬫媺鑿滃崟
-        region: [],
-        //璐﹀彿绫诲瀷
-        type: "account",
-        //楠岃瘉鐮佺殑绱㈠紩
-        key: "",
-        //棰勫姞杞界櫧鑹茶儗鏅�
-        image: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
-
-      },
-    }
+    return {}
   },
-  computed: {
-    ...mapGetters(["tagWel", "userInfo"])
-  },
+  computed: {},
   created() {
-
+    this.onLoad()
   },
   methods: {
-    // Onload() {
-    //   let name = 'pwdfree'
-    //   oaSsos(name).then(res=>{
-    //     console.log(res)
-    //     if(res.status === 200){
-    //       // this.loginForm.tenantId=res.data.tenant_id;
-    //       // this.loginForm.username=res.data.user_name;
-    //       this.$store.dispatch("LoginBySso").then((res) => {
-    //         console.log('res',res)
-    //           this.$router.push({path: this.tagWel.value});
-    //       })
-    //       // console.log(this.tagWel)
-    //       // this.$router.push({path: this.tagWel.value});
-    //     }
-    //   })
-    // }
+    onLoad() {
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      setTimeout(() => {
+        loading.close();
+      }, 2000);
+
+    }
   }
 }
 </script>
diff --git a/Source/UBCS-WEB/src/page/login/userlogin.vue b/Source/UBCS-WEB/src/page/login/userlogin.vue
index 15c1296..1311274 100644
--- a/Source/UBCS-WEB/src/page/login/userlogin.vue
+++ b/Source/UBCS-WEB/src/page/login/userlogin.vue
@@ -300,10 +300,11 @@
   props: [],
   methods: {
     ChandleLogin() {
-      this.$store.dispatch("LoginBySso").then((res) => {
-        console.log('res', res)
-        this.$router.push({path: this.tagWel.value});
-      })
+      // this.$store.dispatch("LoginBySso").then((res) => {
+      //   console.log('res', res)
+      //   this.$router.push({path: this.tagWel.value});
+      // })
+      this.$router.push({path:'/sso'});
     },
     closehandle() {
       removeToken()
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index 2efc562..bd3103f 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -20,22 +20,48 @@
                   @clear="handleClear" @keyup.enter.native="handleEnter"></el-input>
       </template>
       <template #menu="{row,index,size}">
-        <el-button type="text" icon="el-icon-menu" size="small" @click="classifyHandler">鍒嗙被鎺堟潈</el-button>
+        <el-button icon="el-icon-menu" size="small" type="text" @click="classifyHandler(row)">鍒嗙被鎺堟潈</el-button>
 
       </template>
     </avue-crud>
-    <el-dialog :visible.sync="dialogVisible" append-to-body title="鍒嗙被鎺堟潈">
+    <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈" top="-10">
+
+      <el-row>
+        <el-col :span="10">
+          <avue-tree ref="tree"
+                     v-model="TreeForm"
+                     :data="TreeData"
+                     :option="TreeOption"
+                     @check-change="checkChange">
+          </avue-tree>
+        </el-col>
+      </el-row>
+      <div slot="footer" class="dialog-footer" style="height: 50px;line-height: 50px">
+        <el-button type="primary" icon="el-icon-plus" size="small">鎺� 鏉�</el-button>
+        <el-button icon="el-icon-close"  size="small" type="danger">閲� 缃�</el-button>
+    </div>
     </el-dialog>
   </basic-container>
 </template>
 <script>
-import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel} from '@/api/integration/sysInfo.js'
+import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel, sysInfoTree} from '@/api/integration/sysInfo.js'
 
 export default {
   data() {
     return {
+      //閬垮厤缂撳瓨
+      reload: Math.random(),
+      TreeLoading: false,
+      TreeOption: {
+        defaultExpandAll: false,
+        multiple: true,
+        addBtn: false,
+        filter: false
+      },
+      TreeData: [],
+      TreeForm: {},
       loading: false,
-      dialogVisible:false,
+      dialogVisible: false,
       page: {
         currentPage: 1,
         pageSize: 10,
@@ -99,15 +125,46 @@
       },
     }
   },
+
   methods: {
+    //鍒嗙被鎺堟潈澶氶�夊洖璋�
+    checkChange(row,checked) {
+      // console.log(row)
+      // if(checked){
+      //
+      // }
+    },
     //鍒嗙被鎺堟潈
-    classifyHandler(){
-      this.dialogVisible=true;
+    classifyHandler(row) {
+      this.loading = true;
+      sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => {
+        this.TreeData = res.data;
+        this.ModifyProperties(this.TreeData, 'text', 'label');
+        // 鏍规嵁 this.TreeData 鐨勯暱搴﹁绠楀欢杩熸椂闂�
+        const delayTime = this.TreeData.length * 1;
+        setTimeout(() => {
+          this.loading = false;
+          this.reload = Math.random()
+          this.dialogVisible = true;
+        }, delayTime);
+      });
+    },
+    //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉�
+    ModifyProperties(obj, oldName, newName) {
+      for (let key in obj) {
+        if (key === oldName) {
+          obj[newName] = obj[key];
+          delete obj[key];
+        }
+        if (typeof obj[key] === 'object') {
+          this.ModifyProperties(obj[key], oldName, newName);
+        }
+      }
     },
     async getDataList() {
       this.loading = true;
       console.log(this.search);
-      const { pageSize, currentPage } = this.page;
+      const {pageSize, currentPage} = this.page;
       const conditions = {};
       if (Object.keys(this.search).length > 0) {
         for (const key in this.search) {
@@ -234,13 +291,12 @@
     },
     // 澶氶��
     selectionChange(list) {
-      console.log(list)
       let newData = list.map(item => {
         const {oid} = item
         return oid
       })
       this.delIds = {oids: newData.toString()}
-      console.log(this.delIds)
+      // console.log(this.delIds)
     },
   }
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/apply/ApplyDataVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/apply/ApplyDataVO.java
index e30a4a2..0f86f0b 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/apply/ApplyDataVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/apply/ApplyDataVO.java
@@ -11,13 +11,14 @@
  */
 @XStreamAlias("object")
 public class ApplyDataVO {
+
     /***
      * 杈撳叆涓婚敭
      */
     @XStreamAsAttribute
     private String id;
     /**
-     * 缂栫爜
+     * 璧峰鎴栦慨璁㈢紪鍙�
      */
     @XStreamAsAttribute
     private String code;
@@ -42,6 +43,23 @@
      */
     @XStreamAsAttribute
     private  String editor;
+
+	/***
+	 * 鏄惁淇
+	 */
+	private boolean amendmentFlag;
+	/***
+	 *鏄惁鏄郴鍒楁爣鍑�
+	 */
+	private boolean seriesStandardFlag;
+	/**
+	 * 鏄惁缁х画缂栧彿
+	 */
+	private boolean continueNumberFlag;
+	/***
+	 * 骞翠唬鍙�
+	 */
+	private String yearNumber;
     /***
      * 鏁版嵁灞炴�у璞�
      */
@@ -104,7 +122,39 @@
         this.prop = prop;
     }
 
-    @Override
+	public boolean isAmendmentFlag() {
+		return amendmentFlag;
+	}
+
+	public void setAmendmentFlag(boolean amendmentFlag) {
+		this.amendmentFlag = amendmentFlag;
+	}
+
+	public boolean isSeriesStandardFlag() {
+		return seriesStandardFlag;
+	}
+
+	public void setSeriesStandardFlag(boolean seriesStandardFlag) {
+		this.seriesStandardFlag = seriesStandardFlag;
+	}
+
+	public boolean isContinueNumberFlag() {
+		return continueNumberFlag;
+	}
+
+	public void setContinueNumberFlag(boolean continueNumberFlag) {
+		this.continueNumberFlag = continueNumberFlag;
+	}
+
+	public String getYearNumber() {
+		return yearNumber;
+	}
+
+	public void setYearNumber(String yearNumber) {
+		this.yearNumber = yearNumber;
+	}
+
+	@Override
     public String toString() {
         return "ApplyDataVO{" +
                 "id='" + id + '\'' +
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java
new file mode 100644
index 0000000..1090c66
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java
@@ -0,0 +1,43 @@
+package com.vci.ubcs.code.vo.webserviceModel.applybz;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import com.vci.ubcs.code.vo.webserviceModel.apply.ProppertyVO;
+
+import java.util.List;
+
+@XStreamAlias("object")
+public class ApplyBZDataVO {
+	/***
+	 * 杈撳叆涓婚敭
+	 */
+	@XStreamAsAttribute
+	private String id;
+	/**
+	 * 缂栫爜
+	 */
+	@XStreamAsAttribute
+	private String code;
+	/**
+	 * 鐘舵��
+	 */
+	@XStreamAsAttribute
+	private  String status;
+	/***
+	 * 鍒涘缓鑰�
+	 */
+	@XStreamAsAttribute
+	private String creator;
+
+	/**
+	 * 鏇存敼鑰�
+	 */
+	@XStreamAsAttribute
+	private  String editor;
+	/***
+	 * 鏁版嵁灞炴�у璞�
+	 */
+	@XStreamImplicit
+	private List<ProppertyVO> prop;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDatasVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDatasVO.java
new file mode 100644
index 0000000..0aacbb3
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDatasVO.java
@@ -0,0 +1,28 @@
+package com.vci.ubcs.code.vo.webserviceModel.applybz;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDataVO;
+
+import java.util.List;
+
+@XStreamAlias("objects")
+public class ApplyBZDatasVO {
+	@XStreamImplicit
+	private List<ApplyBZDataVO> object;
+
+	public List<ApplyBZDataVO> getObject() {
+		return object;
+	}
+
+	public void setObject(List<ApplyBZDataVO> object) {
+		this.object = object;
+	}
+
+	@Override
+	public String toString() {
+		return "ApplyDatasVO{" +
+			"object=" + object +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZParamVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZParamVO.java
new file mode 100644
index 0000000..bfcf42c
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZParamVO.java
@@ -0,0 +1,17 @@
+package com.vci.ubcs.code.vo.webserviceModel.applybz;
+
+public class ApplyBZParamVO {
+	private ApplyBZVO data;
+	public ApplyBZVO getData() {
+		return data;
+	}
+	public void setData(ApplyBZVO data) {
+		this.data = data;
+	}
+	@Override
+	public String toString() {
+		return "InterParameterVO{" +
+			"data=" + data +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZVO.java
new file mode 100644
index 0000000..f27a6fd
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZVO.java
@@ -0,0 +1,55 @@
+package com.vci.ubcs.code.vo.webserviceModel.applybz;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+import com.vci.ubcs.code.vo.webserviceModel.apply.UserVO;
+/**
+ *鏁版嵁淇℃伅
+ */
+@XStreamAlias("data")
+public class ApplyBZVO {
+	/***
+	 * 闆嗘垚绯荤粺鏍囪瘑
+	 */
+	@XStreamAsAttribute
+	private String systemId;
+	/**
+	 * 鎿嶄綔鐢ㄦ埛淇℃伅
+	 */
+	private UserVO user;
+
+	private ClassfyBZVO classify;
+
+	public String getSystemId() {
+		return systemId;
+	}
+
+	public void setSystemId(String systemId) {
+		this.systemId = systemId;
+	}
+
+	public UserVO getUser() {
+		return user;
+	}
+
+	public void setUser(UserVO user) {
+		this.user = user;
+	}
+
+	public ClassfyBZVO getClassify() {
+		return classify;
+	}
+
+	public void setClassify(ClassfyBZVO classify) {
+		this.classify = classify;
+	}
+
+	@Override
+	public String toString() {
+		return "ApplyBZVO{" +
+			"systemId='" + systemId + '\'' +
+			", user=" + user +
+			", classify=" + classify +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java
new file mode 100644
index 0000000..9319aac
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java
@@ -0,0 +1,73 @@
+package com.vci.ubcs.code.vo.webserviceModel.applybz;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDatasVO;
+
+/**
+ * 鍒嗙被淇℃伅
+ */
+@XStreamAlias("classify")
+public class ClassfyBZVO {
+	/**
+	 * 鍒嗙被浠e彿
+	 */
+	@XStreamAsAttribute
+	private String classCode;
+	/**
+	 * 搴撲唬鍙�
+	 */
+	@XStreamAsAttribute
+	private String library;
+	/**
+	 * 绫昏矾寰�
+	 */
+	@XStreamAsAttribute
+	private  String fullclsfNamePath;
+	/**
+	 * 鏁版嵁闆嗗悎
+	 */
+	private ApplyDatasVO objects;
+
+	public String getClassCode() {
+		return classCode;
+	}
+
+	public void setClassCode(String classCode) {
+		this.classCode = classCode;
+	}
+
+	public String getLibrary() {
+		return library;
+	}
+
+	public void setLibrary(String library) {
+		this.library = library;
+	}
+
+	public String getFullclsfNamePath() {
+		return fullclsfNamePath;
+	}
+
+	public void setFullclsfNamePath(String fullclsfNamePath) {
+		this.fullclsfNamePath = fullclsfNamePath;
+	}
+
+	public ApplyDatasVO getObjects() {
+		return objects;
+	}
+
+	public void setObjects(ApplyDatasVO objects) {
+		this.objects = objects;
+	}
+
+	@Override
+	public String toString() {
+		return "ClassfyBZVO{" +
+			"classCode='" + classCode + '\'' +
+			", library='" + library + '\'' +
+			", fullclsfNamePath='" + fullclsfNamePath + '\'' +
+			", objects=" + objects +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ProppertyBZVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ProppertyBZVO.java
new file mode 100644
index 0000000..bb3e0fa
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ProppertyBZVO.java
@@ -0,0 +1,56 @@
+package com.vci.ubcs.code.vo.webserviceModel.applybz;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+
+@XStreamAlias("prop")
+public class ProppertyBZVO {
+	/**
+	 * 灞炴�у瓧娈�
+	 */
+	@XStreamAsAttribute
+	private  String key;
+	/**
+	 * 灞炴�ф樉绀哄悕绉�
+	 */
+	@XStreamAsAttribute
+	private String text;
+	/**
+	 * 灞炴�у��
+	 */
+	@XStreamAsAttribute
+	private  String value;
+
+	public String getKey() {
+		return key;
+	}
+
+	public void setKey(String key) {
+		this.key = key;
+	}
+
+	public String getText() {
+		return text;
+	}
+
+	public void setText(String text) {
+		this.text = text;
+	}
+
+	public String getValue() {
+		return value;
+	}
+
+	public void setValue(String value) {
+		this.value = value;
+	}
+
+	@Override
+	public String toString() {
+		return "ProppertyVO{" +
+			"key='" + key + '\'' +
+			", text='" + text + '\'' +
+			", value='" + value + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/xml/XMLResultClassfyVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/xml/XMLResultClassfyVO.java
index def234d..52ca711 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/xml/XMLResultClassfyVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/xml/XMLResultClassfyVO.java
@@ -5,7 +5,7 @@
 
 import java.util.List;
 
-@XStreamAlias("classfy")
+@XStreamAlias("classify")
 public class XMLResultClassfyVO {
     @XStreamAsAttribute
     private  String classCode;
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java
index 046eac1..21edf3b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java
@@ -55,6 +55,7 @@
 	@PostMapping( "/batchAddSave")
 	public R batchAddSave(@RequestBody List<SystemClassifyRole> list,String systemOid,String systemId){
 		return codeApplyWebManagementService.batchAddSave(list,systemOid,systemId);
+//		return R.success("dddd");
 	}
 
 	@GetMapping("/getSystemClassifyRoleTree")
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 be849ff..b82489f 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
@@ -48,7 +48,9 @@
 	public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType, HttpServletRequest request)  {
 		String result="";
 		try {
-			this.setHttpToThreadLocal(request);
+			ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>();
+			threadLocal.set(request);
+			universalInterfaceI.setThreadLocal(threadLocal);
 			result = universalInterfaceI.applyCode(dataString, dataType);
 		}catch (Throwable e){
 			e.printStackTrace();
@@ -65,10 +67,9 @@
 	 * @throws Throwable
 	 */
 	@PostMapping("/syncData")
-	public String syncData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request)  {
+	public String syncData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType)  {
 		String result="";
 		try {
-			this.setHttpToThreadLocal(request);
 			result= universalInterfaceI.syncEditData(dataString,dataType);
 		}catch (Throwable e){
 			e.printStackTrace();;
@@ -85,10 +86,9 @@
 	 * @throws Throwable
 	 */
 	@PostMapping("/queryClassify")
-	public String queryClassify(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request) throws Throwable {
+	public String queryClassify(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable {
 		String result="";
 		try {
-			this.setHttpToThreadLocal(request);
 			result = universalInterfaceI.queryClassify(dataString, dataType);
 		}catch (Throwable e){
 			e.printStackTrace();
@@ -105,10 +105,9 @@
 	 * @throws Throwable
 	 */
 	@PostMapping("/queryData")
-	public String queryData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request) throws Throwable {
+	public String queryData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable {
 		String result="";
 		try {
-			this.setHttpToThreadLocal(request);
 			result= universalInterfaceI.queryData(dataString,dataType);
 		}catch (Throwable e){
 			e.printStackTrace();
@@ -125,26 +124,15 @@
 	 * @throws Throwable
 	 */
 	@PostMapping("/queryClassifyRule")
-	public String queryClassifyRule(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request) throws Throwable {
+	public String queryClassifyRule(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable {
 		String result="";
 		try {
-			this.setHttpToThreadLocal(request);
 			result= universalInterfaceI.queryClassifyRule(dataString,dataType);
 		}catch (Throwable e){
 			e.printStackTrace();
 			logger.error("queryData->"+e.getMessage());
 		}
 		return result;
-	}
-
-	/**
-	 * 璁剧疆request锛屽埌ThreadLocal涓�
-	 * @param request
-	 */
-	public void setHttpToThreadLocal(HttpServletRequest request){
-		ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>();
-		threadLocal.set(request);
-		universalInterfaceI.setThreadLocal(threadLocal);
 	}
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java
index 428b3e0..f04be73 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java
@@ -18,14 +18,15 @@
 
 @WebService(targetNamespace = "http://code.ubcs.vci.com/",name = "universalInterface")
 public interface UniversalInterfaceI {
-    /**
-     *缁熶竴鐢宠缂栫爜鎺ュ彛
-     * @param data 浼犻�掔殑鏁版嵁鍙傛暟
-     * @param dataType 鏍囪瘑data鏄痻ml鏍煎紡杩樻槸json鏍煎紡锛屾帴鍙h繑鍥炴暟鎹篃鏄寜鐓ц繖涓牸寮忥紝浠ヤ笅鎺ュ彛绫诲悓
-     * @return xml鏍煎紡/json鏍煎紡
-     * @throws Throwable
-     */
-    public String applyCode(String data, String dataType)throws Throwable;
+	/**
+	 * 缁熶竴鐢宠缂栫爜鎺ュ彛
+	 *
+	 * @param data     浼犻�掔殑鏁版嵁鍙傛暟
+	 * @param dataType 鏍囪瘑data鏄痻ml鏍煎紡杩樻槸json鏍煎紡锛屾帴鍙h繑鍥炴暟鎹篃鏄寜鐓ц繖涓牸寮忥紝浠ヤ笅鎺ュ彛绫诲悓
+	 * @return xml鏍煎紡/json鏍煎紡
+	 * @throws Throwable
+	 */
+	public String applyCode(String data, String dataType) throws Throwable;
 
 	public void setThreadLocal(ThreadLocal<HttpServletRequest> threadLocal);
 
@@ -36,6 +37,7 @@
 	 * @throws Throwable
 	 */
 	public ResultOrgData syncDataForPerson(PersonData personData);
+
 	/****
 	 * 閮ㄩ棬鏁版嵁鍚屾
 	 * @param orgData
@@ -44,34 +46,42 @@
 	 */
 	public ResultOrgData syncDataForOrg(OrgData orgData);
 
-    /***
-     * 缁熶竴鏇存柊鎺ュ彛
-     * @param data
-     * @param dataType
-     * @return
-     * @throws Throwable
-     */
-    public String syncEditData(String data,String dataType)throws Throwable;
+	/***
+	 * 缁熶竴鏇存柊鎺ュ彛
+	 * @param data
+	 * @param dataType
+	 * @return
+	 * @throws Throwable
+	 */
+	public String syncEditData(String data, String dataType) throws Throwable;
 
-    /***
-     * 鏌ヨ鍒嗙被鍙�
-     * @param data
-     * @param dataType
-     * @throws Throwable
-     */
-    public String  queryClassify(String data,String dataType)throws Throwable;
+	/***
+	 * 鏌ヨ鍒嗙被鍙�
+	 * @param data
+	 * @param dataType
+	 * @throws Throwable
+	 */
+	public String queryClassify(String data, String dataType) throws Throwable;
 
-    /***
-     * 鏌ヨ鏁版嵁
-     * @param data
-     * @param dataType
-     * @throws Throwable
-     */
-    public String  queryData(String data,String dataType)throws Throwable;
+	/***
+	 * 鏌ヨ鏁版嵁
+	 * @param data
+	 * @param dataType
+	 * @throws Throwable
+	 */
+	public String queryData(String data, String dataType) throws Throwable;
 
 	/***
 	 * 杩斿洖缂栫爜瑙勫垯鎺ュ彛
 	 */
-	public String queryClassifyRule(String data,String datatype)throws Throwable;
+	public String queryClassifyRule(String data, String datatype) throws Throwable;
 
+	/****
+	 * 鏍囧噯鍖栫敵璇锋帴鍙�
+	 * @param data 鏁版嵁淇℃伅
+	 * @param dataType 鏁版嵁鏍煎紡绫诲瀷
+	 * @return
+	 * @throws Throwable
+	 */
+	public String applyCodeForBZ(String data,String dataType) throws Throwable;
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java
index fd899e0..ca874f0 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java
@@ -17,9 +17,11 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class CodeApplyWebManagementServiceImpl extends ServiceImpl<SystemClassifyRoleMapper, SystemClassifyRole> implements ICodeApplyWebManagementService {
@@ -45,24 +47,31 @@
 		QueryWrapper<SystemClassifyRole> wrapper = new QueryWrapper<>();
 		wrapper.eq("systemOid",systemOid);
 		wrapper.eq("systemId",systemId);
+		List<SystemClassifyRole> systemClassifyRoles = this.listByIds(roleList.stream().map(SystemClassifyRole ::getOid).collect(Collectors.toList()));;
 		this.remove(wrapper);
+		List<SystemClassifyRole> newSCRoles = new ArrayList<>();
 		//鏁版嵁澶勭悊
+		systemClassifyRoles.stream().forEach(classifyRole ->{
+			classifyRole.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+			classifyRole.setCreateTime(new Date());
+			classifyRole.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+			classifyRole.setLastModifyTime(new Date());
+			classifyRole.setTs(new Date());
+		});
+		newSCRoles.addAll(systemClassifyRoles);
+		//澶勭悊鏂伴�夋嫨鐨勬暟鎹�
 		roleList.stream().forEach(systemClassifyRole -> {
 			if(StringUtil.isBlank(systemClassifyRole.getOid())){
 				DefaultAttrAssimtUtil.addDefaultAttrAssimt(systemClassifyRole,"systemClassifyRole");
 				systemClassifyRole.setSystemId(systemId);
 				systemClassifyRole.setSystemOid(systemOid);
-			}else{
-				systemClassifyRole.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
-				systemClassifyRole.setCreateTime(new Date());
-				systemClassifyRole.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
-				systemClassifyRole.setLastModifyTime(new Date());
-				systemClassifyRole.setTs(new Date());
+				systemClassifyRole.setTenantId(AuthUtil.getTenantId());
+				systemClassifyRole.setSelected(true);
+				newSCRoles.add(systemClassifyRole);
 			}
-			systemClassifyRole.setTenantId(AuthUtil.getTenantId());
 		});
 		//淇濆瓨
-		this.saveBatch(roleList);
+		this.saveBatch(newSCRoles);
 		return R.success("鎿嶄綔鎴愬姛");
 	}
 
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 132d2fd..a5016f5 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
@@ -17,6 +17,8 @@
 import com.vci.ubcs.code.util.ClientBusinessObject;
 import com.vci.ubcs.code.util.gennerAttrMapUtil;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.code.vo.webserviceModel.applybz.ApplyBZParamVO;
+import com.vci.ubcs.code.vo.webserviceModel.applybz.ApplyBZVO;
 import com.vci.ubcs.code.vo.webserviceModel.person.*;
 import com.vci.ubcs.code.vo.webserviceModel.apply.*;
 import com.vci.ubcs.code.vo.webserviceModel.attrmap.*;
@@ -1936,6 +1938,134 @@
 		return resultStr;
 	}
 
+	public String applyCodeForBZ(String data,String dataType){
+		String resultStr = "";
+//		log.info("鏂规硶->applyCodeForBZ start");
+//
+//		final String[] errorid = {"0"};
+//		msg="鎴愬姛";
+//		objerrorCode="0";
+//		objerrorMsg="鎴愬姛";
+//		log.info("鐢宠缂栫爜鐨勬暟鎹弬鏁�:->"+data);
+//		log.info("鐢宠缂栫爜鐨勬暟鎹被鍨�:->"+dataType);
+//		String systemId="";
+//		List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>();
+//		LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>();
+//		try{
+//			try {
+//				if(StringUtils.isBlank(data)) {
+//					errorid[0] ="101";
+//					throw new Throwable("鎺ュ彛鍙傛暟锛氫紶閫掍负绌�");
+//				}
+//				ApplyBZParamVO applyBZParamVO  =new ApplyBZParamVO();
+//				//濡傛灉dataType鏄痻ml鍒欙紝閫氳繃xml搴忓垪鍖栨垚瀵硅薄褰㈠紡锛屽鏋滄槸json鍒欓�氳繃json杞崲鎴愬璞℃牸寮�
+//				try {
+//					if ("xml".equals(dataType)) {
+//						XStream xStream = new XStream(new DomDriver());
+//						xStream.processAnnotations(RootDataVO.class);
+//						xStream.autodetectAnnotations(true);
+//						ApplyBZVO rootDataVO = (ApplyBZVO) xStream.fromXML(data);
+//						applyBZParamVO.setData(rootDataVO);
+//					} else {
+//						applyBZParamVO = JSONObject.toJavaObject(JSONObject.parseObject(data), ApplyBZParamVO.class);
+//					}
+//				}catch (Throwable e){
+//					errorid[0] ="101";
+//					throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
+//				}
+//				ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
+//				systemId = interParameterVO.getData().getSystemId();
+//				UserVO userVo = interParameterVO.getData().getUser();
+//				//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+//				passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
+//				AuthUtil.getUser();
+//				List<ClassfyVO> classVOList = classfysVO.getClassify();
+//				InterParameterVO finalInterParameterVO = interParameterVO;
+//				//杩欐槸璐﹀彿淇℃伅
+//				SessionInfo sessionInfo = new SessionInfo();
+//				sessionInfo.setUserId(userVo.getUserName());
+//				sessionInfo.setUserName(userVo.getTrueName());
+//				sessionInfo.setIp(userVo.getIp());
+//				VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
+////				List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
+//				String finalSystemId = systemId;
+//			} catch (Throwable e) {
+//				List<ApplyDataVO> applyDataVOList= classVO.getObjects().getObject();
+//				objerrorCode="1";
+//				if(!CollectionUtils.isEmpty(applyDataVOList)) {
+//					applyDataVOList.stream().forEach(applyDataVO -> {
+//						XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
+//						xmlResultDataObjectDetailDO.setCode("");
+//						xmlResultDataObjectDetailDO.setId(applyDataVO.getId());
+//						xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
+//						xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
+//						resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+//					});
+//				}else{
+//					XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
+//					xmlResultDataObjectDetailDO.setCode("");
+//					xmlResultDataObjectDetailDO.setId("");
+//					xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
+//					xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
+//					resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+//				}
+//				e.printStackTrace();
+//			}finally {
+//				XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO();
+//				resultClassfyVO.setClassCode(classVO.getClassCode());
+//				resultClassfyVO.setLibrary(classVO.getLibrary());
+//				resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath());
+//				resultClassfyVO.setObjects(resultDataObjectDetailDOs);
+//				resultClassfyVOList.add(resultClassfyVO);
+//			}
+//			XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
+//			xmlResultSystemVO.setClassifys(resultClassfyVOList);
+//			xmlResultSystemVO.setMsg(msg);
+//			xmlResultSystemVO.setErrorid(errorid[0]);
+//			resultStr= transferResultXMl(xmlResultSystemVO,dataType);
+//		}catch (Throwable e){
+//			e.printStackTrace();
+//			msg="鐢宠缂栫爜澶辫触:"+e.getMessage();
+//          /*  XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO();
+//            XMLResultSystemVO.setErrorid(errorid);
+//            XMLResultSystemVO.setMsg("鐢宠缂栫爜澶辫触锛�->"+e.getMessage());
+//            XMLResultSystemVO.setClassifys(resultClassfyVOList);
+//            resultStr=transferResultXMl(XMLResultSystemVO,dataType);
+//
+//            log.error("鐢宠缂栫爜澶辫触锛�->"+e);
+//            return resultStr;*/
+//		}finally {
+//			XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
+//			xmlResultSystemVO.setClassifys(resultClassfyVOList);
+//			xmlResultSystemVO.setMsg(msg);
+//			xmlResultSystemVO.setErrorid(errorid[0]);
+//			resultStr= transferResultXMl(xmlResultSystemVO,dataType);
+//			final boolean[] issucess = {true};
+//			if(!errorid[0].equals("0")) {
+//				issucess[0] = false;
+//			}else {
+//				if(!CollectionUtils.isEmpty(resultClassfyVOList)) {
+//					resultClassfyVOList.stream().forEach(xMLResultClassfyVO -> {
+//						xMLResultClassfyVO.getObjects().stream().forEach(objec -> {
+//							if (!(objec.getErrorid().equals("0") || objec.getErrorid().equals("204"))) {
+//								issucess[0] = false;
+//								msg=objec.getMsg();
+//							}
+//						});
+//					});
+//				}
+//			}
+//			try {
+//				//璁板綍鏃ュ織
+//				this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCodeForBZ");
+//			}catch (Throwable e){
+//				e.printStackTrace();
+//			}
+//		}
+//		log.info("杩斿洖鍙傛暟:"+resultStr);
+		//璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮�
+		return resultStr;
+	}
 	/***
 	 * 鏌ヨ鏍¢獙鍒嗙被淇℃伅
 	 * @param classfyVO
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/SystemClassifyRoleMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/SystemClassifyRoleMapper.xml
index d21813b..8c7470e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/SystemClassifyRoleMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/SystemClassifyRoleMapper.xml
@@ -70,7 +70,7 @@
                pc.SYSTEMID,
                p.oid CLASSIFYOID,
                p.id CLASSIFYID,
-               case when pc.selected is null then 'false' else  pc.SELECTED end SELECTED,
+               case when pc.selected is null then false else  pc.SELECTED end SELECTED,
                p.PARENTCODECLASSIFYOID CLASSPARENTOID
         from PL_CODE_CLASSIFY p ,
              PL_CODE_SYSTEM_CLASSIFY_ROLE pc

--
Gitblit v1.9.3