liupeng 4 年之前
父节点
当前提交
18e8e528a4

+ 10 - 0
code/sapparent/sapcms/src/main/java/org/fouram/controller/TestController.java

@@ -9,6 +9,7 @@ import org.fouram.dto.input.UploadHrEmpUserDTO;
 import org.fouram.entity.SapUser;
 import org.fouram.enums.UploadHrEmpUserEnum;
 import org.fouram.service.SapUserService;
+import org.fouram.service.SyncUploadService;
 import org.fouram.service.TestService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -24,6 +25,8 @@ public class TestController extends BaseController {
 	private TestService testService;
 	@Autowired
 	private SapUserService sapUserService;
+	@Autowired
+	private SyncUploadService syncUploadService;
 
 	/**
 	 * http://localhost:8080/sapcms/test/saveTestAnon
@@ -37,6 +40,13 @@ public class TestController extends BaseController {
 		testService.saveTest();
 		return AppUtil.success();
 	}
+	
+	@PostMapping(value = "/syncUploadAnon", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object syncUploadAnon() throws Exception {
+		syncUploadService.sync();
+		return AppUtil.success();
+	}
 
 	@PostMapping(value = "/uploadDevHrEmpUserInfoAnon", produces = "application/json;charset=utf-8")
 	@ResponseBody

+ 25 - 0
code/sapparent/sapservice/src/main/java/org/fouram/entity/SapBank.java

@@ -0,0 +1,25 @@
+package org.fouram.entity;
+
+import java.io.Serializable;
+
+import org.apache.ibatis.type.Alias;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Alias(value = "SapBank")
+public class SapBank implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private String userId;
+	private String bank;
+	private String branch;
+	private String number;
+	private String effectiveStartDate;
+}

+ 23 - 0
code/sapparent/sapservice/src/main/java/org/fouram/entity/SapContract.java

@@ -0,0 +1,23 @@
+package org.fouram.entity;
+
+import java.io.Serializable;
+
+import org.apache.ibatis.type.Alias;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Alias(value = "SapContract")
+public class SapContract implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private String userId;
+	private String startDate;
+	private String legalName;
+}

+ 3 - 1
code/sapparent/sapservice/src/main/java/org/fouram/entity/SapPerPersonRelationship.java

@@ -13,11 +13,13 @@ import lombok.NoArgsConstructor;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@Alias(value = "SapPerGlobalInfoCHN")
+@Alias(value = "SapPerPersonRelationship")
 public class SapPerPersonRelationship implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	private String personId;
+	private String relatedPersonId;
 	private String lastName;
 	private String firstName;
+	private String relationshipType;
 }

+ 13 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapBankMapper.xml

@@ -0,0 +1,13 @@
+<?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>
+</mapper>

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

@@ -0,0 +1,14 @@
+<?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>

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

@@ -0,0 +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="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,locationName,managerId,managerName,jobCodeName,
+			jobTitle,rank,managementOrNot) 
+		values (#{userId},#{positionName},#{positionEntryDate},#{companyName},#{businessUnitName},
+			#{divisionName},#{departmentName},#{teamName},#{locationName},#{managerId},#{managerName},#{jobCodeName},
+			#{jobTitle},#{rank},#{managementOrNot})
+	</insert>
+	
+</mapper>

+ 0 - 1
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapPerGlobalInfoCHNMapper.xml

@@ -12,5 +12,4 @@
 		values (#{personId},#{householdRegistrationType},#{nation},
 			#{politicalOutlook},#{orgRelationshipLocation},#{socialSecurityLocation})
 	</insert>
-
 </mapper>

+ 14 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapPerPersonMapper.xml

@@ -0,0 +1,14 @@
+<?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="SapPerPersonMapper">
+
+	<delete id="deleteAll">
+		delete from sap_per_person
+	</delete>
+	
+	<insert id="save">
+		insert into sap_per_person(personId,dateOfBirth,placeOfBirth,education) 
+		values (#{personId},#{dateOfBirth},#{placeOfBirth},#{education})
+	</insert>
+
+</mapper>

+ 2 - 2
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapPerPersonRelationshipMapper.xml

@@ -7,8 +7,8 @@
 	</delete>
 	
 	<insert id="save">
-		insert into sap_per_person_relationship(personId,lastName,firstName) 
-		values (#{personId},#{lastName},#{firstName}})
+		insert into sap_per_person_relationship(personId,relatedPersonId,lastName,firstName,relationshipType) 
+		values (#{personId},#{relatedPersonId},#{lastName},#{firstName},#{relationshipType})
 	</insert>
 
 </mapper>

+ 38 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/SapEmpJobService.java

@@ -4,9 +4,11 @@ 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;
@@ -39,4 +41,40 @@ public class SapEmpJobService extends BaseService {
 			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 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).locationName(locationName).managerId(managerId).managerName(managerName)
+						.jobCodeName(jobCodeName).jobTitle(jobTitle).rank(rank).managementOrNot(managementOrNot)
+						.build();
+				save("SapEmpJobMapper.save", entity);
+			}
+		}
+	}
 }