From be1abfb614840ba9f74b693b21fe0ca12bdf18ea Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 08 九月 2023 20:07:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java              |   82 +
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultMdMapping.java  |   89 ++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java    |  477 ++++++++++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java    |   49 +
 Source/UBCS-WEB/src/views/docking/loge.vue                                                                                 |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java                |  120 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java             |    1 
 Source/UBCS-WEB/src/mixins/codeApply.js                                                                                    |  380 ++++----
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java          |  103 ++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java       |  106 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java            |   68 +
 Source/UBCS-WEB/src/views/code/code.vue                                                                                    |    6 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java            |    1 
 Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue                                                                  |  206 ++--
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue                                                                |   12 
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue                                                               |   14 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json             |   79 +
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue                                                                  |   16 
 Source/UBCS-WEB/src/views/modeling/original.vue                                                                            |    2 
 Source/UBCS-WEB/src/components/FormTemplate/index.vue                                                                      |   27 
 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue                                                                |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java                        |   20 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java            |   15 
 Source/UBCS-WEB/src/views/modeling/originalAdd.vue                                                                         |    8 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java   |   20 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java |  722 ++++++++++++++++
 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue                                                                   |    4 
 27 files changed, 2,297 insertions(+), 335 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue b/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue
index 6f9190d..38d0fba 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue
@@ -1,103 +1,103 @@
-<template>
-  <FormTemplate
-    ref="FormTemplate"
-    :selfColumnType="selfColumnType"
-    :selfColumnConfig="selfColumnConfig"
-  ></FormTemplate>
-</template>
-
-<script>
-export default {
-  name: "CodeApply",
-  components: { FormTemplate: () => import('./FormTemplate.vue') },
-  props: {
-  },
-  data() {
-    return {
-      secVOList: [],
-      formItems: [],
-      trendsSpan: 8,
-      selfColumnType: {
-        codefixedsec: "combox",
-        codeclassifysec: "refer",
-        codevariablesec: "text",
-        coderefersec: "refer",
-      },
-      selfColumnConfig: {
-        function: {
-          required: this.isRequired,
-          dicData: this.getOptionList,
-          type: this.getType,
-        },
-        exchange: {
-          text: "name",
-          field: "oid",
-          prop: "oid",
-          showField: "name",
-          parentClassifySecOid: "parentClassifySecOid",
-          label: "name",
-          maxlength: "codeSecLength",
-          data: "fixedValueVOList",
-        },
-        directVoluation: {
-          search: true,
-          props: {
-            label: "id",
-            value: "id",
-          },
-        },
-      },
-    };
-  },
-  created() {
-    this.handleResize();
-  },
-  mounted() {},
-  methods: {
-    getType(item) {
-      return this.selfColumnType[item.sectype];
-    },
-    isRequired(item) {
-      return item.nullableFlag != "true";
-    },
-    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 [];
-      }
-    },
-    init(columnList) {
-      this.$refs.FormTemplate.templateRender(columnList);
-    },
-    handleResize() {
-      let windowWidth = document.body.clientWidth;
-      this.trendsSpan = 24 / Math.floor(windowWidth / 500);
-    },
-    
-    
-    async validate() {
-      return await this.$refs.FormTemplate.validate();
-    },
-  },
-  watch: {},
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+  <FormTemplate
+    ref="FormTemplate"
+    :selfColumnType="selfColumnType"
+    :selfColumnConfig="selfColumnConfig"
+  ></FormTemplate>
+</template>
+
+<script>
+export default {
+  name: "CodeApply",
+  components: { FormTemplate: () => import('./FormTemplate.vue') },
+  props: {
+  },
+  data() {
+    return {
+      secVOList: [],
+      formItems: [],
+      trendsSpan: 8,
+      selfColumnType: {
+        codefixedsec: "combox",
+        codeclassifysec: "refer",
+        codevariablesec: "text",
+        coderefersec: "refer",
+      },
+      selfColumnConfig: {
+        function: {
+          required: this.isRequired,
+          dicData: this.getOptionList,
+          type: this.getType,
+        },
+        exchange: {
+          text: "name",
+          field: "oid",
+          prop: "oid",
+          showField: "name",
+          parentClassifySecOid: "parentClassifySecOid",
+          label: "name",
+          maxlength: "codeSecLength",
+          data: "fixedValueVOList",
+        },
+        directVoluation: {
+          search: true,
+          props: {
+            label: "id",
+            value: "id",
+          },
+        },
+      },
+    };
+  },
+  created() {
+    this.handleResize();
+  },
+  mounted() {},
+  methods: {
+    getType(item) {
+      return this.selfColumnType[item.sectype];
+    },
+    isRequired(item) {
+      return item.nullableFlag != "true";
+    },
+    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 [];
+      }
+    },
+    init(columnList) {
+      this.$refs.FormTemplate.templateRender(columnList);
+    },
+    handleResize() {
+      let windowWidth = document.body.clientWidth;
+      this.trendsSpan = 24 / Math.floor(windowWidth / 500);
+    },
+
+
+    async validate() {
+      return await this.$refs.FormTemplate.validate();
+    },
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped></style>
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index f865672..610ff04 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -138,7 +138,7 @@
       let value=''
       formItemList.forEach((formItem) => {
         formItem = this.resetFormConfig(formItem);
-        console.log('formItem',formItem)
+        // console.log('formItem',formItem)
         // console.log('formItem.dicData.value',formItem.dicData)
         if (formItem.type === "line") {
           group.push({
@@ -195,10 +195,12 @@
           valueFormat:formItem.dateFormate,
           format: formItem.dateFormate,
           keyAttr: formItem.keyAttr,
-          value: formItem.dicData && formItem.dicData.length > 0 && formItem.type == 'combox' ? formItem.dicData[0].id : null,
+          value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
+            (formItem.secType == "codedatesec"?formItem.codeDateFormatStr: null),
           placeholder: formItem.inputTip,
           comboxKey: formItem.comboxKey,
           tip: formItem.tooltips,
+          // hidden:formItem.secType && formItem.codeValueApplyStatus == 3 ? true : false,
           // readonly:formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ?true : false ,
           display: !formItem.hidden,
           maxlength: formItem.maxlength,
@@ -239,6 +241,7 @@
         };
         // console.log('columnItem',columnItem)
         slotColumnList.push(columnItem);
+        // console.log('slotColumnList',slotColumnList)
         if (group.length === 0) {
           column.push(columnItem);
         } else {
@@ -255,10 +258,12 @@
 
       this.geDictData(dictKeys);
       this.getFormDetail();
+      // console.log('selfColumnConfig',this.selfColumnConfig)
 
     },
     // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
     resetFormConfig(formItem) {
+      // console.log(this.selfColumnConfig)
       for (const configType in this.selfColumnConfig) {
         if (Object.hasOwnProperty.call(this.selfColumnConfig, configType)) {
           const element = this.selfColumnConfig[configType];
@@ -274,6 +279,9 @@
               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") {
@@ -364,7 +372,7 @@
       );
     },
     setReferValue(data) {
-      console.log(data)
+      // console.log(data)
       if (data.field) {
         this.form[data.field] = data.value || "";
         this.form[data.showField] = data.text || "";
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index cefd61a..2f714ce 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -142,7 +142,7 @@
         coderefersec: "refer",//寮曠敤鐮佹
         codeattrsec: "text",
         codelevelsec: "text",
-        codedatesec: "date"
+        codedatesec: "text"
       },
       selfColumnConfig: {
         function: {
@@ -263,9 +263,10 @@
     },
     // 鑾峰彇鐮佸�肩敵璇锋暟鎹�
     getCodeRule() {
-      getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => {
+      let  that = this;
+      getCodeRule({ codeClassifyOid: that.codeClassifyOid }).then((res) => {
         if (res.data && res.data.code === 200) {
-          this.codeRuleOid = res.data.data.oid;
+          that.codeRuleOid = res.data.data.oid;
           const typeList = [
             //灞炴�х爜娈� 鍙
             "codeattrsec",
@@ -283,20 +284,20 @@
             "codelevelsec",
             //娴佹按鐮佹 闅愯棌
           ];
-          this.secVOList = (res.data.data.secVOList || []).filter((item) =>
+          that.secVOList = (res.data.data.secVOList || []).filter((item) =>
             typeList.includes(item.secType)
           );
-          if (this.secVOList.length > 0 && this.type === "add") {
-            this.showCodeApply = true;
-            this.activeName = "codeApply";
-            this.$nextTick(() => {
-              this.$refs.CodeApply.templateRender(this.secVOList);
+          if (that.secVOList.length > 0 && that.type === "add") {
+            that.showCodeApply = true;
+            that.activeName = "codeApply";
+            that.$nextTick(() => {
+              that.$refs.CodeApply.templateRender(that.secVOList);
             });
           } else {
-            this.showCodeApply = false;
+            that.showCodeApply = false;
           }
         }
-        // console.log(' this.secVOList',this.secVOList)
+        // console.log(' this.secVOList',that.secVOList)
         // console.log(' res.data.data.secVOList',res.data.data.secVOList)
       });
     },
@@ -382,7 +383,6 @@
         this.$delete(formValue, item);
       });
       const keys = Object.keys(formValue);
-      debugger
       keys.forEach((item, index) => {
         keys.forEach((itm, idx) => {
           if ((item === ('$' + itm)) && idx !== index) {
@@ -475,6 +475,8 @@
       } else if (item.secType == "coderefersec") {
         //寮曠敤鐮佹
         params = JSON.parse(item.referValueInfo);
+        // console.log('item',item)
+        console.log('params',params)
       }
       return params;
     },
@@ -492,6 +494,7 @@
     isRequired(item) {
       return item.nullableFlag != "true";
     },
+    //榛樿鍊�
     getOptionList(item) {
       if (
         Array.isArray(item.fixedValueVOList) &&
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 84f9386..c7cd494 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -69,6 +69,7 @@
                               :nodeList="nodeList" @MasterHandler="MasterHandler" @flushed="flushed"
                               @referTreeForm="referTreeForm"></classifyTreeform>
           </el-dialog>
+<!--          宸︿晶鏍�-->
           <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata"
                      :defaultExpandAll="false"
                      :option="Treeoption"
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index 11fe9d4..727d79a 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -222,19 +222,19 @@
       this.selectionList.forEach((item,_index) =>{
         if(isMutiValue){
           var valueFieldArray = _that.props.value.split(",");
-          valueFieldArray.forEach((_indexField,_itemField)=>{
-            value.push( item[_itemField] + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
+          valueFieldArray.forEach((_itemField,_indexFiel)=>{
+            value.push( (item[_itemField] || item['data'][_itemField]) + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
           })
         }else {
-          value.push(item[_that.props.value]);
+          value.push(item[_that.props.value] || item['data'][_that.props.value]);
         }
         if(isMutiRaw) {
           var rawFieldArray = _that.props.label.split(",");
-          rawFieldArray.forEach((_indexField,_itemField)=>{
-            text.push(item[_itemField] + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
+          rawFieldArray.forEach((_itemField,_indexField)=>{
+            text.push((item[_itemField] || item['data'][_itemField]) + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
           })
         }else{
-          text.push(item[_that.props.label]);
+          text.push(item[_that.props.label] || item['data'][_that.props.label]);
         }
       })
 
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
index cec6ded..8e83d4f 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -95,6 +95,9 @@
       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.$nextTick(() => {
+      this.$refs.referCrud.doLayout()
+    })
   },
 
   computed:{
@@ -161,6 +164,7 @@
       if(this.options.displayTable){
         //璇存槑鏄娇鐢ㄥ钩鍙扮殑琛ㄦ牸
         getTableDefinedUrl({btmType:(this.options.referBo||this.options.referType),code:this.options.displayTable,isMuti:this.isMuti},this.tableDefinedUrl).then(result => {
+          console.log('result',result)
           if(result.success){
             var queryScheme = result.querySchema;
             if(!validatenull(queryScheme) && validatenull(this.options.queryScheme)){
@@ -282,19 +286,19 @@
       this.selectionList.forEach((item,_index) =>{
         if(isMutiValue){
           var valueFieldArray = _that.props.value.split(",");
-          valueFieldArray.forEach((_indexField,_itemField)=>{
-            value.push( item[_itemField] + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
+          valueFieldArray.forEach((_itemField,_indexFiel)=>{
+            value.push( (item[_itemField] || item['data'][_itemField]) + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
           })
         }else {
-          value.push(item[_that.props.value]);
+          value.push(item[_that.props.value] || item['data'][_that.props.value]);
         }
         if(isMutiRaw) {
           var rawFieldArray = _that.props.label.split(",");
-          rawFieldArray.forEach((_indexField,_itemField)=>{
-            text.push(item[_itemField] + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
+          rawFieldArray.forEach((_itemField,_indexField)=>{
+            text.push((item[_itemField] || item['data'][_itemField]) + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
           })
         }else{
-          text.push(item[_that.props.label]);
+          text.push(item[_that.props.label] || item['data'][_that.props.label]);
         }
       })
 
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index 88fa814..3000eba 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -163,13 +163,13 @@
       const textSep =this.config.textSep;
       for(var j =0;j<checkedData.checkedNodes.length;j++){
         const item=checkedData.checkedNodes[j];
-        var v=this.config.valueField.indexOf("attribute.")>=0?item.attributes[this.config.valueField.replace("attribute.","")]:(item.attributes[this.config.valueField] || item[this.config.valueField])
+        var v=this.config.valueField.indexOf("attribute.")>=0?(item.attributes[this.config.valueField.replace("attribute.","")] || item.attributes.data[this.config.valueField.replace("attribute.","")]):(item.attributes[this.config.valueField] || item[this.config.valueField] || item.attributes.data[this.config.valueField])
         value.push(v);
         var tempRaw = [];
         var textFieldArray = this.config.textField.split(",");
         for (var i = 0; i < textFieldArray.length; i++) {//鏄剧ず鐨勫瓧娈靛彲鑳芥湁澶氫釜
           if (!validatenull(textFieldArray[i])) {
-            var t=textFieldArray[i].indexOf("attribute.")>=0?item.attributes[textFieldArray[i].replace("attribute.","")]:(item.attributes[textFieldArray[i]] || item[textFieldArray[i]])
+            var t=textFieldArray[i].indexOf("attribute.")>=0?(item.attributes[textFieldArray[i].replace("attribute.","")] ||item.attributes.data[textFieldArray[i].replace("attribute.","")]):(item.attributes[textFieldArray[i]] || item[textFieldArray[i]] || item.attributes.data[textFieldArray[i]])
             tempRaw.push(t);
           }
         }
diff --git a/Source/UBCS-WEB/src/mixins/codeApply.js b/Source/UBCS-WEB/src/mixins/codeApply.js
index ffe002e..4416eab 100644
--- a/Source/UBCS-WEB/src/mixins/codeApply.js
+++ b/Source/UBCS-WEB/src/mixins/codeApply.js
@@ -1,190 +1,190 @@
-import { getCodeRule } from "@/api/formTemplate.js";
-export default {
-  data() {
-    return {
-      secVOList: [],
-      localSecVOList: [],
-      showCodeApply: false,
-      selfColumnType: {
-        codefixedsec: "combox",
-        codeclassifysec: "refer",
-        codevariablesec: "text",
-        coderefersec: "refer",
-      },
-      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",
-        },
-        directVoluation: {
-          search: true,
-          span: 12,
-          props: {
-            label: "id",
-            value: "id",
-          },
-        },
-      },
-      codeApplyForm: {},
-    }
-  },
-  created() {
-    if (this.type === 'batchImportApply') {
-      this.getCodeRule()
-    }
-  },
-  methods: {
-    // 鑾峰彇鐮佸�肩敵璇锋暟鎹�
-    getCodeRule() {
-      getCodeRule({ codeClassifyOid: this.localCodeClassifyOid || this.codeClassifyOid }).then((res) => {
-        if (res.data && res.data.code === 200) {
-          const typeList = [
-            "codefixedsec",
-            "codeclassifysec",
-            "codevariablesec",
-            "coderefersec",
-          ];
-          this.secVOList = res.data.data.secVOList || []
-          this.localSecVOList = (res.data.data.secVOList || []).filter((item) =>
-            typeList.includes(item.secType)
-          );
-          if (this.localSecVOList.length > 0) {
-            this.showCodeApply = true
-            this.$nextTick(() => {
-              if (this.batchApplyCodeTableData) {
-                this.batchApplyCodeTableData[this.codeRuleOid]["localSecVOList"] = this.localSecVOList
-              }
-              this.$refs.CodeApply.templateRender(this.localSecVOList);
-            });
-          } else {
-            this.showCodeApply = false
-          }
-
-        }
-      });
-    },
-    getCodeApplyFormData(codeApplyForm) {
-      this.codeApplyForm = codeApplyForm;
-      if (this.batchApplyCodeTableData) {
-        this.batchApplyCodeTableData[this.codeRuleOid]["codeApply"] = codeApplyForm
-      }
-    },
-    getType(item) {
-      console.log(item.secType, 'item.secType');
-      return this.selfColumnType[item.secType];
-    },
-    getReferConfig(item) {
-      let params = {};
-      if (item.secType == "codeclassifysec") {
-        params = {
-          isMuti: false,
-          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);
-      }
-      return params;
-    },
-    getDisabled(item) {
-      if (item.secType === "codeclassifysec") {
-        if (item.parentClassifySecOid) {
-          if (!this.codeApplyForm[item.parentClassifySecOid]) {
-            return true;
-          } else {
-            return false;
-          }
-        }
-      }
-    },
-    isRequired(item) {
-      return item.nullableFlag != "true";
-    },
-    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 [];
-      }
-    },
-    // 鍙傜収缁勪欢鏁版嵁鍙樻洿
-    referConfigDataUpdate(data) {
-      const { field } = data;
-      this.localSecVOList = this.localSecVOList.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.localSecVOList);
-    },
-  }
-}
\ No newline at end of file
+import { getCodeRule } from "@/api/formTemplate.js";
+export default {
+  data() {
+    return {
+      secVOList: [],
+      localSecVOList: [],
+      showCodeApply: false,
+      selfColumnType: {
+        codefixedsec: "combox",
+        codeclassifysec: "refer",
+        codevariablesec: "text",
+        coderefersec: "refer",
+      },
+      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",
+        },
+        directVoluation: {
+          search: true,
+          span: 12,
+          props: {
+            label: "id",
+            value: "id",
+          },
+        },
+      },
+      codeApplyForm: {},
+    }
+  },
+  created() {
+    if (this.type === 'batchImportApply') {
+      this.getCodeRule()
+    }
+  },
+  methods: {
+    // 鑾峰彇鐮佸�肩敵璇锋暟鎹�
+    getCodeRule() {
+      getCodeRule({ codeClassifyOid: this.localCodeClassifyOid || this.codeClassifyOid }).then((res) => {
+        if (res.data && res.data.code === 200) {
+          const typeList = [
+            "codefixedsec",
+            "codeclassifysec",
+            "codevariablesec",
+            "coderefersec",
+          ];
+          this.secVOList = res.data.data.secVOList || []
+          this.localSecVOList = (res.data.data.secVOList || []).filter((item) =>
+            typeList.includes(item.secType)
+          );
+          if (this.localSecVOList.length > 0) {
+            this.showCodeApply = true
+            this.$nextTick(() => {
+              if (this.batchApplyCodeTableData) {
+                this.batchApplyCodeTableData[this.codeRuleOid]["localSecVOList"] = this.localSecVOList
+              }
+              this.$refs.CodeApply.templateRender(this.localSecVOList);
+            });
+          } else {
+            this.showCodeApply = false
+          }
+
+        }
+      });
+    },
+    getCodeApplyFormData(codeApplyForm) {
+      this.codeApplyForm = codeApplyForm;
+      if (this.batchApplyCodeTableData) {
+        this.batchApplyCodeTableData[this.codeRuleOid]["codeApply"] = codeApplyForm
+      }
+    },
+    getType(item) {
+      console.log(item.secType, 'item.secType');
+      return this.selfColumnType[item.secType];
+    },
+    getReferConfig(item) {
+      let params = {};
+      if (item.secType == "codeclassifysec") {
+        params = {
+          isMuti: false,
+          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);
+      }
+      return params;
+    },
+    getDisabled(item) {
+      if (item.secType === "codeclassifysec") {
+        if (item.parentClassifySecOid) {
+          if (!this.codeApplyForm[item.parentClassifySecOid]) {
+            return true;
+          } else {
+            return false;
+          }
+        }
+      }
+    },
+    isRequired(item) {
+      return item.nullableFlag != "true";
+    },
+    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 [];
+      }
+    },
+    // 鍙傜収缁勪欢鏁版嵁鍙樻洿
+    referConfigDataUpdate(data) {
+      const { field } = data;
+      this.localSecVOList = this.localSecVOList.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.localSecVOList);
+    },
+  }
+}
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 60a1acb..f412952 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -477,17 +477,17 @@
       <!-- 鍒嗙被鐮佹鐮佸�肩鐞� -->
       <el-row v-show="!isShowFixedForm">
         <el-col :span="11">
-          <basic-container>
+          <basic-container style="overflow:hidden">
             <div
               class="box classify_value_box"
               style="height: 60vh; margin-bottom: -40px"
             >
               <basic-container>
-                <div class="abox" style="height: 54vh">
+                <div class="abox">
                   <avue-tree
                     :data="classifyValueTreeData"
                     :option="classisyValueTreeOption"
-                    style=""
+                    style="height: calc(60vh - 100px);"
                     @node-click="classisyValueTreeOnodeClick"
                   />
                 </div>
diff --git a/Source/UBCS-WEB/src/views/docking/loge.vue b/Source/UBCS-WEB/src/views/docking/loge.vue
index 4653329..574dfaa 100644
--- a/Source/UBCS-WEB/src/views/docking/loge.vue
+++ b/Source/UBCS-WEB/src/views/docking/loge.vue
@@ -96,7 +96,7 @@
           },
           {
             label: '绫诲瀷',
-            prop: 'type',
+            prop: 'typeText',
             search: true,
             sortable:true,
             width: 150
@@ -129,7 +129,7 @@
             width: 160
           },
           {
-            label: '鏄惁鎺ㄩ�佹垚鍔�',
+            label: '鏄惁鎴愬姛',
             prop: 'interfaceStatus',
             search: true,
             sortable:true,
diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue
index 11490ee..d701e74 100644
--- a/Source/UBCS-WEB/src/views/modeling/original.vue
+++ b/Source/UBCS-WEB/src/views/modeling/original.vue
@@ -1,4 +1,4 @@
-<template>
+  <template>
   <el-container>
     <el-main>
       <basic-container>
diff --git a/Source/UBCS-WEB/src/views/modeling/originalAdd.vue b/Source/UBCS-WEB/src/views/modeling/originalAdd.vue
index 73f633b..6b06bb8 100644
--- a/Source/UBCS-WEB/src/views/modeling/originalAdd.vue
+++ b/Source/UBCS-WEB/src/views/modeling/originalAdd.vue
@@ -111,7 +111,7 @@
             <!-- 閫夋嫨鏋氫妇鏃剁殑寮圭獥 -->
             <el-dialog title="鏋氫妇鍒楄〃" :visible.sync="enumRefer.show" append-to-body @close="closeEnumDialog" width="70%"
                 style="height: 115vh;">
-                <avue-crud ref="eunmTable" :option="enumRefer.option" :data="enumRefer.data" class="enumTable"
+                <avue-crud ref="eunmTable" :option="enumRefer.option"  @on-load="enumOnLoad" :data="enumRefer.data" class="enumTable"
                     @row-click="enumReferClick" :page.sync="enumRefer.enumPage">
                     <template slot="radio" slot-scope="{row}">
                         <el-radio v-model="enumRefer.selectRow" :label="row.$index">&nbsp;
@@ -281,6 +281,12 @@
         this.initAttributeReferTypeList();
     },
     methods: {
+        enumOnLoad(){
+          getParentList(this.enumRefer.enumPage.currentPage, this.enumRefer.enumPage.pageSize).then(res => {
+            this.enumRefer.enumPage.total = res.data.data.total;
+            this.enumRefer.data = res.data.data.records;
+          })
+        },
         closeSubmitDialog() {
             this.resetAttributeForm();
             this.showSubmitDialog = false;
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java
index e8b5abb..1e32400 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java
@@ -31,7 +31,8 @@
 	private Component parentComponet = null;
 	private Map<String, String> attrNameAndValMap = new LinkedHashMap();//瀛樺偍灞炴�у悕绉帮紙鍖呭惈鍐呴儴鍚嶇О鍜屽閮ㄥ悕绉帮級鍜屽搴旂殑鍊�
 	private String tokenUrl= ConfigUtils.getConfigValue("410.code.token.url","http://127.0.0.1:37000/ubcs-auth/oauth/token");
-
+	private String[] fields;
+	private String[] Values;
 	/**
 	 * 瀛樺偍鍒嗙被鐨凪ap,key:鍒嗙被鍚嶇О锛寁alue锛氬垎绫诲��
 	 */
@@ -49,6 +50,18 @@
 	public CodeApplyFor410Dialog(JDialog dialog, String clsfName, String deptName) {
 		this(dialog, "pdmUser", clsfName, deptName,new String[]{});
 	}
+	public CodeApplyFor410Dialog(Frame frame, String clsfName, String deptName,String[] fields,String[] values){
+		this.setModal(true);
+		parentComponet = frame;
+		this.userName = userName;
+		this.clsfName = clsfName;
+		this.deptName = deptName;
+		this.fields=fields;
+		this.Values=values;
+		//this.libName = libName;
+		init();
+
+	}
 	public CodeApplyFor410Dialog(Frame frame, String userName, String clsfName, String deptName, String[] libName){
 		super(frame, true);
 		VCISwingUtil.setClientMainFrame(frame);
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java
new file mode 100644
index 0000000..c96f200
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java
@@ -0,0 +1,20 @@
+package com.vci.ubcs.code.vo.webserviceModel.person;
+
+public class EnumerableData {
+	/***
+	 *鍐呴儴鍊�
+	 */
+	private String mdm_code;
+	/***
+	 * 鍐呴儴鍊�
+	 */
+	private String code;
+	/**
+	 * 鏄剧ず鍊�
+	 */
+	private String name;
+	/**
+	 * 鎻忚堪
+	 */
+	private String descript;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java
new file mode 100644
index 0000000..232275a
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java
@@ -0,0 +1,103 @@
+package com.vci.ubcs.code.vo.webserviceModel.person;
+
+import java.util.List;
+
+public class OrgData {
+	/**
+	 * 鏁版嵁瀹℃壒鐘舵��0锛氬鎵规甯革紝1锛氬鎵规嫆缁�
+	 */
+	private int code;
+	/***
+	 * 瀹℃壒鎷掔粷鏃剁殑璇︽儏淇℃伅
+	 */
+	private String msg;
+	/**
+	 * 闆嗘垚绯荤粺缂栫爜
+	 */
+	private String systemCode;
+	/**
+	 * 涓绘暟鎹ā鍨嬬殑缂栫爜
+	 */
+	private  String mdType;
+	/***
+	 * 鏁版嵁鍒嗗彂鎵�瑙﹀彂鐨勭被鍨� 鎵嬪姩鍒嗗彂:distribute_manual,
+	 */
+	private String action;
+	/***
+	 * 娑堣垂绯荤粺涓厤缃殑鍒嗗彂浠ょ墝
+	 */
+	private String distributeToken;
+	/***
+	 * 鍒嗗彂浜哄憳鏁版嵁淇℃伅
+	 */
+	private List<OrgMasterData> masterData ;
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	public String getSystemCode() {
+		return systemCode;
+	}
+
+	public void setSystemCode(String systemCode) {
+		this.systemCode = systemCode;
+	}
+
+	public String getMdType() {
+		return mdType;
+	}
+
+	public void setMdType(String mdType) {
+		this.mdType = mdType;
+	}
+
+	public String getAction() {
+		return action;
+	}
+
+	public void setAction(String action) {
+		this.action = action;
+	}
+
+	public String getDistributeToken() {
+		return distributeToken;
+	}
+
+	public void setDistributeToken(String distributeToken) {
+		this.distributeToken = distributeToken;
+	}
+
+	public List<OrgMasterData> getMasterData() {
+		return masterData;
+	}
+
+	public void setMasterData(List<OrgMasterData> masterData) {
+		this.masterData = masterData;
+	}
+
+	@Override
+	public String toString() {
+		return "PersonData{" +
+			"code='" + code + '\'' +
+			", msg='" + msg + '\'' +
+			", systemCode='" + systemCode + '\'' +
+			", mdType='" + mdType + '\'' +
+			", action='" + action + '\'' +
+			", distributeToken='" + distributeToken + '\'' +
+			", masterData=" + masterData +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java
new file mode 100644
index 0000000..9d0edef
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java
@@ -0,0 +1,477 @@
+package com.vci.ubcs.code.vo.webserviceModel.person;
+
+public class OrgMasterData {
+
+	/**
+	 * 闅跺睘鍗曚綅浠g爜
+	 */
+	private  String company_code;
+	/**
+	 * 闅跺睘鍗曚綅鍚嶇О/鎵�灞炲叕鍙�
+	 */
+
+	private  String  company_name;
+	/**
+	 * 閮ㄩ棬缂栫爜
+	 */
+	private String department_code;
+	/**
+	 * 閮ㄩ棬鍚嶇О
+	 */
+	private String department_name;
+	/**
+	 * 閮ㄩ棬绫诲瀷 1=鏅�氶儴闂紝2=鍐崇瓥閮ㄩ棬
+	 */
+	private String department_type;
+	/**
+	 * 涓婄骇閮ㄩ棬缂栫爜 鎵�灞嬩笂绾ч儴闂紝寮曠敤閮ㄩ棬涓绘暟鎹紝闆嗗洟鍛藉悕鈥滀笂绾ч儴闂ㄤ唬鐮�
+	 */
+	private String  parent_department_code;
+	/**
+	 * 涓婄骇閮ㄩ棬鍚嶇О
+	 */
+	private String  parent_department_name;
+	/**
+	 * 閮ㄩ棬璐熻矗浜�
+	 */
+	private String  department_head;
+	/***
+	 * 璐熻矗浜虹紪鐮�
+	 */
+	private String department_head_code;
+	/***
+	 * 鐢佃瘽
+	 */
+	private String telephone_number;
+	/***
+	 * 鎺掑簭鍙�
+	 */
+	private  String sort_order;
+	/**
+	 *鍚敤鐘舵�� 1=鏈惎鐢紝2=宸插惎鐢紝3e宸插仠鐢�
+	 */
+	private int enable_datus;
+	/**
+	 * 閮ㄩ棬灞傜骇
+	 */
+	private String department_level;
+	/***
+	 * 鏄铏氭嫙閮ㄩ棬
+	 */
+	private String is_virtual;
+	/***
+	 * 閮ㄩ棬鐘舵��,鏈夋晥銆佷綔搴�
+	 */
+	private  String department_status;
+	/***
+	 * 閮ㄩ棬鏄剧ず鐘舵��,鏄剧ず銆佷笉鏄剧ず
+	 */
+	private String diplay_status;
+	/***
+	 * 閮ㄩ棬ID璺緞
+	 */
+	private String id_route;
+	/***
+	 *閮ㄩ棬鍚嶇О璺緞
+	 */
+	private String name_route;
+	/***
+	 *鑺傜偣绫诲瀷,褰撳墠鏂板姞鑺傜偣鐨勭被鍒紝閮ㄩ棬锛屼紒涓�(娉曚汉鍗曚綅)锛岄粯璁�
+	 */
+	private String node_type;
+	/***
+	 * 閮ㄩ棬鍘熺紪鐮�,璁板綍璇ラ儴闂ㄧ殑鍘熸湁缂栫爜锛屼綔涓烘崲鍙锋椂鐨勫瑙�
+	 */
+	private String onginal_code;
+	/**
+	 * 鍒涘缓鑰�
+	 */
+	private String creator;
+	/***
+	 * 鍒涘缓鏃堕棿
+	 */
+	private String createtime;
+	/***
+	 * 淇敼鑰�
+	 */
+	private  String modifier;
+	/**
+	 * 淇敼鏃堕棿
+	 */
+	private String modifytime;
+	private String mdm_parentcode;
+	private  int mdm_workflow_status;
+	private String  mdm_datastatus;
+	private String mdm_cleanstatus;
+	private String  link_fieldvalue;
+	private String floy_middatastatus;
+	private String originalcode;
+	private String pk_mdn;
+	private String mdm_duplicate;
+	private String mdm_code;
+	private String mdm_version;
+	private String original_nane;
+	private String ts;
+	/***
+	 *0:姝e父锛�1鏁版嵁琚垹闄わ紝榛樿涓�0;
+	 */
+	private int dr;
+	private String dr_ndm_code;
+
+	public String getCompany_code() {
+		return company_code;
+	}
+
+	public void setCompany_code(String company_code) {
+		this.company_code = company_code;
+	}
+
+	public String getCompany_name() {
+		return company_name;
+	}
+
+	public void setCompany_name(String company_name) {
+		this.company_name = company_name;
+	}
+
+	public String getDepartment_code() {
+		return department_code;
+	}
+
+	public void setDepartment_code(String department_code) {
+		this.department_code = department_code;
+	}
+
+	public String getDepartment_name() {
+		return department_name;
+	}
+
+	public void setDepartment_name(String department_name) {
+		this.department_name = department_name;
+	}
+
+	public String getDepartment_type() {
+		return department_type;
+	}
+
+	public void setDepartment_type(String department_type) {
+		this.department_type = department_type;
+	}
+
+	public String getParent_department_code() {
+		return parent_department_code;
+	}
+
+	public void setParent_department_code(String parent_department_code) {
+		this.parent_department_code = parent_department_code;
+	}
+
+	public String getParent_department_name() {
+		return parent_department_name;
+	}
+
+	public void setParent_department_name(String parent_department_name) {
+		this.parent_department_name = parent_department_name;
+	}
+
+	public String getDepartment_head() {
+		return department_head;
+	}
+
+	public void setDepartment_head(String department_head) {
+		this.department_head = department_head;
+	}
+
+	public String getDepartment_head_code() {
+		return department_head_code;
+	}
+
+	public void setDepartment_head_code(String department_head_code) {
+		this.department_head_code = department_head_code;
+	}
+
+	public String getTelephone_number() {
+		return telephone_number;
+	}
+
+	public void setTelephone_number(String telephone_number) {
+		this.telephone_number = telephone_number;
+	}
+
+	public String getSort_order() {
+		return sort_order;
+	}
+
+	public void setSort_order(String sort_order) {
+		this.sort_order = sort_order;
+	}
+
+	public int getEnable_datus() {
+		return enable_datus;
+	}
+
+	public void setEnable_datus(int enable_datus) {
+		this.enable_datus = enable_datus;
+	}
+
+	public String getDepartment_level() {
+		return department_level;
+	}
+
+	public void setDepartment_level(String department_level) {
+		this.department_level = department_level;
+	}
+
+	public String getIs_virtual() {
+		return is_virtual;
+	}
+
+	public void setIs_virtual(String is_virtual) {
+		this.is_virtual = is_virtual;
+	}
+
+	public String getDepartment_status() {
+		return department_status;
+	}
+
+	public void setDepartment_status(String department_status) {
+		this.department_status = department_status;
+	}
+
+	public String getDiplay_status() {
+		return diplay_status;
+	}
+
+	public void setDiplay_status(String diplay_status) {
+		this.diplay_status = diplay_status;
+	}
+
+	public String getId_route() {
+		return id_route;
+	}
+
+	public void setId_route(String id_route) {
+		this.id_route = id_route;
+	}
+
+	public String getName_route() {
+		return name_route;
+	}
+
+	public void setName_route(String name_route) {
+		this.name_route = name_route;
+	}
+
+	public String getNode_type() {
+		return node_type;
+	}
+
+	public void setNode_type(String node_type) {
+		this.node_type = node_type;
+	}
+
+	public String getOnginal_code() {
+		return onginal_code;
+	}
+
+	public void setOnginal_code(String onginal_code) {
+		this.onginal_code = onginal_code;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	public String getCreatetime() {
+		return createtime;
+	}
+
+	public void setCreatetime(String createtime) {
+		this.createtime = createtime;
+	}
+
+	public String getModifier() {
+		return modifier;
+	}
+
+	public void setModifier(String modifier) {
+		this.modifier = modifier;
+	}
+
+	public String getModifytime() {
+		return modifytime;
+	}
+
+	public void setModifytime(String modifytime) {
+		this.modifytime = modifytime;
+	}
+
+	public String getMdm_parentcode() {
+		return mdm_parentcode;
+	}
+
+	public void setMdm_parentcode(String mdm_parentcode) {
+		this.mdm_parentcode = mdm_parentcode;
+	}
+
+	public int getMdm_workflow_status() {
+		return mdm_workflow_status;
+	}
+
+	public void setMdm_workflow_status(int mdm_workflow_status) {
+		this.mdm_workflow_status = mdm_workflow_status;
+	}
+
+	public String getMdm_datastatus() {
+		return mdm_datastatus;
+	}
+
+	public void setMdm_datastatus(String mdm_datastatus) {
+		this.mdm_datastatus = mdm_datastatus;
+	}
+
+	public String getMdm_cleanstatus() {
+		return mdm_cleanstatus;
+	}
+
+	public void setMdm_cleanstatus(String mdm_cleanstatus) {
+		this.mdm_cleanstatus = mdm_cleanstatus;
+	}
+
+	public String getLink_fieldvalue() {
+		return link_fieldvalue;
+	}
+
+	public void setLink_fieldvalue(String link_fieldvalue) {
+		this.link_fieldvalue = link_fieldvalue;
+	}
+
+	public String getFloy_middatastatus() {
+		return floy_middatastatus;
+	}
+
+	public void setFloy_middatastatus(String floy_middatastatus) {
+		this.floy_middatastatus = floy_middatastatus;
+	}
+
+	public String getOriginalcode() {
+		return originalcode;
+	}
+
+	public void setOriginalcode(String originalcode) {
+		this.originalcode = originalcode;
+	}
+
+	public String getPk_mdn() {
+		return pk_mdn;
+	}
+
+	public void setPk_mdn(String pk_mdn) {
+		this.pk_mdn = pk_mdn;
+	}
+
+	public String getMdm_duplicate() {
+		return mdm_duplicate;
+	}
+
+	public void setMdm_duplicate(String mdm_duplicate) {
+		this.mdm_duplicate = mdm_duplicate;
+	}
+
+	public String getMdm_code() {
+		return mdm_code;
+	}
+
+	public void setMdm_code(String mdm_code) {
+		this.mdm_code = mdm_code;
+	}
+
+	public String getMdm_version() {
+		return mdm_version;
+	}
+
+	public void setMdm_version(String mdm_version) {
+		this.mdm_version = mdm_version;
+	}
+
+	public String getOriginal_nane() {
+		return original_nane;
+	}
+
+	public void setOriginal_nane(String original_nane) {
+		this.original_nane = original_nane;
+	}
+
+	public String getTs() {
+		return ts;
+	}
+
+	public void setTs(String ts) {
+		this.ts = ts;
+	}
+
+	public int getDr() {
+		return dr;
+	}
+
+	public void setDr(int dr) {
+		this.dr = dr;
+	}
+
+	public String getDr_ndm_code() {
+		return dr_ndm_code;
+	}
+
+	public void setDr_ndm_code(String dr_ndm_code) {
+		this.dr_ndm_code = dr_ndm_code;
+	}
+
+	@Override
+	public String toString() {
+		return "OrgMasterData{" +
+			"company_code='" + company_code + '\'' +
+			", company_name='" + company_name + '\'' +
+			", department_code='" + department_code + '\'' +
+			", department_name='" + department_name + '\'' +
+			", department_type='" + department_type + '\'' +
+			", parent_department_code='" + parent_department_code + '\'' +
+			", parent_department_name='" + parent_department_name + '\'' +
+			", department_head='" + department_head + '\'' +
+			", department_head_code='" + department_head_code + '\'' +
+			", telephone_number='" + telephone_number + '\'' +
+			", sort_order='" + sort_order + '\'' +
+			", enable_datus=" + enable_datus +
+			", department_level='" + department_level + '\'' +
+			", is_virtual='" + is_virtual + '\'' +
+			", department_status='" + department_status + '\'' +
+			", diplay_status='" + diplay_status + '\'' +
+			", id_route='" + id_route + '\'' +
+			", name_route='" + name_route + '\'' +
+			", node_type='" + node_type + '\'' +
+			", onginal_code='" + onginal_code + '\'' +
+			", creator='" + creator + '\'' +
+			", createtime='" + createtime + '\'' +
+			", modifier='" + modifier + '\'' +
+			", modifytime='" + modifytime + '\'' +
+			", mdm_parentcode='" + mdm_parentcode + '\'' +
+			", mdm_workflow_status=" + mdm_workflow_status +
+			", mdm_datastatus='" + mdm_datastatus + '\'' +
+			", mdm_cleanstatus='" + mdm_cleanstatus + '\'' +
+			", link_fieldvalue='" + link_fieldvalue + '\'' +
+			", floy_middatastatus='" + floy_middatastatus + '\'' +
+			", originalcode='" + originalcode + '\'' +
+			", pk_mdn='" + pk_mdn + '\'' +
+			", mdm_duplicate='" + mdm_duplicate + '\'' +
+			", mdm_code='" + mdm_code + '\'' +
+			", mdm_version='" + mdm_version + '\'' +
+			", original_nane='" + original_nane + '\'' +
+			", ts='" + ts + '\'' +
+			", dr=" + dr +
+			", dr_ndm_code='" + dr_ndm_code + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java
new file mode 100644
index 0000000..c5491b7
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java
@@ -0,0 +1,106 @@
+package com.vci.ubcs.code.vo.webserviceModel.person;
+
+import java.util.List;
+
+/***
+ * 涓庝汉鍔涜祫婧愰泦鎴愮殑鏁版嵁瀵硅薄
+ */
+public class PersonData {
+	/**
+	 * 鏁版嵁瀹℃壒鐘舵��0锛氬鎵规甯革紝1锛氬鎵规嫆缁�
+	 */
+	private int code;
+	/***
+	 * 瀹℃壒鎷掔粷鏃剁殑璇︽儏淇℃伅
+	 */
+	private String msg;
+	/**
+	 * 闆嗘垚绯荤粺缂栫爜
+	 */
+	private String systemCode;
+	/**
+	 * 涓绘暟鎹ā鍨嬬殑缂栫爜
+	 */
+	private  String mdType;
+	/***
+	 * 鏁版嵁鍒嗗彂鎵�瑙﹀彂鐨勭被鍨� 鎵嬪姩鍒嗗彂:distribute_manual,
+	 */
+	private String action;
+	/***
+	 * 娑堣垂绯荤粺涓厤缃殑鍒嗗彂浠ょ墝
+	 */
+	private String distributeToken;
+	/***
+	 * 鍒嗗彂浜哄憳鏁版嵁淇℃伅
+	 */
+	private List<PersonMasterData> masterData ;
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	public String getSystemCode() {
+		return systemCode;
+	}
+
+	public void setSystemCode(String systemCode) {
+		this.systemCode = systemCode;
+	}
+
+	public String getMdType() {
+		return mdType;
+	}
+
+	public void setMdType(String mdType) {
+		this.mdType = mdType;
+	}
+
+	public String getAction() {
+		return action;
+	}
+
+	public void setAction(String action) {
+		this.action = action;
+	}
+
+	public String getDistributeToken() {
+		return distributeToken;
+	}
+
+	public void setDistributeToken(String distributeToken) {
+		this.distributeToken = distributeToken;
+	}
+
+	public List<PersonMasterData> getMasterData() {
+		return masterData;
+	}
+
+	public void setMasterData(List<PersonMasterData> masterData) {
+		this.masterData = masterData;
+	}
+
+	@Override
+	public String toString() {
+		return "PersonData{" +
+			"code='" + code + '\'' +
+			", msg='" + msg + '\'' +
+			", systemCode='" + systemCode + '\'' +
+			", mdType='" + mdType + '\'' +
+			", action='" + action + '\'' +
+			", distributeToken='" + distributeToken + '\'' +
+			", masterData=" + masterData +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java
new file mode 100644
index 0000000..d75d269
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java
@@ -0,0 +1,722 @@
+package com.vci.ubcs.code.vo.webserviceModel.person;
+
+public class PersonMasterData {
+	/***
+	 * 鏁版嵁鍦ㄦ绯荤粺涓敮涓�鏍囪瘑
+	 */
+	private String id;
+
+	/***
+	 * 鍛樺伐缂栫爜锛堜紒涓氱紪鐮侊級
+	 */
+	private String lm_code;
+
+	/**
+	 * 闆嗗洟鍛樺伐缂栧彿
+	 */
+	private String group_code;
+	/***
+	 * 鍛樺伐濮撳悕
+	 */
+	private String name;
+	/**
+	 * 涓绘暟鎹紪鐮�
+	 */
+	private String mdm_code;
+	/***
+	 *0:姝e父锛�1鏁版嵁琚垹闄わ紝榛樿涓�0;
+	 */
+	private int dr;
+	/***
+	 * 琛屾斂鍖哄煙鍖�
+	 */
+	private String admin_division;
+	/***
+	 * 琛屾斂鍖哄煙鍖栧彿鐮�
+	 */
+	private String admin_division_code;
+	/**
+	 * 鍑虹敓鏃ユ湡(yyyy-MM-dd)
+	 */
+	private String birthday;
+	/**
+	 * 鍑虹敓鍦�
+	 */
+	private String birthplace;
+	/***
+	 * 绫嶈疮
+	 */
+	private String cittizenship;
+
+	/**
+	 * 鍥藉/鍦板尯
+	 */
+	private String country;
+	/***
+	 * 閮ㄩ棬
+	 */
+	private String dept_type;
+	/***
+	 * 閮ㄩ棬鍚嶇О
+	 */
+	private String deptName;
+	/***
+	 * 瀛﹀巻
+	 */
+	private String education;
+
+	/***
+	 * 浠昏亴鍗曚綅缂栫爜
+	 */
+	private String employer_code;
+	/***
+	 * 鐢ㄥ伐褰㈠紡
+	 */
+	private String employment_form;
+
+
+	/**
+	 * 韬唤璇佺紪鍙�
+	 */
+	private String id_number;
+	/***
+	 * 璇佷欢绫诲瀷
+	 */
+	private String id_type;
+	/***
+	 * 鏄惁涓昏亴
+	 */
+	private String is_keyposion;
+	/**
+	 * 濠氬Щ鐘跺喌
+	 */
+	private String marital_status;
+	/**
+	 * 鎵嬫満鍙风爜
+	 */
+	private String mobile_phone;
+
+	/***
+	 * 鍚嶆棌
+	 */
+	private String nationality;
+	/**
+	 * 鍔炲叕鐢佃瘽
+	 */
+	private String office_telephone;
+
+	/***
+	 *澶栫綉閭
+	 */
+	private String outer_email;
+
+	/***
+	 *涓婄骇闂ㄧ紪鐮�
+	 */
+	private String parent_dept_code;
+	/***
+	 *涓婄骇闂ㄥ悕绉�
+	 */
+	private String parent_dept_name;
+
+	/***
+	 *鏀挎不闈㈣矊
+	 */
+	private String politiccountenance;
+	/***
+	 * 宀椾綅
+	 */
+	private String position;
+
+	/***
+	 * 鑱岀О
+	 */
+	private String work_title;
+	/***
+	 * 浜哄憳绫诲埆
+	 */
+	private String worker_category;
+
+	/***
+	 * 鑱屽姟
+	 */
+	private String worker_duty;
+
+	/***
+	 * 宸ヤ綔閭
+	 */
+	private String worker_email;
+
+	/***
+	 * 鑱岀骇
+	 */
+	private String worker_level;
+
+	/***
+	 * 浜哄憳瀵嗙骇
+	 */
+	private String worker_security_level;
+
+	/***
+	 * 娴佺▼鐘舵��
+	 */
+	private int mdm_workflow;
+	/***
+	 * 淇敼鑰�
+	 */
+	private String modifier;
+	/***
+	 * 淇敼鏃堕棿
+	 */
+	private String modifytime;
+	/***
+	 * 鍒涘缓鑰�
+	 */
+	private String creator;
+	/***
+	 * 鍒涘缓鏃堕棿
+	 */
+	private String createtime;
+
+
+	/**
+	 * 鏁版嵁鐘舵��
+	 */
+	private int mdm_datastatus;
+	private String link_fieldvalue;
+	private String flow_middatastatus;
+	private String employer;
+	private int mdm_duplicate;
+	private EnumerableData gerder_entity;
+	private EnumerableData employment_type_entity;
+	private String gerder;
+	private  String employment_type;
+	private String employment_type_nane;
+	private String mdm_cleanstatus;
+	private String mdm_parentcode;
+	private String mdm_yersion;
+	private String dr_mdm_code;
+	private String pk_mdm;
+
+	private String gender_name;
+	private String ts;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getLm_code() {
+		return lm_code;
+	}
+
+	public void setLm_code(String lm_code) {
+		this.lm_code = lm_code;
+	}
+
+	public String getGroup_code() {
+		return group_code;
+	}
+
+	public void setGroup_code(String group_code) {
+		this.group_code = group_code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getMdm_code() {
+		return mdm_code;
+	}
+
+	public void setMdm_code(String mdm_code) {
+		this.mdm_code = mdm_code;
+	}
+
+	public int getDr() {
+		return dr;
+	}
+
+	public void setDr(int dr) {
+		this.dr = dr;
+	}
+
+	public String getAdmin_division() {
+		return admin_division;
+	}
+
+	public void setAdmin_division(String admin_division) {
+		this.admin_division = admin_division;
+	}
+
+	public String getAdmin_division_code() {
+		return admin_division_code;
+	}
+
+	public void setAdmin_division_code(String admin_division_code) {
+		this.admin_division_code = admin_division_code;
+	}
+
+	public String getBirthday() {
+		return birthday;
+	}
+
+	public void setBirthday(String birthday) {
+		this.birthday = birthday;
+	}
+
+	public String getBirthplace() {
+		return birthplace;
+	}
+
+	public void setBirthplace(String birthplace) {
+		this.birthplace = birthplace;
+	}
+
+	public String getCittizenship() {
+		return cittizenship;
+	}
+
+	public void setCittizenship(String cittizenship) {
+		this.cittizenship = cittizenship;
+	}
+
+	public String getCountry() {
+		return country;
+	}
+
+	public void setCountry(String country) {
+		this.country = country;
+	}
+
+	public String getDept_type() {
+		return dept_type;
+	}
+
+	public void setDept_type(String dept_type) {
+		this.dept_type = dept_type;
+	}
+
+	public String getDeptName() {
+		return deptName;
+	}
+
+	public void setDeptName(String deptName) {
+		this.deptName = deptName;
+	}
+
+	public String getEducation() {
+		return education;
+	}
+
+	public void setEducation(String education) {
+		this.education = education;
+	}
+
+	public String getEmployer_code() {
+		return employer_code;
+	}
+
+	public void setEmployer_code(String employer_code) {
+		this.employer_code = employer_code;
+	}
+
+	public String getEmployment_form() {
+		return employment_form;
+	}
+
+	public void setEmployment_form(String employment_form) {
+		this.employment_form = employment_form;
+	}
+
+	public String getId_number() {
+		return id_number;
+	}
+
+	public void setId_number(String id_number) {
+		this.id_number = id_number;
+	}
+
+	public String getId_type() {
+		return id_type;
+	}
+
+	public void setId_type(String id_type) {
+		this.id_type = id_type;
+	}
+
+	public String getIs_keyposion() {
+		return is_keyposion;
+	}
+
+	public void setIs_keyposion(String is_keyposion) {
+		this.is_keyposion = is_keyposion;
+	}
+
+	public String getMarital_status() {
+		return marital_status;
+	}
+
+	public void setMarital_status(String marital_status) {
+		this.marital_status = marital_status;
+	}
+
+	public String getMobile_phone() {
+		return mobile_phone;
+	}
+
+	public void setMobile_phone(String mobile_phone) {
+		this.mobile_phone = mobile_phone;
+	}
+
+	public String getNationality() {
+		return nationality;
+	}
+
+	public void setNationality(String nationality) {
+		this.nationality = nationality;
+	}
+
+	public String getOffice_telephone() {
+		return office_telephone;
+	}
+
+	public void setOffice_telephone(String office_telephone) {
+		this.office_telephone = office_telephone;
+	}
+
+	public String getOuter_email() {
+		return outer_email;
+	}
+
+	public void setOuter_email(String outer_email) {
+		this.outer_email = outer_email;
+	}
+
+	public String getParent_dept_code() {
+		return parent_dept_code;
+	}
+
+	public void setParent_dept_code(String parent_dept_code) {
+		this.parent_dept_code = parent_dept_code;
+	}
+
+	public String getParent_dept_name() {
+		return parent_dept_name;
+	}
+
+	public void setParent_dept_name(String parent_dept_name) {
+		this.parent_dept_name = parent_dept_name;
+	}
+
+	public String getPoliticcountenance() {
+		return politiccountenance;
+	}
+
+	public void setPoliticcountenance(String politiccountenance) {
+		this.politiccountenance = politiccountenance;
+	}
+
+	public String getPosition() {
+		return position;
+	}
+
+	public void setPosition(String position) {
+		this.position = position;
+	}
+
+	public String getWork_title() {
+		return work_title;
+	}
+
+	public void setWork_title(String work_title) {
+		this.work_title = work_title;
+	}
+
+	public String getWorker_category() {
+		return worker_category;
+	}
+
+	public void setWorker_category(String worker_category) {
+		this.worker_category = worker_category;
+	}
+
+	public String getWorker_duty() {
+		return worker_duty;
+	}
+
+	public void setWorker_duty(String worker_duty) {
+		this.worker_duty = worker_duty;
+	}
+
+	public String getWorker_email() {
+		return worker_email;
+	}
+
+	public void setWorker_email(String worker_email) {
+		this.worker_email = worker_email;
+	}
+
+	public String getWorker_level() {
+		return worker_level;
+	}
+
+	public void setWorker_level(String worker_level) {
+		this.worker_level = worker_level;
+	}
+
+	public String getWorker_security_level() {
+		return worker_security_level;
+	}
+
+	public void setWorker_security_level(String worker_security_level) {
+		this.worker_security_level = worker_security_level;
+	}
+
+	public int getMdm_workflow() {
+		return mdm_workflow;
+	}
+
+	public void setMdm_workflow(int mdm_workflow) {
+		this.mdm_workflow = mdm_workflow;
+	}
+
+	public String getModifier() {
+		return modifier;
+	}
+
+	public void setModifier(String modifier) {
+		this.modifier = modifier;
+	}
+
+	public String getModifytime() {
+		return modifytime;
+	}
+
+	public void setModifytime(String modifytime) {
+		this.modifytime = modifytime;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	public String getCreatetime() {
+		return createtime;
+	}
+
+	public void setCreatetime(String createtime) {
+		this.createtime = createtime;
+	}
+
+	public int getMdm_datastatus() {
+		return mdm_datastatus;
+	}
+
+	public void setMdm_datastatus(int mdm_datastatus) {
+		this.mdm_datastatus = mdm_datastatus;
+	}
+
+	public String getLink_fieldvalue() {
+		return link_fieldvalue;
+	}
+
+	public void setLink_fieldvalue(String link_fieldvalue) {
+		this.link_fieldvalue = link_fieldvalue;
+	}
+
+	public String getFlow_middatastatus() {
+		return flow_middatastatus;
+	}
+
+	public void setFlow_middatastatus(String flow_middatastatus) {
+		this.flow_middatastatus = flow_middatastatus;
+	}
+
+	public String getEmployer() {
+		return employer;
+	}
+
+	public void setEmployer(String employer) {
+		this.employer = employer;
+	}
+
+	public int getMdm_duplicate() {
+		return mdm_duplicate;
+	}
+
+	public void setMdm_duplicate(int mdm_duplicate) {
+		this.mdm_duplicate = mdm_duplicate;
+	}
+
+	public EnumerableData getGerder_entity() {
+		return gerder_entity;
+	}
+
+	public void setGerder_entity(EnumerableData gerder_entity) {
+		this.gerder_entity = gerder_entity;
+	}
+
+	public EnumerableData getEmployment_type_entity() {
+		return employment_type_entity;
+	}
+
+	public void setEmployment_type_entity(EnumerableData employment_type_entity) {
+		this.employment_type_entity = employment_type_entity;
+	}
+
+	public String getGerder() {
+		return gerder;
+	}
+
+	public void setGerder(String gerder) {
+		this.gerder = gerder;
+	}
+
+	public String getEmployment_type() {
+		return employment_type;
+	}
+
+	public void setEmployment_type(String employment_type) {
+		this.employment_type = employment_type;
+	}
+
+	public String getEmployment_type_nane() {
+		return employment_type_nane;
+	}
+
+	public void setEmployment_type_nane(String employment_type_nane) {
+		this.employment_type_nane = employment_type_nane;
+	}
+
+	public String getMdm_cleanstatus() {
+		return mdm_cleanstatus;
+	}
+
+	public void setMdm_cleanstatus(String mdm_cleanstatus) {
+		this.mdm_cleanstatus = mdm_cleanstatus;
+	}
+
+	public String getMdm_parentcode() {
+		return mdm_parentcode;
+	}
+
+	public void setMdm_parentcode(String mdm_parentcode) {
+		this.mdm_parentcode = mdm_parentcode;
+	}
+
+	public String getMdm_yersion() {
+		return mdm_yersion;
+	}
+
+	public void setMdm_yersion(String mdm_yersion) {
+		this.mdm_yersion = mdm_yersion;
+	}
+
+	public String getDr_mdm_code() {
+		return dr_mdm_code;
+	}
+
+	public void setDr_mdm_code(String dr_mdm_code) {
+		this.dr_mdm_code = dr_mdm_code;
+	}
+
+	public String getPk_mdm() {
+		return pk_mdm;
+	}
+
+	public void setPk_mdm(String pk_mdm) {
+		this.pk_mdm = pk_mdm;
+	}
+
+	public String getGender_name() {
+		return gender_name;
+	}
+
+	public void setGender_name(String gender_name) {
+		this.gender_name = gender_name;
+	}
+
+	public String getTs() {
+		return ts;
+	}
+
+	public void setTs(String ts) {
+		this.ts = ts;
+	}
+
+	@Override
+	public String toString() {
+		return "MasterData{" +
+			"id='" + id + '\'' +
+			", lm_code='" + lm_code + '\'' +
+			", group_code='" + group_code + '\'' +
+			", name='" + name + '\'' +
+			", mdm_code='" + mdm_code + '\'' +
+			", dr=" + dr +
+			", admin_division='" + admin_division + '\'' +
+			", admin_division_code='" + admin_division_code + '\'' +
+			", birthday='" + birthday + '\'' +
+			", birthplace='" + birthplace + '\'' +
+			", cittizenship='" + cittizenship + '\'' +
+			", country='" + country + '\'' +
+			", dept_type='" + dept_type + '\'' +
+			", deptName='" + deptName + '\'' +
+			", education='" + education + '\'' +
+			", employer_code='" + employer_code + '\'' +
+			", employment_form='" + employment_form + '\'' +
+			", id_number='" + id_number + '\'' +
+			", id_type='" + id_type + '\'' +
+			", is_keyposion='" + is_keyposion + '\'' +
+			", marital_status='" + marital_status + '\'' +
+			", mobile_phone='" + mobile_phone + '\'' +
+			", nationality='" + nationality + '\'' +
+			", office_telephone='" + office_telephone + '\'' +
+			", outer_email='" + outer_email + '\'' +
+			", parent_dept_code='" + parent_dept_code + '\'' +
+			", parent_dept_name='" + parent_dept_name + '\'' +
+			", politiccountenance='" + politiccountenance + '\'' +
+			", position='" + position + '\'' +
+			", work_title='" + work_title + '\'' +
+			", worker_category='" + worker_category + '\'' +
+			", worker_duty='" + worker_duty + '\'' +
+			", worker_email='" + worker_email + '\'' +
+			", worker_level='" + worker_level + '\'' +
+			", worker_security_level='" + worker_security_level + '\'' +
+			", mdm_workflow=" + mdm_workflow +
+			", modifier='" + modifier + '\'' +
+			", modifytime='" + modifytime + '\'' +
+			", creator='" + creator + '\'' +
+			", createtime='" + createtime + '\'' +
+			", mdm_datastatus=" + mdm_datastatus +
+			", link_fieldvalue='" + link_fieldvalue + '\'' +
+			", flow_middatastatus='" + flow_middatastatus + '\'' +
+			", employer='" + employer + '\'' +
+			", mdm_duplicate=" + mdm_duplicate +
+			", gerder_entity='" + gerder_entity + '\'' +
+			", employment_type_entity='" + employment_type_entity + '\'' +
+			", gerder='" + gerder + '\'' +
+			", employment_type='" + employment_type + '\'' +
+			", employment_type_nane='" + employment_type_nane + '\'' +
+			", mdm_cleanstatus='" + mdm_cleanstatus + '\'' +
+			", mdm_parentcode='" + mdm_parentcode + '\'' +
+			", mdm_yersion='" + mdm_yersion + '\'' +
+			", dr_mdm_code='" + dr_mdm_code + '\'' +
+			", pk_mdm='" + pk_mdm + '\'' +
+			", gender_name='" + gender_name + '\'' +
+			", ts='" + ts + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultMdMapping.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultMdMapping.java
new file mode 100644
index 0000000..4d53310
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultMdMapping.java
@@ -0,0 +1,89 @@
+package com.vci.ubcs.code.vo.webserviceModel.person;
+
+/***
+ * 鍒嗗彂鐨勬墍鏈夋暟鎹殑琛�缂樹俊鎭�
+ */
+public class ResultMdMapping {
+	/***
+	 * 鍒嗗彂鐨勫崟鏉′富鏁版嵁鐨勪富鏁版嵁缂栫爜
+	 */
+	private String mdmCode;
+	/***
+	 * 鍒嗗彂鏁版嵁鎵�鍘樼殑涓绘暟鎹ā鍨嬬紪鐮�
+	 */
+	private String entityCode;
+	/***
+	 *  鍒嗗彂鐨勫崟鏉′富鏁版嵁鍦ㄦ秷璐圭郴缁熺殑涓氬姟ID
+	 */
+	private String busiDataId;
+	/**
+	 * 鍒嗗彂鐨勫崟鏉′富鏁版嵁鏄惁娑堣垂鎴愬姛鎴栧け璐�
+	 */
+	private boolean success;
+	/**
+	 * 鍒嗗彂鐨勫崟鏉′富鏁版嵁鐨勬秷璐规垚鍔熸垨澶辫触鐨勮鎯呬俊鎭�
+	 */
+	private String message;
+
+	private ResultMdMapping subMdMappings;
+
+	public String getMdmCode() {
+		return mdmCode;
+	}
+
+	public void setMdmCode(String mdmCode) {
+		this.mdmCode = mdmCode;
+	}
+
+	public String getEntityCode() {
+		return entityCode;
+	}
+
+	public void setEntityCode(String entityCode) {
+		this.entityCode = entityCode;
+	}
+
+	public String getBusiDataId() {
+		return busiDataId;
+	}
+
+	public void setBusiDataId(String busiDataId) {
+		this.busiDataId = busiDataId;
+	}
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public void setSuccess(boolean success) {
+		this.success = success;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+	public ResultMdMapping getSubMdMappings() {
+		return subMdMappings;
+	}
+
+	public void setSubMdMappings(ResultMdMapping subMdMappings) {
+		this.subMdMappings = subMdMappings;
+	}
+
+	@Override
+	public String toString() {
+		return "ResultMdMapping{" +
+			"mdmCode='" + mdmCode + '\'' +
+			", entityCode='" + entityCode + '\'' +
+			", busiDataId='" + busiDataId + '\'' +
+			", success=" + success +
+			", message='" + message + '\'' +
+			", subMdMappings=" + subMdMappings +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java
new file mode 100644
index 0000000..3063b7f
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java
@@ -0,0 +1,49 @@
+package com.vci.ubcs.code.vo.webserviceModel.person;
+
+public class ResultOrgData {
+	/***
+	 * 鏍囪瘑澶勭悊鎴愬姛鎴栧け璐�
+	 */
+	private boolean success;
+	/***
+	 * 鎴愬姛鎴栧け璐ョ殑淇℃伅
+	 */
+	private String message;
+	/**
+	 * 鍒嗗彂鐨勬墍鏈夋暟鎹殑淇℃伅
+	 */
+	private ResultMdMapping mdMappings;
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public void setSuccess(boolean success) {
+		this.success = success;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+	public ResultMdMapping getMdMappings() {
+		return mdMappings;
+	}
+
+	public void setMdMappings(ResultMdMapping mdMappings) {
+		this.mdMappings = mdMappings;
+	}
+
+	@Override
+	public String toString() {
+		return "ResultData{" +
+			"success=" + success +
+			", message='" + message + '\'' +
+			", mdMappings=" + mdMappings +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json
new file mode 100644
index 0000000..78ec2df
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json
@@ -0,0 +1,79 @@
+{
+  msg:null,
+  masterData:[
+  {
+    "departnent_code": "108040",
+    "is_virtual": 0,
+    "id_route": "2843121148743936]2843121413050624]",
+    "departnent_type": "1",
+    "nodifytime": "2023-06-1510:34:37",
+    "mdm_workflow_status":l,
+    "modifier":"鐜嬬",
+    "telephone_nunber":null,
+    "mdm_datastatus":3,
+    "parent_departnent_nane":鈥滆储鍔$鐞嗛儴",
+    "ndn_cleanstatus": "VAITING",
+    "link_fieldvalue": null,
+    "dr:0,"
+    dr_ndm_code
+    ":"
+    0,
+    "enable_status :3,"
+    ndn_parentcode
+    ";null,"
+    departent
+    head
+    ":null,"
+    floy_middatastatus
+    ":null,"
+    originalcode
+    ":null,"
+    node
+    type
+    ":"
+    閮�,
+    "company_code": "20220423,department_level"
+    :
+    "2",
+    "nane_route": null,
+    "sort_order": "81鈥濓紝"
+    pk_mdn
+    ":"
+    1720683591179436130
+    ",display_status": "涓嶆樉绀�,"
+    parent_department
+    _code
+    ":"
+    108000
+    ",creator:"
+    鐜嬬憺娉�
+    鈥�,
+    "createtine": 2023-05-08
+    10: 45
+    :
+    33
+    锛�
+    "departnent nane": 闆嗗洟璐㈠姟澶�6666
+    鈥�
+    .
+    "ndm duplicate": 0,
+    ndn
+    code
+    ?
+    :
+    "99",
+    /dcpartment_status
+    ":"
+    浣滃簾
+    鈥�
+    锛�
+    ndm_version
+    ":4,company name :涓浗鑸彂榛庢槑"
+    original
+    nane: null,
+    "departnent head code": null,
+    "ts :"
+    2023-06-1510: 34
+    :
+    37.451
+    "]], distributeToken=, code=0, systemCode=nhdept,ndType=departnent_basic, action=distribute_manual}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java
new file mode 100644
index 0000000..695023c
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java
@@ -0,0 +1,68 @@
+package com.vci.ubcs.code.controller;
+
+import com.vci.ubcs.code.service.UniversalInterfaceI;
+import com.vci.ubcs.code.vo.webserviceModel.person.OrgData;
+import com.vci.ubcs.code.vo.webserviceModel.person.PersonData;
+import com.vci.ubcs.code.vo.webserviceModel.person.ResultOrgData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 鐢宠浜哄憳閮ㄩ棬鎺у埗鍣�
+ *
+ * @author xiejun
+ * @date 2023-09-06
+ */
+@RestController
+@RequestMapping("/codeApplyOrgPersonController")
+public class CodeApplyOrgPersonController {
+	/**
+	 * 鏃ュ織
+	 */
+	private Logger logger = LoggerFactory.getLogger(getClass());
+	/**
+	 * 鎺ュ彛闆嗘垚鏈嶅姟
+	 */
+	@Autowired
+	private UniversalInterfaceI universalInterfaceI;
+	/****
+	 * 浜哄憳鏁版嵁鍚屾
+	 * @param personData
+	 * @return
+	 * @throws Throwable
+	 */
+	@PostMapping("/syncDataForPerson")
+	public ResultOrgData syncDataForPerson(@RequestParam PersonData personData)  {
+		String result="";
+		try {
+			return universalInterfaceI.syncDataForPerson(personData);
+		}catch (Throwable e){
+			e.printStackTrace();
+			logger.error("applyCodeForPerson->"+e.getMessage());
+			return new ResultOrgData();
+		}
+	}
+
+	/****
+	 * 閮ㄩ棬鏁版嵁鍚屾
+	 * @param orgData 閮ㄩ棬鏁版嵁
+	 * @return
+	 * @throws Throwable
+	 */
+	@PostMapping("/syncDataForOrg")
+	public ResultOrgData syncDataForOrg(@RequestParam OrgData orgData)  {
+		String result="";
+		try {
+			return universalInterfaceI.syncDataForOrg(orgData);
+		}catch (Throwable e){
+			e.printStackTrace();
+			logger.error("applyCodeForOrg->"+e.getMessage());
+			return new ResultOrgData();
+		}
+	}
+}
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 92b611c..23e3f72 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
@@ -46,7 +46,6 @@
 		}
 		return result;
 	}
-
 	/****
 	 * 鏇存柊/鍒犻櫎/鐘舵�佹帴鍙�
 	 * @param dataString 灞炴�т俊鎭�
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 40cd5f1..5e226b2 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
@@ -1,4 +1,9 @@
 package com.vci.ubcs.code.service;
+import com.vci.ubcs.code.vo.webserviceModel.person.OrgData;
+import com.vci.ubcs.code.vo.webserviceModel.person.PersonData;
+import com.vci.ubcs.code.vo.webserviceModel.person.ResultOrgData;
+import org.springframework.web.bind.annotation.RequestParam;
+
 import javax.jws.WebService;
 
 /**
@@ -19,6 +24,21 @@
      */
     public String applyCode(String data,String dataType)throws Throwable;
 
+	/****
+	 * 浜哄憳鏁版嵁鍚屾
+	 * @param personData
+	 * @return
+	 * @throws Throwable
+	 */
+	public ResultOrgData syncDataForPerson(PersonData personData);
+	/****
+	 * 閮ㄩ棬鏁版嵁鍚屾
+	 * @param orgData
+	 * @return
+	 * @throws Throwable
+	 */
+	public ResultOrgData syncDataForOrg(OrgData orgData);
+
     /***
      * 缁熶竴鏇存柊鎺ュ彛
      * @param data
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
index d46f33c..775c622 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -535,6 +535,7 @@
 				dockingLogeDO.setClassifyOid(dockingTask.getClassifyOid());
 				dockingLogeDO.setClassifyId(dockingTask.getClassifyId());
 				dockingLogeDO.setClassifyName(dockingTask.getClassifyName());
+				dockingLogeDO.setCreateTime(new Date());
 				dockingLogeDO.setId(dockingTask.getId());
 				dockingLogeDO.setUniqueCode(dockingTask.getUniqueCode());
 				dockingLogeDO.setParamString(paramString);
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 f225f70..b54c7ba 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,7 @@
 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.person.*;
 import com.vci.ubcs.code.vo.webserviceModel.apply.*;
 import com.vci.ubcs.code.vo.webserviceModel.attrmap.*;
 import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO;
@@ -34,6 +35,7 @@
 import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultSystemVO;
 import com.vci.ubcs.code.webService.annotation.VciWebservice;
 import com.vci.ubcs.code.webService.config.AttributeMapConfig;
+import com.vci.ubcs.code.webService.config.PersonAndDeptConfig;
 import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
 import com.vci.ubcs.omd.feign.IBtmTypeClient;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
@@ -59,8 +61,6 @@
 import javax.annotation.Resource;
 import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
@@ -77,6 +77,11 @@
 	public boolean CODE_CHECKCONFIG;
 	@Autowired(required = false)
 	private AttributeMapConfig attributeMapConfig;
+	/***
+	 * 浜哄憳鐩稿叧閰嶇疆鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private PersonAndDeptConfig personAndDeptConfig;
 	/**
 	 * 缂撳瓨鏈嶅姟
 	 */
@@ -337,6 +342,113 @@
 	}
 
 
+
+	/****
+	 * 浜哄憳鏁版嵁鍚屾
+	 * @param personData
+	 * @return
+	 * @throws Throwable
+	 */
+	@Override
+	public ResultOrgData syncDataForPerson(PersonData personData) {
+		boolean isUsedFlag= personAndDeptConfig.isUsedFlag();
+		ResultOrgData resultOrgData=new ResultOrgData();
+		boolean success=true;
+		String message="";
+		if(isUsedFlag){
+			List<PersonMasterData> masterDataList = personData.getMasterData();
+			try {
+				String personLibrary = personAndDeptConfig.getPersonLibrary();
+				if (StringUtils.isBlank(personLibrary)) {
+					success=false;
+					log.info("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
+					throw  new Throwable("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
+				}
+				String personClassCode = personAndDeptConfig.getPersonClassCode();
+				ClassfyVO classfyVO = new ClassfyVO();
+				classfyVO.setLibrary(personLibrary);
+				classfyVO.setClassCode(personClassCode);
+				CodeClassifyVO  codeClassifyVO=this.getClassfy(classfyVO,personLibrary);
+				log.info("end锛氬垎绫绘煡璇㈠畬姣�");
+				//鑾峰彇鍒嗙被妯℃澘淇℃伅
+				if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
+					success=false;
+					throw  new  Throwable ("鏍规嵁閰嶇疆鍒嗙被鐨勫垎绫荤紪鍙凤紝鏈幏鍙栧埌鍒嗙被淇℃伅");
+				}
+				CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
+				if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
+					success=false;
+					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
+				}
+				List<PersonMasterData> personMasterDataList= personData.getMasterData();
+				List<Map> dataList=new ArrayList<>();
+				ApplyDatasVO applyDatasVO=new ApplyDatasVO();
+
+
+				List<ApplyDataVO> applyDataVOList=new ArrayList<>();
+				personMasterDataList.stream().forEach(personMasterData -> {
+					ApplyDataVO object=new ApplyDataVO();
+					object.setCode(personMasterData.getLm_code());//缂栫爜
+					object.setCreator(personMasterData.getCreator());//鍒涘缓鑰�
+					object.setEditor(personMasterData.getModifier());//淇敼鑰�
+					object.setId(personMasterData.getId());//涓婚敭
+					object.setStatus(CodeDefaultLC.RELEASED.getValue());//鐘舵�佸垯闇�瑕佸垽鏂�
+					Map<String,String> dataMap= VciBaseUtil.objectToMapString(personMasterData);
+					List<ProppertyVO> proppertyVOList=new ArrayList<>();
+					dataMap.forEach((key,vaule)->{
+						ProppertyVO proppertyVO=new ProppertyVO();
+						proppertyVO.setKey(key);
+						proppertyVO.setValue(vaule);
+						proppertyVOList.add(proppertyVO);
+					});
+					object.setProp(proppertyVOList);
+					applyDataVOList.add(object);
+				});
+				applyDatasVO.setObject(applyDataVOList);
+				DataObjectVO dataObjectVO = new DataObjectVO();
+				List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+				).collect(Collectors.toList());
+				this.getConfigDatas("ERP", personLibrary, applyDatasVO, attrVOS, dataObjectVO);
+				log.info("end锛氭暟鎹粍缁囧畬姣�");
+				//瑙勫垯鐨勪富閿渶瑕佸幓鑾峰彇
+				CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
+				if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){
+					success=false;
+					log.info("classifyFullInfo:"+"鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
+					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
+				}
+				CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
+				if(ruleVO==null||StringUtils.isBlank(ruleVO.getOid())){
+					success=false;
+					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旇鍒�");
+				}
+				log.info("end锛氳鍒欒幏鍙栧畬姣�");
+
+			}catch (Throwable e){
+				success=false;
+				message="浜哄憳鏁版嵁鎺ュ彈澶辫触:"+e.getMessage();
+			}finally {
+				//缁勭粐杩斿洖缁撴灉
+				masterDataList.stream().forEach(masterData -> {
+					ResultMdMapping resultMdMapping=new ResultMdMapping();
+					resultMdMapping.setBusiDataId(masterData.getId());
+				});
+			}
+
+		}
+
+		return resultOrgData;
+	}
+	/****
+	 * 閮ㄩ棬鏁版嵁鍚屾
+	 * @param orgData
+	 * @return
+	 * @throws Throwable
+	 */
+	@Override
+	public ResultOrgData syncDataForOrg(OrgData orgData) {
+		return null;
+	}
 	/***
 	 * 缁熶竴鏇存柊鎺ュ彛锛堟洿鏀圭姸鎬侊紝鏇存敼灞炴�т俊鎭級鎺ュ彛
 	 * @param data
@@ -404,7 +516,6 @@
 						throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧埌鍒嗙被淇℃伅");
 					}
 					log.info("end锛氬垎绫绘煡璇㈠畬姣�");
-
 					String operation="";
 					if(CODE_CHECKCONFIG) {
 						//鏍¢獙鏄惁閰嶇疆
@@ -527,7 +638,7 @@
 		log.info("鏌ヨ鍒嗙被鐨勬暟鎹被鍨�:->"+dataType);
 		ResultClassifyVO resultClassifyVO =new ResultClassifyVO();
 		List<ClassifyVO> classifyVOList=new ArrayList<>();
-		ResultData resultData=new ResultData();
+		com.vci.ubcs.code.vo.webserviceModel.classify.ResultData resultData=new com.vci.ubcs.code.vo.webserviceModel.classify.ResultData();
 		try {
 			if (StringUtils.isBlank(data)) {
 				errorid = "101";
@@ -1590,6 +1701,7 @@
 		dockingLoge.setParamString(parmaData);//鍙傛暟淇℃伅
 		dockingLoge.setReturnString(result);//杩斿洖淇℃伅
 		dockingLoge.setType(operation);//鏃ュ織鎿嶄綔绫诲瀷
+		dockingLoge.setCreateTime(new Date());
 		if(isSucess) {
 			dockingLoge.setInterfaceStatus("true");//鎺ュ彛闆嗘垚鐘舵��
 		}else{
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java
new file mode 100644
index 0000000..48d0413
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java
@@ -0,0 +1,82 @@
+package com.vci.ubcs.code.webService.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@ConfigurationProperties(prefix="code.applypersonanddept")
+@Component
+public class PersonAndDeptConfig {
+	/***
+	 * 浜哄憳涓氬姟绫诲瀷
+	 */
+	private String personLibrary;
+	/***
+	 * 浜哄憳鍒嗙被缂栫爜
+	 */
+	private String personClassCode;
+	/***
+	 * 閮ㄩ棬涓氬姟绫诲瀷
+	 */
+	private String deptLibrary;
+
+	/***
+	 * 閮ㄩ棬鍒嗙被缂栫爜
+	 */
+	private String deptClassCode;
+
+	/***
+	 * 鏄惁寮�鍚�
+	 */
+	private boolean isUsedFlag;
+
+	public String getPersonLibrary() {
+		return personLibrary;
+	}
+
+	public void setPersonLibrary(String personLibrary) {
+		this.personLibrary = personLibrary;
+	}
+
+	public String getPersonClassCode() {
+		return personClassCode;
+	}
+
+	public void setPersonClassCode(String personClassCode) {
+		this.personClassCode = personClassCode;
+	}
+
+	public String getDeptLibrary() {
+		return deptLibrary;
+	}
+
+	public void setDeptLibrary(String deptLibrary) {
+		this.deptLibrary = deptLibrary;
+	}
+
+	public String getDeptClassCode() {
+		return deptClassCode;
+	}
+
+	public void setDeptClassCode(String deptClassCode) {
+		this.deptClassCode = deptClassCode;
+	}
+
+	public boolean isUsedFlag() {
+		return isUsedFlag;
+	}
+
+	public void setUsedFlag(boolean usedFlag) {
+		isUsedFlag = usedFlag;
+	}
+
+	@Override
+	public String toString() {
+		return "PersonAndDeptConfig{" +
+			"personLibrary='" + personLibrary + '\'' +
+			", personClassCode='" + personClassCode + '\'' +
+			", deptLibrary='" + deptLibrary + '\'' +
+			", deptClassCode='" + deptClassCode + '\'' +
+			", isUsedFlag=" + isUsedFlag +
+			'}';
+	}
+}

--
Gitblit v1.9.3