hanwenjie 5 роки тому
батько
коміт
d806aec281

+ 11 - 4
code/sapparent/sapservice/src/main/java/org/fouram/service/SapPersonalService.java

@@ -1,9 +1,11 @@
 package org.fouram.service;
 
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import com.alibaba.fastjson.JSON;
 import org.fouram.core.base.service.BaseService;
 import org.fouram.core.base.service.RequestService;
 import org.fouram.entity.SapUser;
@@ -24,10 +26,13 @@ public class SapPersonalService extends BaseService {
 
 	public List<SapUser> setGender(HttpHeaders headers, List<SapUser> sapUsers) {
 		String personIds = "";
-		Map<String, SapUser> map = Maps.newHashMap();
+		Map<String, List<SapUser>> map = Maps.newHashMap();
 		for (SapUser sapUser : sapUsers) {
 			personIds += "'" + sapUser.getPersonId() + "',";
-			map.put(sapUser.getPersonId(), sapUser);
+			if(null==map.get(sapUser.getPersonId())){
+				map.put(sapUser.getPersonId(),new ArrayList<>());
+			}
+			map.get(sapUser.getPersonId()).add(sapUser);
 		}
 		String empUrl = "https://api15.sapsf.cn/odata/v2/PerPersonal?$filter=personIdExternal in " + personIds
 				+ "&$format=json";
@@ -38,8 +43,10 @@ public class SapPersonalService extends BaseService {
 				JsonNode userNode = iterator.next();
 				String personId = userNode.get("personIdExternal").asText().trim();
 				String gender = userNode.get("gender").asText().trim();
-				SapUser sapUser = map.get(personId);
-				sapUser.setGender("M".equals(gender) ? Gender.MALE.getGenderName() : Gender.FEMALE.getGenderName());
+				List<SapUser> sapUserList = map.get(personId);
+				sapUserList.forEach(row->{
+					row.setGender("M".equals(gender) ? Gender.MALE.getGenderName() : Gender.FEMALE.getGenderName());
+				});
 			}
 		}
 		return sapUsers;