fix: 人员数据治理迁移2
This commit is contained in:
-1
@@ -629,7 +629,6 @@ public class PersonMemberMatchServiceImpl extends BaseServiceImpl<PersonMemberMa
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setUserId(userId);
|
||||
userRole.setRoleId(role.getId());
|
||||
userRole.setEnable(true);
|
||||
dao().insert(userRole);
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -153,7 +153,6 @@ public class PersonExceptionServiceImpl extends BaseServiceImpl<PersonException>
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setUserId(userId);
|
||||
userRole.setRoleId(memberRole.getId());
|
||||
userRole.setEnable(true);
|
||||
dao().insert(userRole);
|
||||
}
|
||||
} else if (member == 0 && (Boolean.TRUE.equals(user.getMember()) || hasMemberRole)) {
|
||||
|
||||
+12
-2
@@ -42,6 +42,8 @@ public class MemberManagePageForm extends PageForm {
|
||||
|
||||
private String userAttribute;
|
||||
|
||||
private List<String> userAttributes;
|
||||
|
||||
private String changeType;
|
||||
|
||||
//变更状态数组
|
||||
@@ -95,7 +97,11 @@ public class MemberManagePageForm extends PageForm {
|
||||
cnd.andEX("u.sex", "=", pageForm.getSex());
|
||||
cnd.andEX("u.personType", "=", pageForm.getPersonType());
|
||||
cnd.andEX("u.aidFundMemberUserType", "=", pageForm.getAidFundMemberUserType());
|
||||
cnd.andEX("u.userAttribute", "=", pageForm.getUserAttribute());
|
||||
if (Lang.isNotEmpty(pageForm.getUserAttributes())) {
|
||||
cnd.and("u.userAttribute", "in", pageForm.getUserAttributes());
|
||||
} else {
|
||||
cnd.andEX("u.userAttribute", "=", pageForm.getUserAttribute());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotBlank(pageForm.getChangeDateBefore()) && StrUtil.isNotBlank(pageForm.getChangeDateEnd())) {
|
||||
cnd.and(new Static(String.format("Date(his.changeTime) >= '%s' and Date(his.changeTime) <= '%s'", pageForm.getChangeDateBefore(), pageForm.getChangeDateEnd())));
|
||||
@@ -150,7 +156,11 @@ public class MemberManagePageForm extends PageForm {
|
||||
cnd.andEX("record.preparedBy", "=", pageForm.getPreparedBy());
|
||||
cnd.andEX("record.personType", "=", pageForm.getPersonType());
|
||||
cnd.andEX("record.aidFundMemberUserType", "=", pageForm.getAidFundMemberUserType());
|
||||
cnd.andEX("record.userAttribute", "=", pageForm.getUserAttribute());
|
||||
if (Lang.isNotEmpty(pageForm.getUserAttributes())) {
|
||||
cnd.and("record.userAttribute", "in", pageForm.getUserAttributes());
|
||||
} else {
|
||||
cnd.andEX("record.userAttribute", "=", pageForm.getUserAttribute());
|
||||
}
|
||||
|
||||
cnd.groupBy("record.id,task.id");
|
||||
}
|
||||
|
||||
+28
-2
@@ -98,8 +98,8 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
u.userAttribute,
|
||||
u.aidFundMemberUserType,
|
||||
u.arrivalAtSchoolDate,
|
||||
his.id hisId,
|
||||
his.changeTypes,
|
||||
COALESCE(his.id, '') hisId,
|
||||
COALESCE(his.changeTypes, '[]') changeTypes,
|
||||
his.changeTime
|
||||
FROM
|
||||
vw_user u
|
||||
@@ -176,6 +176,11 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
cnd.andEX("his.unitId", "=", pageForm.getUnitId());
|
||||
cnd.andEX("his.personType", "=", pageForm.getPersonType());
|
||||
cnd.andEX("his.userState", "=", pageForm.getUserState());
|
||||
if (Lang.isNotEmpty(pageForm.getUserAttributes())) {
|
||||
cnd.and("his.userAttribute", "in", pageForm.getUserAttributes());
|
||||
} else {
|
||||
cnd.andEX("his.userAttribute", "=", pageForm.getUserAttribute());
|
||||
}
|
||||
if (StrUtil.isNotBlank(pageForm.getChangeType())){
|
||||
cnd.and(new Static("JSON_CONTAINS(his.changeTypes, JSON_ARRAY('%s'), '$')".formatted(pageForm.getChangeType())));
|
||||
}
|
||||
@@ -252,6 +257,11 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
Set<String> allowChangeFieldNames = map.getAs("allowChangeFieldNames", Set.class);
|
||||
Map<String, String> dictMap = map.getAs("dictMap", Map.class);
|
||||
|
||||
if (record.getRetireDate() != null) {
|
||||
allowChangeFieldNames.add("retireDate");
|
||||
dictMap.put("retireDate", "退休日期");
|
||||
}
|
||||
|
||||
// 新数据
|
||||
NutMap newMap = Lang.obj2nutmap(record);
|
||||
// 原数据
|
||||
@@ -301,6 +311,7 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
|
||||
@Override
|
||||
public void compareChangeInfoAndUpdateMember(MemberChangeRecord record) {
|
||||
applyRetiredPersonType(record);
|
||||
normalizeArrivalAtSchoolDate(record);
|
||||
List<NutMap> changeList = getChangeInfos(record);
|
||||
|
||||
@@ -507,6 +518,7 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
|
||||
@Override
|
||||
public void validateChangeAndSetBasicData(MemberChangeRecord record, MemberChangeOrigin origin) {
|
||||
applyRetiredPersonType(record);
|
||||
normalizeArrivalAtSchoolDate(record);
|
||||
// 校验有没有发生变更
|
||||
List<NutMap> changeInfos = getChangeInfos(record);
|
||||
@@ -526,6 +538,20 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
}
|
||||
|
||||
|
||||
private void applyRetiredPersonType(MemberChangeRecord record) {
|
||||
if (record == null || !StrUtil.equals("退休", record.getUserState())) {
|
||||
return;
|
||||
}
|
||||
List<Sys_dict> personTypeOptions = sysDictService.getSubListByCode("USER_PERSON_TYPE");
|
||||
if (Lang.isEmpty(personTypeOptions)) {
|
||||
return;
|
||||
}
|
||||
personTypeOptions.stream()
|
||||
.filter(option -> StrUtil.equals("离退休人员", option.getName()))
|
||||
.findFirst()
|
||||
.ifPresent(option -> record.setPersonType(option.getCode()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 统一规范变更记录中的到校日期,避免 Date 对象复制后以英文字符串形式参与比较或直接落库。
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user