liupeng преди 4 години
родител
ревизия
86e6938b88

+ 1 - 1
code/sapparent/sapservice/src/main/java/org/fouram/dto/input/UploadUpdateEmpDTO.java

@@ -20,7 +20,6 @@ public class UploadUpdateEmpDTO implements Serializable {
 
 	private String accountBank;
 	private String accountBankName;
-	private String birthDate;
 	private String cardId;
 	private Integer cardType;
 	private String email;
@@ -32,6 +31,7 @@ public class UploadUpdateEmpDTO implements Serializable {
 	private String socialArea;
 	private Integer type;
 	private String username;
+	private String provinceName;
 	private List<AddFamilyDTO> familyList;
 	
 	@Data

+ 17 - 12
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapBankMapper.xml

@@ -1,13 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="SapBankMapper">
-
-	<delete id="deleteAll">
-		delete from sap_bank
-	</delete>
-	
-	<insert id="save">
-		insert into sap_bank(userId,bank,branch,number,effectiveStartDate) 
-		values (#{userId},#{bank},#{branch},#{number},#{effectiveStartDate})
-	</insert>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="SapBankMapper">
+
+	<delete id="deleteAll">
+		delete from sap_bank
+	</delete>
+	
+	<insert id="save">
+		insert into sap_bank(userId,bank,branch,number,effectiveStartDate) 
+		values (#{userId},#{bank},#{branch},#{number},#{effectiveStartDate})
+	</insert>
+	
+	<select id="selectOneByPersonId" resultType="SapBank">
+		select * from sap_bank where userId=#{personId}
+	</select>
+	
 </mapper>

+ 18 - 14
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapContractMapper.xml

@@ -1,14 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="SapContractMapper">
-	
-	<delete id="deleteAll">
-		delete from sap_contract
-	</delete>
-	
-	<insert id="save">
-		insert into sap_contract(userId,startDate,legalName) 
-		values (#{userId},#{startDate},#{legalName})
-	</insert>
-	
-</mapper>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="SapContractMapper">
+	
+	<delete id="deleteAll">
+		delete from sap_contract
+	</delete>
+	
+	<insert id="save">
+		insert into sap_contract(userId,startDate,legalName) 
+		values (#{userId},#{startDate},#{legalName})
+	</insert>
+	
+	<select id="selectOneByPersonId" resultType="SapContract">
+		select * from sap_contract where userId=#{personId}
+	</select>
+	
+</mapper>

+ 22 - 18
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapEmpJobMapper.xml

@@ -1,18 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="SapEmpJobMapper">
-	
-	<delete id="deleteAll">
-		delete from sap_emp_job
-	</delete>
-	
-	<insert id="save">
-		insert into sap_emp_job(userId,positionName,positionEntryDate,companyName,businessUnitName,
-			divisionName,departmentName,teamName,location,locationName,managerId,
-			managerName,jobCodeName,jobTitle,rank,managementOrNot) 
-		values (#{userId},#{positionName},#{positionEntryDate},#{companyName},#{businessUnitName},
-			#{divisionName},#{departmentName},#{teamName},#{location},#{locationName},#{managerId},
-			#{managerName},#{jobCodeName},#{jobTitle},#{rank},#{managementOrNot})
-	</insert>
-	
-</mapper>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="SapEmpJobMapper">
+	
+	<delete id="deleteAll">
+		delete from sap_emp_job
+	</delete>
+	
+	<insert id="save">
+		insert into sap_emp_job(userId,positionName,positionEntryDate,companyName,businessUnitName,
+			divisionName,departmentName,teamName,location,locationName,managerId,
+			managerName,jobCodeName,jobTitle,rank,managementOrNot) 
+		values (#{userId},#{positionName},#{positionEntryDate},#{companyName},#{businessUnitName},
+			#{divisionName},#{departmentName},#{teamName},#{location},#{locationName},#{managerId},
+			#{managerName},#{jobCodeName},#{jobTitle},#{rank},#{managementOrNot})
+	</insert>
+	
+	<select id="selectOneByPersonId" resultType="SapEmpJob">
+		select * from sap_emp_job where userId=#{personId}
+	</select>
+	
+</mapper>

+ 19 - 14
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapPerGlobalInfoCHNMapper.xml

@@ -1,15 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="SapPerGlobalInfoCHNMapper">
-
-	<delete id="deleteAll">
-		delete from sap_per_global_info_chn
-	</delete>
-	
-	<insert id="save">
-		insert into sap_per_global_info_chn(personId,householdRegistrationType,nation,
-			politicalOutlook,orgRelationshipLocation,socialSecurityLocation) 
-		values (#{personId},#{householdRegistrationType},#{nation},
-			#{politicalOutlook},#{orgRelationshipLocation},#{socialSecurityLocation})
-	</insert>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="SapPerGlobalInfoCHNMapper">
+
+	<delete id="deleteAll">
+		delete from sap_per_global_info_chn
+	</delete>
+	
+	<insert id="save">
+		insert into sap_per_global_info_chn(personId,householdRegistrationType,nation,
+			politicalOutlook,orgRelationshipLocation,socialSecurityLocation) 
+		values (#{personId},#{householdRegistrationType},#{nation},
+			#{politicalOutlook},#{orgRelationshipLocation},#{socialSecurityLocation})
+	</insert>
+	
+	<select id="selectOneByPersonId" resultType="SapPerGlobalInfoCHN">
+		select * from sap_per_global_info_chn where personId=#{personId}
+	</select>
+	
 </mapper>

+ 39 - 35
code/sapparent/sapservice/src/main/java/org/fouram/service/SapBankService.java

@@ -1,35 +1,39 @@
-package org.fouram.service;
-
-import java.util.Iterator;
-
-import org.fouram.core.base.service.BaseService;
-import org.fouram.core.util.JsonNodeUtil;
-import org.fouram.entity.SapBank;
-import org.springframework.stereotype.Service;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-@Service
-public class SapBankService extends BaseService {
-
-	public void saveSapData() throws Exception {
-		delete("SapBankMapper.deleteAll", null);
-
-		String url = "https://api15.sapsf.cn/odata/v2/cust_bank?$format=json&$expand=cust_bankNav";
-		JsonNode node = requestService.getForObject(url, getHttpHeaders());
-		if (node != null) {
-			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
-			while (iterator.hasNext()) {
-				JsonNode userNode = iterator.next();
-				String userId = JsonNodeUtil.getValue(userNode, "externalCode");
-				String bank = JsonNodeUtil.getValue(userNode, "cust_bankNav", "label_zh_CN");
-				String branch = JsonNodeUtil.getValue(userNode, "cust_branch");
-				String number = JsonNodeUtil.getValue(userNode, "cust_number");
-				String effectiveStartDate = JsonNodeUtil.getValue(userNode, "effectiveStartDate");
-				SapBank entity = SapBank.builder().userId(userId).bank(bank).branch(branch).number(number)
-						.effectiveStartDate(effectiveStartDate).build();
-				save("SapBankMapper.save", entity);
-			}
-		}
-	}
-}
+package org.fouram.service;
+
+import java.util.Iterator;
+
+import org.fouram.core.base.service.BaseService;
+import org.fouram.core.util.JsonNodeUtil;
+import org.fouram.entity.SapBank;
+import org.springframework.stereotype.Service;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+@Service
+public class SapBankService extends BaseService {
+
+	public void saveSapData() throws Exception {
+		delete("SapBankMapper.deleteAll", null);
+
+		String url = "https://api15.sapsf.cn/odata/v2/cust_bank?$format=json&$expand=cust_bankNav";
+		JsonNode node = requestService.getForObject(url, getHttpHeaders());
+		if (node != null) {
+			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
+			while (iterator.hasNext()) {
+				JsonNode userNode = iterator.next();
+				String userId = JsonNodeUtil.getValue(userNode, "externalCode");
+				String bank = JsonNodeUtil.getValue(userNode, "cust_bankNav", "label_zh_CN");
+				String branch = JsonNodeUtil.getValue(userNode, "cust_branch");
+				String number = JsonNodeUtil.getValue(userNode, "cust_number");
+				String effectiveStartDate = JsonNodeUtil.getValue(userNode, "effectiveStartDate");
+				SapBank entity = SapBank.builder().userId(userId).bank(bank).branch(branch).number(number)
+						.effectiveStartDate(effectiveStartDate).build();
+				save("SapBankMapper.save", entity);
+			}
+		}
+	}
+
+	public SapBank selectOneByPersonId(String personId) throws Exception {
+		return (SapBank) findObject("SapBankMapper.selectOneByPersonId", personId);
+	}
+}

+ 40 - 36
code/sapparent/sapservice/src/main/java/org/fouram/service/SapContractService.java

@@ -1,36 +1,40 @@
-package org.fouram.service;
-
-import java.util.Iterator;
-
-import org.fouram.core.base.service.BaseService;
-import org.fouram.core.util.JsonNodeUtil;
-import org.fouram.entity.SapContract;
-import org.springframework.http.HttpHeaders;
-import org.springframework.stereotype.Service;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-@Service
-public class SapContractService extends BaseService {
-
-	public void saveSapData() throws Exception {
-		HttpHeaders headers = getHttpHeaders();
-
-		delete("SapContractMapper.deleteAll", null);
-
-		String url = "https://api15.sapsf.cn/odata/v2/cust_Contract?$format=json&$expand=cust_LegalNav";
-		JsonNode node = requestService.getForObject(url, headers);
-		if (node != null) {
-			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
-			while (iterator.hasNext()) {
-				JsonNode userNode = iterator.next();
-				String userId = JsonNodeUtil.getValue(userNode, "externalCode");
-				String startDate = JsonNodeUtil.getValue(userNode, "cust_BEGDA");
-				String legalName = JsonNodeUtil.getValue(userNode, "cust_LegalNav", "name");
-				SapContract entity = SapContract.builder().userId(userId).startDate(startDate).legalName(legalName)
-						.build();
-				save("SapContractMapper.save", entity);
-			}
-		}
-	}
-}
+package org.fouram.service;
+
+import java.util.Iterator;
+
+import org.fouram.core.base.service.BaseService;
+import org.fouram.core.util.JsonNodeUtil;
+import org.fouram.entity.SapContract;
+import org.springframework.http.HttpHeaders;
+import org.springframework.stereotype.Service;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+@Service
+public class SapContractService extends BaseService {
+
+	public void saveSapData() throws Exception {
+		HttpHeaders headers = getHttpHeaders();
+
+		delete("SapContractMapper.deleteAll", null);
+
+		String url = "https://api15.sapsf.cn/odata/v2/cust_Contract?$format=json&$expand=cust_LegalNav";
+		JsonNode node = requestService.getForObject(url, headers);
+		if (node != null) {
+			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
+			while (iterator.hasNext()) {
+				JsonNode userNode = iterator.next();
+				String userId = JsonNodeUtil.getValue(userNode, "externalCode");
+				String startDate = JsonNodeUtil.getValue(userNode, "cust_BEGDA");
+				String legalName = JsonNodeUtil.getValue(userNode, "cust_LegalNav", "name");
+				SapContract entity = SapContract.builder().userId(userId).startDate(startDate).legalName(legalName)
+						.build();
+				save("SapContractMapper.save", entity);
+			}
+		}
+	}
+
+	public SapContract selectOneByPersonId(String personId) throws Exception {
+		return (SapContract) findObject("SapContractMapper.selectOneByPersonId", personId);
+	}
+}

+ 85 - 81
code/sapparent/sapservice/src/main/java/org/fouram/service/SapEmpJobService.java

@@ -1,81 +1,85 @@
-package org.fouram.service;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.fouram.constants.WebConstants;
-import org.fouram.core.base.service.BaseService;
-import org.fouram.core.base.service.RequestService;
-import org.fouram.core.util.JsonNodeUtil;
-import org.fouram.entity.SapEmpJob;
-import org.fouram.entity.SapUser;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.google.common.collect.Maps;
-
-@Service
-public class SapEmpJobService extends BaseService {
-
-	@Autowired
-	private RequestService requestService;
-
-	public void setPosition(List<SapUser> sapUsers) {
-		String url = "https://api15.sapsf.cn/odata/v2/EmpJob?$filter=userId in %s&$format=json";
-		url = String.format(url, getUserIds(sapUsers));
-		JsonNode node = requestService.getForObject(url, getHttpHeaders());
-		Map<String, String> jobTitleMap = Maps.newHashMap();
-		if (node != null) {
-			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
-			while (iterator.hasNext()) {
-				JsonNode userNode = iterator.next();
-				String userId = JsonNodeUtil.getValue(userNode, "userId");
-				String jobTitle = JsonNodeUtil.getValue(userNode, "jobTitle");
-				jobTitleMap.put(userId, jobTitle);
-			}
-		}
-		for (SapUser sapUser : sapUsers) {
-			sapUser.setPosition(jobTitleMap.get(sapUser.getUserId()));
-			sapUser.setFormatPosition(formatPosition(sapUser.getPosition()));
-		}
-	}
-
-	public void saveSapData() throws Exception {
-		delete("SapEmpJobMapper.deleteAll", null);
-
-		String url = "https://api15.sapsf.cn/odata/v2/EmpJob?$format=json"
-				+ "&$expand=positionNav,companyNav,businessUnitNav,divisionNav,departmentNav,customString19Nav,locationNav,jobCodeNav";
-		JsonNode node = requestService.getForObject(url, getHttpHeaders());
-		if (node != null) {
-			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
-			while (iterator.hasNext()) {
-				JsonNode userNode = iterator.next();
-				String userId = JsonNodeUtil.getValue(userNode, "userId");
-				String positionName = JsonNodeUtil.getValue(userNode, "positionNav", "externalName_zh_CN");// 职位
-				String positionEntryDate = JsonNodeUtil.getValue(userNode, "positionEntryDate");// 就职日期
-				String companyName = JsonNodeUtil.getValue(userNode, "companyNav", "name");// 公司
-				String businessUnitName = JsonNodeUtil.getValue(userNode, "businessUnitNav", "name");// 业务单元
-				String divisionName = JsonNodeUtil.getValue(userNode, "divisionNav", "name");// 部门
-				String departmentName = JsonNodeUtil.getValue(userNode, "departmentNav", "name");// 团队
-				String teamName = JsonNodeUtil.getValue(userNode, "customString19Nav", "externalName_zh_CN");// 小组
-				String location = JsonNodeUtil.getValue(userNode, "location");// 工作地点
-				String locationName = JsonNodeUtil.getValue(userNode, "locationNav", "name");// 工作地点
-				String managerId = JsonNodeUtil.getValue(userNode, "managerId");// 直线经理
-				String managerName = WebConstants.NAME_MAP.get(managerId);// 直线经理
-				String jobCodeName = JsonNodeUtil.getValue(userNode, "jobCodeNav", "name");// 职务分类
-				String jobTitle = JsonNodeUtil.getValue(userNode, "jobTitle");// 标准职务名称
-				String rank = getLabelValue(JsonNodeUtil.getValue(userNode, "customString2"));// 职级
-				String managementOrNot = getLabelValue(JsonNodeUtil.getValue(userNode, "customString4"));// 是否管理层
-				SapEmpJob entity = SapEmpJob.builder().userId(userId).positionName(positionName)
-						.positionEntryDate(positionEntryDate).companyName(companyName)
-						.businessUnitName(businessUnitName).divisionName(divisionName).departmentName(departmentName)
-						.teamName(teamName).location(location).locationName(locationName).managerId(managerId)
-						.managerName(managerName).jobCodeName(jobCodeName).jobTitle(jobTitle).rank(rank)
-						.managementOrNot(managementOrNot).build();
-				save("SapEmpJobMapper.save", entity);
-			}
-		}
-	}
-}
+package org.fouram.service;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.fouram.constants.WebConstants;
+import org.fouram.core.base.service.BaseService;
+import org.fouram.core.base.service.RequestService;
+import org.fouram.core.util.JsonNodeUtil;
+import org.fouram.entity.SapEmpJob;
+import org.fouram.entity.SapUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.google.common.collect.Maps;
+
+@Service
+public class SapEmpJobService extends BaseService {
+
+	@Autowired
+	private RequestService requestService;
+
+	public void setPosition(List<SapUser> sapUsers) {
+		String url = "https://api15.sapsf.cn/odata/v2/EmpJob?$filter=userId in %s&$format=json";
+		url = String.format(url, getUserIds(sapUsers));
+		JsonNode node = requestService.getForObject(url, getHttpHeaders());
+		Map<String, String> jobTitleMap = Maps.newHashMap();
+		if (node != null) {
+			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
+			while (iterator.hasNext()) {
+				JsonNode userNode = iterator.next();
+				String userId = JsonNodeUtil.getValue(userNode, "userId");
+				String jobTitle = JsonNodeUtil.getValue(userNode, "jobTitle");
+				jobTitleMap.put(userId, jobTitle);
+			}
+		}
+		for (SapUser sapUser : sapUsers) {
+			sapUser.setPosition(jobTitleMap.get(sapUser.getUserId()));
+			sapUser.setFormatPosition(formatPosition(sapUser.getPosition()));
+		}
+	}
+
+	public void saveSapData() throws Exception {
+		delete("SapEmpJobMapper.deleteAll", null);
+
+		String url = "https://api15.sapsf.cn/odata/v2/EmpJob?$format=json"
+				+ "&$expand=positionNav,companyNav,businessUnitNav,divisionNav,departmentNav,customString19Nav,locationNav,jobCodeNav";
+		JsonNode node = requestService.getForObject(url, getHttpHeaders());
+		if (node != null) {
+			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
+			while (iterator.hasNext()) {
+				JsonNode userNode = iterator.next();
+				String userId = JsonNodeUtil.getValue(userNode, "userId");
+				String positionName = JsonNodeUtil.getValue(userNode, "positionNav", "externalName_zh_CN");// 职位
+				String positionEntryDate = JsonNodeUtil.getValue(userNode, "positionEntryDate");// 就职日期
+				String companyName = JsonNodeUtil.getValue(userNode, "companyNav", "name");// 公司
+				String businessUnitName = JsonNodeUtil.getValue(userNode, "businessUnitNav", "name");// 业务单元
+				String divisionName = JsonNodeUtil.getValue(userNode, "divisionNav", "name");// 部门
+				String departmentName = JsonNodeUtil.getValue(userNode, "departmentNav", "name");// 团队
+				String teamName = JsonNodeUtil.getValue(userNode, "customString19Nav", "externalName_zh_CN");// 小组
+				String location = JsonNodeUtil.getValue(userNode, "location");// 工作地点
+				String locationName = JsonNodeUtil.getValue(userNode, "locationNav", "name");// 工作地点
+				String managerId = JsonNodeUtil.getValue(userNode, "managerId");// 直线经理
+				String managerName = WebConstants.NAME_MAP.get(managerId);// 直线经理
+				String jobCodeName = JsonNodeUtil.getValue(userNode, "jobCodeNav", "name");// 职务分类
+				String jobTitle = JsonNodeUtil.getValue(userNode, "jobTitle");// 标准职务名称
+				String rank = getLabelValue(JsonNodeUtil.getValue(userNode, "customString2"));// 职级
+				String managementOrNot = getLabelValue(JsonNodeUtil.getValue(userNode, "customString4"));// 是否管理层
+				SapEmpJob entity = SapEmpJob.builder().userId(userId).positionName(positionName)
+						.positionEntryDate(positionEntryDate).companyName(companyName)
+						.businessUnitName(businessUnitName).divisionName(divisionName).departmentName(departmentName)
+						.teamName(teamName).location(location).locationName(locationName).managerId(managerId)
+						.managerName(managerName).jobCodeName(jobCodeName).jobTitle(jobTitle).rank(rank)
+						.managementOrNot(managementOrNot).build();
+				save("SapEmpJobMapper.save", entity);
+			}
+		}
+	}
+
+	public SapEmpJob selectOneByPersonId(String personId) throws Exception {
+		return (SapEmpJob) findObject("SapEmpJobMapper.selectOneByPersonId", personId);
+	}
+}

+ 45 - 41
code/sapparent/sapservice/src/main/java/org/fouram/service/SapPerGlobalInfoCHNService.java

@@ -1,41 +1,45 @@
-package org.fouram.service;
-
-import java.util.Iterator;
-
-import org.fouram.core.base.service.BaseService;
-import org.fouram.core.util.JsonNodeUtil;
-import org.fouram.entity.SapPerGlobalInfoCHN;
-import org.springframework.http.HttpHeaders;
-import org.springframework.stereotype.Service;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-@Service
-public class SapPerGlobalInfoCHNService extends BaseService {
-
-	public void saveSapData() throws Exception {
-		HttpHeaders headers = getHttpHeaders();
-		
-		delete("SapPerGlobalInfoCHNMapper.deleteAll", null);
-
-		String url = "https://api15.sapsf.cn/odata/v2/PerGlobalInfoCHN?$format=json";
-		JsonNode node = requestService.getForObject(url, headers);
-		if (node != null) {
-			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
-			while (iterator.hasNext()) {
-				JsonNode userNode = iterator.next();
-				String personId = JsonNodeUtil.getValue(userNode, "personIdExternal");
-				String householdRegistrationType = getLabelValue(JsonNodeUtil.getValue(userNode, "genericNumber1"));// 户口类型
-				String nation = getLabelValue(JsonNodeUtil.getValue(userNode, "genericNumber4"));// 民族
-				String politicalOutlook = getLabelValue(JsonNodeUtil.getValue(userNode, "customString6"));// 政治面貌
-				String orgRelationshipLocation = JsonNodeUtil.getValue(userNode, "customString1");// 组织关系所在地
-				String socialSecurityLocation = getLabelValue(JsonNodeUtil.getValue(userNode, "customString2"));// 社保所在地
-				SapPerGlobalInfoCHN entity = SapPerGlobalInfoCHN.builder().personId(personId)
-						.householdRegistrationType(householdRegistrationType).nation(nation)
-						.politicalOutlook(politicalOutlook).orgRelationshipLocation(orgRelationshipLocation)
-						.socialSecurityLocation(socialSecurityLocation).build();
-				save("SapPerGlobalInfoCHNMapper.save", entity);
-			}
-		}
-	}
-}
+package org.fouram.service;
+
+import java.util.Iterator;
+
+import org.fouram.core.base.service.BaseService;
+import org.fouram.core.util.JsonNodeUtil;
+import org.fouram.entity.SapPerGlobalInfoCHN;
+import org.springframework.http.HttpHeaders;
+import org.springframework.stereotype.Service;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+@Service
+public class SapPerGlobalInfoCHNService extends BaseService {
+
+	public void saveSapData() throws Exception {
+		HttpHeaders headers = getHttpHeaders();
+		
+		delete("SapPerGlobalInfoCHNMapper.deleteAll", null);
+
+		String url = "https://api15.sapsf.cn/odata/v2/PerGlobalInfoCHN?$format=json";
+		JsonNode node = requestService.getForObject(url, headers);
+		if (node != null) {
+			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
+			while (iterator.hasNext()) {
+				JsonNode userNode = iterator.next();
+				String personId = JsonNodeUtil.getValue(userNode, "personIdExternal");
+				String householdRegistrationType = getLabelValue(JsonNodeUtil.getValue(userNode, "genericNumber1"));// 户口类型
+				String nation = getLabelValue(JsonNodeUtil.getValue(userNode, "genericNumber4"));// 民族
+				String politicalOutlook = getLabelValue(JsonNodeUtil.getValue(userNode, "customString6"));// 政治面貌
+				String orgRelationshipLocation = JsonNodeUtil.getValue(userNode, "customString1");// 组织关系所在地
+				String socialSecurityLocation = getLabelValue(JsonNodeUtil.getValue(userNode, "customString2"));// 社保所在地
+				SapPerGlobalInfoCHN entity = SapPerGlobalInfoCHN.builder().personId(personId)
+						.householdRegistrationType(householdRegistrationType).nation(nation)
+						.politicalOutlook(politicalOutlook).orgRelationshipLocation(orgRelationshipLocation)
+						.socialSecurityLocation(socialSecurityLocation).build();
+				save("SapPerGlobalInfoCHNMapper.save", entity);
+			}
+		}
+	}
+
+	public SapPerGlobalInfoCHN selectOneByPersonId(String personId) throws Exception {
+		return (SapPerGlobalInfoCHN) findObject("SapPerGlobalInfoCHNMapper.selectOneByPersonId", personId);
+	}
+}

+ 26 - 8
code/sapparent/sapservice/src/main/java/org/fouram/service/SapUserService.java

@@ -26,8 +26,12 @@ import org.fouram.dto.input.UploadUpdateEmpDTO;
 import org.fouram.dto.input.UploadUpdateEmpDTO.AddFamilyDTO;
 import org.fouram.dto.output.GetIngoreListOutput;
 import org.fouram.dto.output.GetToBeConfirmedListOutput;
+import org.fouram.entity.SapBank;
+import org.fouram.entity.SapContract;
+import org.fouram.entity.SapEmpJob;
 import org.fouram.entity.SapMessageUser;
 import org.fouram.entity.SapOrg;
+import org.fouram.entity.SapPerGlobalInfoCHN;
 import org.fouram.entity.SapPerPersonRelationship;
 import org.fouram.entity.SapUser;
 import org.fouram.entity.WxUser;
@@ -55,12 +59,18 @@ public class SapUserService extends BaseService {
 	@Autowired
 	private WxUserService wxUserService;
 	@Autowired
+	private SapBankService sapBankService;
+	@Autowired
 	private RequestService requestService;
 	@Autowired
+	private SapEmpJobService empJobService;
+	@Autowired
 	private SapEmpJobService sapEmpJobService;
 	@Autowired
 	private SapOprLogService sapOprLogService;
 	@Autowired
+	private SapContractService contractService;
+	@Autowired
 	private SapPersonalService sapPersonalService;
 	@Autowired
 	private SapBlacklistService sapBlacklistService;
@@ -69,6 +79,8 @@ public class SapUserService extends BaseService {
 	@Autowired
 	private SapEmpEmploymentService sapEmpEmploymentService;
 	@Autowired
+	private SapPerGlobalInfoCHNService globalInfoCHNService;
+	@Autowired
 	private SapPerPersonRelationshipService relationshipService;
 	@Autowired
 	private SapEmpEmploymentTerminationService sapEmpEmploymentTerminationService;
@@ -572,17 +584,23 @@ public class SapUserService extends BaseService {
 	private void uploadEmpUserDetailInfo(SapUser user, Integer type, boolean devFlag) throws Exception {
 		List<SapPerPersonRelationship> relationships = relationshipService.findListByPersonId(user.getPersonId());
 		List<AddFamilyDTO> familyList = Lists.newArrayList();
-		for(SapPerPersonRelationship relationship : relationships) {
+		for (SapPerPersonRelationship relationship : relationships) {
 			AddFamilyDTO family = AddFamilyDTO.builder().birthDate(relationship.getDateOfBirth())
-					.name(relationship.getLastName() + relationship.getFirstName()).build();
+					.name(relationship.getLastName() + relationship.getFirstName())
+					.relation(relationship.getRelationshipType()).build();
 			familyList.add(family);
 		}
-		
-		UploadUpdateEmpDTO reqdata = UploadUpdateEmpDTO.builder().username(user.getName())
-				.entryDate(user.getStartDate()).resignDate(user.getEndDate()).cardId(user.getCardId())
-				.cardType(CardTypeEnum.getEnumBySapCode(user.getCardType()).getMyCode()).jobNumber(user.getJobNumber())
-				.familyList(familyList).build();
-
+		SapBank sapBank = sapBankService.selectOneByPersonId(user.getPersonId());
+		SapPerGlobalInfoCHN globalInfo = globalInfoCHNService.selectOneByPersonId(user.getPersonId());
+		SapContract contract = contractService.selectOneByPersonId(user.getPersonId());
+		SapEmpJob empJob = empJobService.selectOneByPersonId(user.getPersonId());
+		UploadUpdateEmpDTO reqdata = UploadUpdateEmpDTO.builder().accountBank(sapBank.getNumber())
+				.accountBankName(sapBank.getBank()).cardId(user.getCardId())
+				.cardType(CardTypeEnum.getEnumBySapCode(user.getCardType()).getMyCode()).email(user.getEmail())
+				.entryDate(user.getStartDate()).jobNumber(user.getJobNumber()).legalPerson(contract.getLegalName())
+				.phone(user.getFormatMobile()).resignDate(user.getEndDate())
+				.socialArea(globalInfo.getSocialSecurityLocation()).type(type).username(user.getName())
+				.provinceName(empJob.getLocationName()).familyList(familyList).build();
 		String url = "http://cmcadmin.info666.com/hr/emp/updateEmpInfo";
 		if (!devFlag) {
 			url = "https://manage.inet.cmcinc.cn/hr/emp/updateEmpInfo";