|
@@ -5,6 +5,7 @@ import java.util.List;
|
|
|
|
|
|
import org.fouram.core.base.service.BaseService;
|
|
import org.fouram.core.base.service.BaseService;
|
|
import org.fouram.core.base.service.RequestService;
|
|
import org.fouram.core.base.service.RequestService;
|
|
|
|
+import org.fouram.core.util.JsonNodeUtil;
|
|
import org.fouram.entity.SapCertificates;
|
|
import org.fouram.entity.SapCertificates;
|
|
import org.fouram.entity.SapCourses;
|
|
import org.fouram.entity.SapCourses;
|
|
import org.fouram.entity.SapEducation;
|
|
import org.fouram.entity.SapEducation;
|
|
@@ -55,9 +56,11 @@ public class SapReportService extends BaseService {
|
|
// this.saveSapInsideWorkExperience(headers, userIds);
|
|
// this.saveSapInsideWorkExperience(headers, userIds);
|
|
// this.saveSapLanguages(headers, personIds, userIds);
|
|
// this.saveSapLanguages(headers, personIds, userIds);
|
|
// this.saveSapOverallPerformance(headers, userIds);
|
|
// this.saveSapOverallPerformance(headers, userIds);
|
|
- this.saveSapOutsideWorkExperience(headers, userIds);
|
|
|
|
|
|
+
|
|
|
|
+ this.saveSapEmpJob(headers, userIds);
|
|
|
|
+
|
|
|
|
+// this.saveSapOutsideWorkExperience(headers, userIds);
|
|
// this.saveSapEmpEmployment(headers, personIds, userIds);
|
|
// this.saveSapEmpEmployment(headers, personIds, userIds);
|
|
-// this.saveSapEmpJob(headers, personIds, userIds);
|
|
|
|
// this.saveSapEmpJobRelationships(headers, userIds);
|
|
// this.saveSapEmpJobRelationships(headers, userIds);
|
|
// this.saveSapPerEmail(headers, personIds, userIds);
|
|
// this.saveSapPerEmail(headers, personIds, userIds);
|
|
// this.saveSapPerGlobalInfoCHN(headers, personIds, userIds);
|
|
// this.saveSapPerGlobalInfoCHN(headers, personIds, userIds);
|
|
@@ -255,31 +258,31 @@ public class SapReportService extends BaseService {
|
|
}
|
|
}
|
|
|
|
|
|
// 组织以及职位信息 EmpJob
|
|
// 组织以及职位信息 EmpJob
|
|
- public void saveSapEmpJob(HttpHeaders headers, String personIds, String userIds) throws Exception {
|
|
|
|
|
|
+ public void saveSapEmpJob(HttpHeaders headers, String userIds) throws Exception {
|
|
String url = "https://api15.sapsf.cn/odata/v2/EmpJob?$filter=userId in %s&$format=json"
|
|
String url = "https://api15.sapsf.cn/odata/v2/EmpJob?$filter=userId in %s&$format=json"
|
|
+ "&$expand=positionNav,companyNav,divisionNav,departmentNav,customString19Nav,locationNav,jobCodeNav,customString2Nav,customString4Nav";
|
|
+ "&$expand=positionNav,companyNav,divisionNav,departmentNav,customString19Nav,locationNav,jobCodeNav,customString2Nav,customString4Nav";
|
|
- url = String.format(url, personIds);
|
|
|
|
|
|
+ url = String.format(url, userIds);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
if (node != null) {
|
|
if (node != null) {
|
|
Iterator<JsonNode> iterator = node.get("d").get("results").elements();
|
|
Iterator<JsonNode> iterator = node.get("d").get("results").elements();
|
|
while (iterator.hasNext()) {
|
|
while (iterator.hasNext()) {
|
|
JsonNode userNode = iterator.next();
|
|
JsonNode userNode = iterator.next();
|
|
String userId = userNode.get("userId").asText().trim();
|
|
String userId = userNode.get("userId").asText().trim();
|
|
- String positionName = userNode.get("positionNav").get("externalName_zh_CN").asText().trim();// 职位
|
|
|
|
|
|
+ String positionName = JsonNodeUtil.getValue(userNode, "positionNav", "externalName_zh_CN");// 职位
|
|
String positionEntryDate = userNode.get("positionEntryDate").asText().trim();// 就职日期
|
|
String positionEntryDate = userNode.get("positionEntryDate").asText().trim();// 就职日期
|
|
// TODO 在职时间
|
|
// TODO 在职时间
|
|
- String companyName = userNode.get("companyNav").get("name").asText().trim();// 公司
|
|
|
|
- String businessUnitName = userNode.get("businessUnitNav").get("name").asText().trim();// 业务单元
|
|
|
|
- String divisionName = userNode.get("divisionNav").get("name").asText().trim();// 部门
|
|
|
|
- String departmentName = userNode.get("departmentNav").get("name").asText().trim();// 团队
|
|
|
|
- String teamName = userNode.get("customString19Nav").get("externalName_zh_CN").asText().trim();// 小组
|
|
|
|
- String locationName = userNode.get("locationNav").get("name").asText().trim();// 工作地点
|
|
|
|
|
|
+ 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 = userNode.get("managerId").asText().trim();// 直线经理
|
|
String managerId = userNode.get("managerId").asText().trim();// 直线经理
|
|
- String jobCodeName = userNode.get("jobCodeNav").get("name").asText().trim();// 职务分类
|
|
|
|
|
|
+ String jobCodeName = JsonNodeUtil.getValue(userNode, "jobCodeNav", "name");// 职务分类
|
|
String jobTitle = userNode.get("jobTitle").asText().trim();// 标准职务名称
|
|
String jobTitle = userNode.get("jobTitle").asText().trim();// 标准职务名称
|
|
// TODO 员工性质
|
|
// TODO 员工性质
|
|
- String rank = userNode.get("customString2Nav").get("externalCode").asText().trim();// 职级
|
|
|
|
- String managementOrNot = userNode.get("customString4Nav").get("externalCode").asText().trim();// 是否管理层
|
|
|
|
|
|
+ String rank = JsonNodeUtil.getValue(userNode, "customString2Nav", "externalCode");// 职级
|
|
|
|
+ String managementOrNot = JsonNodeUtil.getValue(userNode, "customString4Nav", "externalCode");// 是否管理层
|
|
SapEmpJob entity = SapEmpJob.builder().userId(userId).positionName(positionName)
|
|
SapEmpJob entity = SapEmpJob.builder().userId(userId).positionName(positionName)
|
|
.positionEntryDate(positionEntryDate).companyName(companyName)
|
|
.positionEntryDate(positionEntryDate).companyName(companyName)
|
|
.businessUnitName(businessUnitName).divisionName(divisionName).departmentName(departmentName)
|
|
.businessUnitName(businessUnitName).divisionName(divisionName).departmentName(departmentName)
|
|
@@ -300,9 +303,9 @@ public class SapReportService extends BaseService {
|
|
while (iterator.hasNext()) {
|
|
while (iterator.hasNext()) {
|
|
JsonNode userNode = iterator.next();
|
|
JsonNode userNode = iterator.next();
|
|
String userId = userNode.get("userId").asText().trim();
|
|
String userId = userNode.get("userId").asText().trim();
|
|
- String relationshipTypeCode = userNode.get("relationshipTypeNav").get("externalCode").asText().trim();// 关系类型
|
|
|
|
- String relUserName = userNode.get("relUserNav").get("lastName").asText().trim()
|
|
|
|
- + userNode.get("relUserNav").get("firstName").asText().trim();// 姓名
|
|
|
|
|
|
+ String relationshipTypeCode = JsonNodeUtil.getValue(userNode, "relationshipTypeNav", "externalCode");// 关系类型
|
|
|
|
+ String relUserName = JsonNodeUtil.getValue(userNode, "relUserNav", "lastName")
|
|
|
|
+ + JsonNodeUtil.getValue(userNode, "relUserNav", "firstName");// 姓名
|
|
SapEmpJobRelationships entity = SapEmpJobRelationships.builder().userId(userId)
|
|
SapEmpJobRelationships entity = SapEmpJobRelationships.builder().userId(userId)
|
|
.relationshipTypeCode(relationshipTypeCode).relUserName(relUserName).build();
|
|
.relationshipTypeCode(relationshipTypeCode).relUserName(relUserName).build();
|
|
save("SapReportMapper.saveSapEmpJobRelationships", entity);
|
|
save("SapReportMapper.saveSapEmpJobRelationships", entity);
|
|
@@ -313,7 +316,7 @@ public class SapReportService extends BaseService {
|
|
// 先前工作经历 Background_OutsideWorkExperience
|
|
// 先前工作经历 Background_OutsideWorkExperience
|
|
public void saveSapOutsideWorkExperience(HttpHeaders headers, String userIds) throws Exception {
|
|
public void saveSapOutsideWorkExperience(HttpHeaders headers, String userIds) throws Exception {
|
|
delete("SapReportMapper.deleteSapOutsideWorkExperience", null);
|
|
delete("SapReportMapper.deleteSapOutsideWorkExperience", null);
|
|
-
|
|
|
|
|
|
+
|
|
String url = "https://api15.sapsf.cn/odata/v2/Background_OutsideWorkExperience?$filter=userId in %s&$format=json";
|
|
String url = "https://api15.sapsf.cn/odata/v2/Background_OutsideWorkExperience?$filter=userId in %s&$format=json";
|
|
url = String.format(url, userIds);
|
|
url = String.format(url, userIds);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
@@ -416,7 +419,7 @@ public class SapReportService extends BaseService {
|
|
// 证书 Background_Certificates
|
|
// 证书 Background_Certificates
|
|
public void saveSapCertificates(HttpHeaders headers, String userIds) throws Exception {
|
|
public void saveSapCertificates(HttpHeaders headers, String userIds) throws Exception {
|
|
delete("SapReportMapper.deleteSapCertificates", null);
|
|
delete("SapReportMapper.deleteSapCertificates", null);
|
|
-
|
|
|
|
|
|
+
|
|
String url = "https://api15.sapsf.cn/odata/v2/Background_Certificates?$filter=userId in %s&$format=json";
|
|
String url = "https://api15.sapsf.cn/odata/v2/Background_Certificates?$filter=userId in %s&$format=json";
|
|
url = String.format(url, userIds);
|
|
url = String.format(url, userIds);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
@@ -440,7 +443,7 @@ public class SapReportService extends BaseService {
|
|
// 语言能力 Background_Languages
|
|
// 语言能力 Background_Languages
|
|
public void saveSapLanguages(HttpHeaders headers, String personIds, String userIds) throws Exception {
|
|
public void saveSapLanguages(HttpHeaders headers, String personIds, String userIds) throws Exception {
|
|
delete("SapReportMapper.deleteSapLanguages", null);
|
|
delete("SapReportMapper.deleteSapLanguages", null);
|
|
-
|
|
|
|
|
|
+
|
|
String url = "https://api15.sapsf.cn/odata/v2/Background_Languages?$filter=userId in %s&$format=json&$expand=languageNav,speakingProfNav,readingProfNav,writingProfNav";
|
|
String url = "https://api15.sapsf.cn/odata/v2/Background_Languages?$filter=userId in %s&$format=json&$expand=languageNav,speakingProfNav,readingProfNav,writingProfNav";
|
|
url = String.format(url, personIds);
|
|
url = String.format(url, personIds);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
@@ -464,7 +467,7 @@ public class SapReportService extends BaseService {
|
|
// 绩效历史 TrendData_SysOverallPerformance
|
|
// 绩效历史 TrendData_SysOverallPerformance
|
|
public void saveSapOverallPerformance(HttpHeaders headers, String userIds) throws Exception {
|
|
public void saveSapOverallPerformance(HttpHeaders headers, String userIds) throws Exception {
|
|
delete("SapReportMapper.deleteSapOverallPerformance", null);
|
|
delete("SapReportMapper.deleteSapOverallPerformance", null);
|
|
-
|
|
|
|
|
|
+
|
|
String url = "https://api15.sapsf.cn/odata/v2/TrendData_SysOverallPerformance?$filter=userId in %s&$format=json";
|
|
String url = "https://api15.sapsf.cn/odata/v2/TrendData_SysOverallPerformance?$filter=userId in %s&$format=json";
|
|
url = String.format(url, userIds);
|
|
url = String.format(url, userIds);
|
|
JsonNode node = requestService.getForObject(url, headers);
|
|
JsonNode node = requestService.getForObject(url, headers);
|