|
@@ -452,9 +452,16 @@ public class SubSyncBusinessImpl implements ISubSyncBusiness {
|
|
private void saveUserOri(Date now, ApiResultPage<JSONObject> syncResult, UserTypeEnum userType) {
|
|
private void saveUserOri(Date now, ApiResultPage<JSONObject> syncResult, UserTypeEnum userType) {
|
|
List<JSONObject> content = syncResult.getContent();
|
|
List<JSONObject> content = syncResult.getContent();
|
|
List<AuthUserOriginalData> originals = new ArrayList<>();
|
|
List<AuthUserOriginalData> originals = new ArrayList<>();
|
|
|
|
+ // 过滤接口中数据中因多个职务导致重复的人员数据
|
|
|
|
+ Set<String> idcardSet = new HashSet<>();
|
|
for (JSONObject json : content) {
|
|
for (JSONObject json : content) {
|
|
|
|
+ String idcard = json.getString("idcard");
|
|
|
|
+ if (idcardSet.contains(idcard)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ idcardSet.add(idcard);
|
|
AuthUserOriginalData userOri = new AuthUserOriginalData();
|
|
AuthUserOriginalData userOri = new AuthUserOriginalData();
|
|
- userOri.setIdcard(json.getString("idcard"));
|
|
|
|
|
|
+ userOri.setIdcard(idcard);
|
|
userOri.setDeleted(BooleanEnum.FALSE.value);
|
|
userOri.setDeleted(BooleanEnum.FALSE.value);
|
|
userOri.setSync(BooleanEnum.FALSE.value);
|
|
userOri.setSync(BooleanEnum.FALSE.value);
|
|
userOri.setSyncDate(now);
|
|
userOri.setSyncDate(now);
|
|
@@ -1014,10 +1021,17 @@ public class SubSyncBusinessImpl implements ISubSyncBusiness {
|
|
private void saveAddUserOri(ApiResultPage<JSONObject> page, UserTypeEnum userType) {
|
|
private void saveAddUserOri(ApiResultPage<JSONObject> page, UserTypeEnum userType) {
|
|
List<JSONObject> content = page.getContent();
|
|
List<JSONObject> content = page.getContent();
|
|
List<AuthUserAddOriginal> originals = new ArrayList<>();
|
|
List<AuthUserAddOriginal> originals = new ArrayList<>();
|
|
|
|
+ // 过滤接口中数据中因多个职务导致重复的人员数据
|
|
|
|
+ // 如果是先删除再新增人员,会同时同步到两条数据,idcard为同一个,但是delete字段不同
|
|
|
|
+ Map<String, String> idcardMap = new HashMap<>();
|
|
for (JSONObject json : content) {
|
|
for (JSONObject json : content) {
|
|
- AuthUserAddOriginal userOri = new AuthUserAddOriginal();
|
|
|
|
String idcard = json.getString("idcard");
|
|
String idcard = json.getString("idcard");
|
|
String userDeleted = json.getString("deleted");
|
|
String userDeleted = json.getString("deleted");
|
|
|
|
+ if (idcardMap.containsKey(idcard) && idcardMap.get(idcard).equals(userDeleted)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ idcardMap.put(idcard, userDeleted);
|
|
|
|
+ AuthUserAddOriginal userOri = new AuthUserAddOriginal();
|
|
Date updateTime = json.getDate("updateTime");
|
|
Date updateTime = json.getDate("updateTime");
|
|
userOri.setIdcard(idcard);
|
|
userOri.setIdcard(idcard);
|
|
userOri.setUserType(userType.getValue());
|
|
userOri.setUserType(userType.getValue());
|