liupeng 5 years ago
parent
commit
86e8856cb9

+ 47 - 11
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapReportMapper.xml

@@ -1,13 +1,21 @@
 <?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="SapReportMapper">
+	<delete id="deleteSapPerPerson">
+		delete from sapperperson
+	</delete>
+
 	<insert id="saveSapPerPerson">
-		insert into SapPerPerson(personId,dateOfBirth,placeOfBirth,education) 
+		insert into sapperperson(personId,dateOfBirth,placeOfBirth,education) 
 		values (#{personId},#{dateOfBirth},#{placeOfBirth},#{education})
 	</insert>
 	
+	<delete id="deleteSapPerPersonal">
+		delete from sapperpersonal
+	</delete>
+	
 	<insert id="saveSapPerPersonal">
-		insert into SapPerPersonal(personId,firstName,lastName,displayName,
+		insert into sapperpersonal(personId,firstName,lastName,displayName,
 			formalName,nationality,gender,maritalStatusCode,firstNameAlt1,
 			lastNameAlt1,firstNameAlt2,lastNameAlt2) 
 		values (#{personId},#{firstName},#{lastName},#{displayName},
@@ -15,35 +23,59 @@
 			#{lastNameAlt1},#{firstNameAlt2},#{lastNameAlt2})
 	</insert>
 	
+	<delete id="deleteSapPerGlobalInfoCHN">
+		delete from sapperglobalinfochn
+	</delete>
+	
 	<insert id="saveSapPerGlobalInfoCHN">
-		insert into SapPerGlobalInfoCHN(personId,householdRegistrationType,nation,
+		insert into sapperglobalinfochn(personId,householdRegistrationType,nation,
 			politicalOutlook,orgRelationshipLocation,socialSecurityLocation) 
 		values (#{personId},#{householdRegistrationType},#{nation},
 			#{politicalOutlook},#{orgRelationshipLocation},#{socialSecurityLocation})
 	</insert>
 	
+	<delete id="deleteSapPerNationalId">
+		delete from sappernationalid
+	</delete>
+	
 	<insert id="saveSapPerNationalId">
-		insert into SapPerNationalId(personId,countryName,cardType,nationalId) 
+		insert into sappernationalid(personId,countryName,cardType,nationalId) 
 		values (#{personId},#{countryName},#{cardType},#{nationalId})
 	</insert>
 	
+	<delete id="deleteSapPerEmail">
+		delete from sapperemail
+	</delete>
+	
 	<insert id="saveSapPerEmail">
-		insert into SapPerEmail(personId) 
-		values (#{personId})
+		insert into sapperemail(personId,emailTypeCode,emailAddress,isPrimary) 
+		values (#{personId},#{emailTypeCode},#{emailAddress}#{isPrimary})
 	</insert>
 	
+	<delete id="deleteSapPerPhone">
+		delete from sapperphone
+	</delete>
+	
 	<insert id="saveSapPerPhone">
-		insert into SapPerPhone(personId) 
+		insert into sapperphone(personId) 
 		values (#{personId})
 	</insert>
 	
+	<delete id="deleteSapPerSocialAccount">
+		delete from sappersocialaccount
+	</delete>
+	
 	<insert id="saveSapPerSocialAccount">
-		insert into SapPerSocialAccount(personId,domainCode,imId) 
+		insert into sappersocialaccount(personId,domainCode,imId) 
 		values (#{personId},#{domainCode},#{imId})
 	</insert>
 	
+	<delete id="deleteSapEmpEmployment">
+		delete from sapempemployment
+	</delete>
+	
 	<insert id="saveSapEmpEmployment">
-		insert into SapEmpEmployment(personId,startDate,firstDateWorked,originalStartDate,seniorityDate,socialServiceAge,
+		insert into sapempemployment(personId,startDate,firstDateWorked,originalStartDate,seniorityDate,socialServiceAge,
 			seniority,endDate,okToRehire,salaryEndDate,benefitsEndDate,leavingReasonCode) 
 		values (#{personId},#{startDate},#{firstDateWorked},#{originalStartDate},#{seniorityDate},#{socialServiceAge},
 			#{seniority},#{endDate},#{okToRehire},#{salaryEndDate},#{benefitsEndDate},#{leavingReasonCode})
@@ -62,9 +94,13 @@
 			#{jobTitle},#{rank},#{managementOrNot})
 	</insert>
 	
+	<delete id="deleteSapEmpJobRelationships">
+		delete from sapempjobrelationships
+	</delete>
+	
 	<insert id="saveSapEmpJobRelationships">
-		insert into SapEmpJobRelationships(userId) 
-		values (#{userId})
+		insert into sapempjobrelationships(userId,relationshipTypeCode,relUserName) 
+		values (#{userId},#{relationshipTypeCode},#{relUserName})
 	</insert>
 	
 	<delete id="deleteSapOutsideWorkExperience">

+ 29 - 12
code/sapparent/sapservice/src/main/java/org/fouram/service/SapReportService.java

@@ -57,21 +57,22 @@ public class SapReportService extends BaseService {
 //		this.saveSapLanguages(headers, personIds, userIds);
 //		this.saveSapOverallPerformance(headers, userIds);
 //		this.saveSapEmpJob(headers, userIds);
-
-		this.saveSapOutsideWorkExperience(headers, userIds);
-//		this.saveSapEmpEmployment(headers, personIds, userIds);
+//		this.saveSapOutsideWorkExperience(headers, userIds);
+//		this.saveSapEmpEmployment(headers, personIds);
 //		this.saveSapEmpJobRelationships(headers, userIds);
-//		this.saveSapPerEmail(headers, personIds, userIds);
-//		this.saveSapPerGlobalInfoCHN(headers, personIds, userIds);
-//		this.saveSapPerNationalId(headers, personIds, userIds);
-//		this.saveSapPerPersonal(headers, personIds, userIds);
-//		this.saveSapPerPerson(headers, personIds, userIds);
-//		this.saveSapPerPhone(headers, personIds, userIds);
-//		this.saveSapPerSocialAccount(headers, personIds, userIds);
+		this.saveSapPerEmail(headers, personIds, userIds);
+		this.saveSapPerGlobalInfoCHN(headers, personIds, userIds);
+		this.saveSapPerNationalId(headers, personIds, userIds);
+		this.saveSapPerPersonal(headers, personIds, userIds);
+		this.saveSapPerPerson(headers, personIds, userIds);
+		this.saveSapPerPhone(headers, personIds, userIds);
+		this.saveSapPerSocialAccount(headers, personIds, userIds);
 	}
 
 // 基本信息	PerPerson,PerPersonal
 	public void saveSapPerPerson(HttpHeaders headers, String personIds, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapPerPerson", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/PerPerson?$filter=personIdExternal in %s&$format=json&$expand=customString1Nav";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -92,6 +93,8 @@ public class SapReportService extends BaseService {
 
 // 基本信息	PerPerson,PerPersonal
 	public void saveSapPerPersonal(HttpHeaders headers, String personIds, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapPerPersonal", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/PerPersonal?$filter=personIdExternal in %s&$format=json&$expand=maritalStatusNav";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -122,6 +125,8 @@ public class SapReportService extends BaseService {
 
 // 个人信息	PerGlobalInfoCHN
 	public void saveSapPerGlobalInfoCHN(HttpHeaders headers, String personIds, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapPerGlobalInfoCHN", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/PerGlobalInfoCHN?$filter=personIdExternal in %s&$format=json";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -147,6 +152,8 @@ public class SapReportService extends BaseService {
 
 // 国家身份信息	PerNationalId
 	public void saveSapPerNationalId(HttpHeaders headers, String personIds, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapPerNationalId", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/PerNationalId?$filter=personIdExternal in %s&$format=json&$expand=countryNav";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -167,6 +174,8 @@ public class SapReportService extends BaseService {
 
 // 邮件信息	PerEmail
 	public void saveSapPerEmail(HttpHeaders headers, String personIds, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapPerEmail", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/PerEmail?$filter=personIdExternal in %s&$format=json&$expand=emailTypeNav";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -188,6 +197,8 @@ public class SapReportService extends BaseService {
 
 // 通讯信息	PerPhone
 	public void saveSapPerPhone(HttpHeaders headers, String personIds, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapPerPhone", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/PerPhone?$filter=personIdExternal in %s&$format=json&$expand=phoneTypeNav";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -208,6 +219,8 @@ public class SapReportService extends BaseService {
 
 // 社交账号	PerSocialAccount
 	public void saveSapPerSocialAccount(HttpHeaders headers, String personIds, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapPerSocialAccount", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/PerSocialAccount?$filter=personIdExternal in %s&$format=json&$expand=domainNav";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -226,7 +239,9 @@ public class SapReportService extends BaseService {
 	}
 
 // 雇佣详细信息	EmpEmployment
-	public void saveSapEmpEmployment(HttpHeaders headers, String personIds, String userIds) throws Exception {
+	public void saveSapEmpEmployment(HttpHeaders headers, String personIds) throws Exception {
+		delete("SapReportMapper.deleteSapEmpEmployment", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/EmpEmployment?$filter=personIdExternal in %s&$format=json";
 		url = String.format(url, personIds);
 		JsonNode node = requestService.getForObject(url, headers);
@@ -245,7 +260,7 @@ public class SapReportService extends BaseService {
 				String okToRehire = userNode.get("okToRehire").asText().trim();// 可以再雇佣
 				String salaryEndDate = userNode.get("salaryEndDate").asText().trim();// 最后结薪日期
 				String benefitsEndDate = userNode.get("benefitsEndDate").asText().trim();// 福利结算日期
-				String leavingReasonCode = userNode.get("customString16Nav").get("externalCode").asText().trim();// 离职详细原因
+				String leavingReasonCode = JsonNodeUtil.getValue(userNode, "customString16Nav", "externalCode");// 离职详细原因
 				SapEmpEmployment entity = SapEmpEmployment.builder().personId(personId).startDate(startDate)
 						.firstDateWorked(firstDateWorked).originalStartDate(originalStartDate)
 						.seniorityDate(seniorityDate).socialServiceAge(socialServiceAge).seniority(seniority)
@@ -296,6 +311,8 @@ public class SapReportService extends BaseService {
 
 	// 工作关系 EmpJobRelationships
 	public void saveSapEmpJobRelationships(HttpHeaders headers, String userIds) throws Exception {
+		delete("SapReportMapper.deleteSapEmpJobRelationships", null);
+		
 		String url = "https://api15.sapsf.cn/odata/v2/EmpJobRelationships?$filter=userId in %s&$format=json&$expand=relationshipTypeNav,relUserNav";
 		url = String.format(url, userIds);
 		JsonNode node = requestService.getForObject(url, headers);