|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|