From 65088015a5670f4973ce303f6e39b3a2330cca41 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期五, 08 九月 2023 14:58:23 +0800
Subject: [PATCH] 人员组织结构申请接口开发

---
 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/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json             |   79 ++
 /dev/null                                                                                                                  |   29 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java                |  121 +++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java             |   20 
 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/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java          |   39 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java       |   34 
 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/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java            |   68 ++
 15 files changed, 1,769 insertions(+), 95 deletions(-)

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/MasterData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/MasterData.java
deleted file mode 100644
index b4dd40c..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/MasterData.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.vci.ubcs.code.vo.webserviceModel;
-
-public class MasterData {
-	/**
-	 * 鍥藉
-	 */
-	private String country;
-	/***
-	 * 瀛﹀巻
-	 */
-	private String education;
-	/***
-	 * 娴佺▼鐘舵��
-	 */
-	private int mdm_workflow;
-	/***
-	 * 鏄惁鍦ㄥ矖
-	 */
-	private String worker_category;
-	/***
-	 * 淇敼鑰�
-	 */
-	private String modifier;
-	/**
-	 * 鏁版嵁鐘舵��
-	 */
-	private int mdm_datastatus;
-
-}
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/PersonData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java
similarity index 67%
copy from Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/PersonData.java
copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java
index 7b17236..232275a 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/PersonData.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgData.java
@@ -1,39 +1,42 @@
-package com.vci.ubcs.code.vo.webserviceModel;
+package com.vci.ubcs.code.vo.webserviceModel.person;
 
 import java.util.List;
 
-/***
- * 涓庝汉鍔涜祫婧愰泦鎴愮殑鏁版嵁瀵硅薄
- */
-public class PersonData {
+public class OrgData {
 	/**
-	 * 鐘舵�佸��
+	 * 鏁版嵁瀹℃壒鐘舵��0锛氬鎵规甯革紝1锛氬鎵规嫆缁�
 	 */
-	private String code;
+	private int code;
 	/***
-	 * 淇℃伅
+	 * 瀹℃壒鎷掔粷鏃剁殑璇︽儏淇℃伅
 	 */
 	private String msg;
 	/**
-	 * 绯荤粺缂栧彿
+	 * 闆嗘垚绯荤粺缂栫爜
 	 */
 	private String systemCode;
-
+	/**
+	 * 涓绘暟鎹ā鍨嬬殑缂栫爜
+	 */
 	private  String mdType;
-
+	/***
+	 * 鏁版嵁鍒嗗彂鎵�瑙﹀彂鐨勭被鍨� 鎵嬪姩鍒嗗彂:distribute_manual,
+	 */
 	private String action;
-
+	/***
+	 * 娑堣垂绯荤粺涓厤缃殑鍒嗗彂浠ょ墝
+	 */
 	private String distributeToken;
 	/***
-	 * 浜哄憳淇℃伅
+	 * 鍒嗗彂浜哄憳鏁版嵁淇℃伅
 	 */
-	private List<MasterData> masterData ;
+	private List<OrgMasterData> masterData ;
 
-	public String getCode() {
+	public int getCode() {
 		return code;
 	}
 
-	public void setCode(String code) {
+	public void setCode(int code) {
 		this.code = code;
 	}
 
@@ -77,11 +80,11 @@
 		this.distributeToken = distributeToken;
 	}
 
-	public List<MasterData> getMasterData() {
+	public List<OrgMasterData> getMasterData() {
 		return masterData;
 	}
 
-	public void setMasterData(List<MasterData> masterData) {
+	public void setMasterData(List<OrgMasterData> masterData) {
 		this.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/PersonData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java
similarity index 69%
rename from Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/PersonData.java
rename to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java
index 7b17236..c5491b7 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/PersonData.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonData.java
@@ -1,4 +1,4 @@
-package com.vci.ubcs.code.vo.webserviceModel;
+package com.vci.ubcs.code.vo.webserviceModel.person;
 
 import java.util.List;
 
@@ -7,33 +7,39 @@
  */
 public class PersonData {
 	/**
-	 * 鐘舵�佸��
+	 * 鏁版嵁瀹℃壒鐘舵��0锛氬鎵规甯革紝1锛氬鎵规嫆缁�
 	 */
-	private String code;
+	private int code;
 	/***
-	 * 淇℃伅
+	 * 瀹℃壒鎷掔粷鏃剁殑璇︽儏淇℃伅
 	 */
 	private String msg;
 	/**
-	 * 绯荤粺缂栧彿
+	 * 闆嗘垚绯荤粺缂栫爜
 	 */
 	private String systemCode;
-
+	/**
+	 * 涓绘暟鎹ā鍨嬬殑缂栫爜
+	 */
 	private  String mdType;
-
+	/***
+	 * 鏁版嵁鍒嗗彂鎵�瑙﹀彂鐨勭被鍨� 鎵嬪姩鍒嗗彂:distribute_manual,
+	 */
 	private String action;
-
+	/***
+	 * 娑堣垂绯荤粺涓厤缃殑鍒嗗彂浠ょ墝
+	 */
 	private String distributeToken;
 	/***
-	 * 浜哄憳淇℃伅
+	 * 鍒嗗彂浜哄憳鏁版嵁淇℃伅
 	 */
-	private List<MasterData> masterData ;
+	private List<PersonMasterData> masterData ;
 
-	public String getCode() {
+	public int getCode() {
 		return code;
 	}
 
-	public void setCode(String code) {
+	public void setCode(int code) {
 		this.code = code;
 	}
 
@@ -77,11 +83,11 @@
 		this.distributeToken = distributeToken;
 	}
 
-	public List<MasterData> getMasterData() {
+	public List<PersonMasterData> getMasterData() {
 		return masterData;
 	}
 
-	public void setMasterData(List<MasterData> masterData) {
+	public void setMasterData(List<PersonMasterData> masterData) {
 		this.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 3026afe..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
@@ -1,7 +1,6 @@
 package com.vci.ubcs.code.controller;
 
 import com.vci.ubcs.code.service.UniversalInterfaceI;
-import com.vci.ubcs.code.vo.webserviceModel.PersonData;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springblade.core.tool.api.R;
@@ -47,25 +46,6 @@
 		}
 		return result;
 	}
-
-	/****
-	 * 鐢宠鎺ュ彛
-	 * @param personData 鐢宠
-	 * @return
-	 * @throws Throwable
-	 */
-	@PostMapping("/applyCodeForPerson")
-	public R applyCodeForPerson(@RequestParam PersonData personData)  {
-		String result="";
-		try {
-			return universalInterfaceI.applyCodeForPerson(personData);
-		}catch (Throwable e){
-			e.printStackTrace();
-			logger.error("applyCodeForPerson->"+e.getMessage());
-			return R.fail("applyCodeForPerson->"+e.getMessage());
-		}
-	}
-
 	/****
 	 * 鏇存柊/鍒犻櫎/鐘舵�佹帴鍙�
 	 * @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 8f3dfc8..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,6 +1,8 @@
 package com.vci.ubcs.code.service;
-import com.vci.ubcs.code.vo.webserviceModel.PersonData;
-import org.springblade.core.tool.api.R;
+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;
 
@@ -22,12 +24,20 @@
      */
     public String applyCode(String data,String dataType)throws Throwable;
 
-	/***
-	 * 浜哄姏璧勬簮鐢宠鎺ュ彛
+	/****
+	 * 浜哄憳鏁版嵁鍚屾
 	 * @param personData
 	 * @return
+	 * @throws Throwable
 	 */
-	public R applyCodeForPerson(PersonData personData);
+	public ResultOrgData syncDataForPerson(PersonData personData);
+	/****
+	 * 閮ㄩ棬鏁版嵁鍚屾
+	 * @param orgData
+	 * @return
+	 * @throws Throwable
+	 */
+	public ResultOrgData syncDataForOrg(OrgData orgData);
 
     /***
      * 缁熶竴鏇存柊鎺ュ彛
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 096703f..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,7 +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.PersonData;
+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;
@@ -35,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;
@@ -60,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;
@@ -78,6 +77,11 @@
 	public boolean CODE_CHECKCONFIG;
 	@Autowired(required = false)
 	private AttributeMapConfig attributeMapConfig;
+	/***
+	 * 浜哄憳鐩稿叧閰嶇疆鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private PersonAndDeptConfig personAndDeptConfig;
 	/**
 	 * 缂撳瓨鏈嶅姟
 	 */
@@ -337,12 +341,114 @@
 		return resultStr;
 	}
 
+
+
+	/****
+	 * 浜哄憳鏁版嵁鍚屾
+	 * @param personData
+	 * @return
+	 * @throws Throwable
+	 */
 	@Override
-	public R applyCodeForPerson(PersonData personData) {
+	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
@@ -410,7 +516,6 @@
 						throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧埌鍒嗙被淇℃伅");
 					}
 					log.info("end锛氬垎绫绘煡璇㈠畬姣�");
-
 					String operation="";
 					if(CODE_CHECKCONFIG) {
 						//鏍¢獙鏄惁閰嶇疆
@@ -533,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";
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