福利、签字
This commit is contained in:
@@ -1,20 +1,14 @@
|
||||
package io.v.nutz.zhgh.data.constant;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.v.nutz.base.expression.Exp4;
|
||||
import io.v.nutz.sys.models.Sys_unit;
|
||||
import io.v.nutz.zhgh.data.model.UserSource;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -46,10 +40,21 @@ public interface SourceData {
|
||||
}
|
||||
|
||||
/**
|
||||
* 不进系统人员
|
||||
* 不进系统人员类型
|
||||
*/
|
||||
List<String> NOT_ENTERING_USER = List.of("退休人员", "兼职教师", "非全日用工(项目临聘)", "服务外包和其他人员",
|
||||
List<String> NOT_ENTERING_PERSON_TYPE = List.of("退休人员", "兼职教师", "非全日用工(项目临聘)", "服务外包和其他人员",
|
||||
"教学编制2", "教学教师(附属医院)", "教学编制", "离休人员", "临时人员", "非全日制工", "博士后(在职)");
|
||||
/**
|
||||
* 不进系统在职状态
|
||||
* 01 退休
|
||||
* 05 调出
|
||||
* 06 辞职
|
||||
* 07 离职
|
||||
* @see io.v.nutz.zhgh.data.constant.HMCFieldCode#USER_STATE_CODE
|
||||
*/
|
||||
List<String> NOT_ENTERING_USER_STATE = List.of("01", "05", "06", "07");
|
||||
|
||||
List<String> NOT_ENTERING_USER_LOGIN_NAME = List.of("2020000410", "2008000010");
|
||||
|
||||
/**
|
||||
* 接口中的数据跟SourceUser的对应关系
|
||||
@@ -114,7 +119,9 @@ public interface SourceData {
|
||||
// checkSuccess(map);
|
||||
List<NutMap> data = map.getAsList("data", NutMap.class);
|
||||
for (NutMap row : data) {
|
||||
if (NOT_ENTERING_USER.contains(row.getString("RYFLMC"))) {
|
||||
if (NOT_ENTERING_PERSON_TYPE.contains(row.getString("RYFLMC"))
|
||||
|| NOT_ENTERING_USER_LOGIN_NAME.contains(row.getString("GH"))
|
||||
|| NOT_ENTERING_USER_STATE.contains(row.getString("DQZTM"))) {
|
||||
continue;
|
||||
}
|
||||
Map entity = new HashMap(500);
|
||||
|
||||
@@ -148,33 +148,30 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
||||
source.setWelfareMember(null);
|
||||
Sys_user user = userMap.get(source.getLoginname().toLowerCase());
|
||||
|
||||
if (StrUtil.isNotBlank(source.getPersonType())
|
||||
&& MEMBER_PERSON_TYPE.contains(source.getPersonType())
|
||||
&& "在职".equals(source.getUserState())) {
|
||||
source.setMember(1);
|
||||
source.setWelfareMember(1);
|
||||
// 符合条件的这类人员 人员性质设为会员
|
||||
source.setPreparedBy("会员");
|
||||
if (user != null && user.getMember() != 1) {
|
||||
addMemberUserIds.add(user.getId());
|
||||
}
|
||||
if (user == null) {
|
||||
addMemberUserIds.add(source.getId());
|
||||
}
|
||||
} else {
|
||||
source.setMember(0);
|
||||
source.setWelfareMember(0);
|
||||
// 不符合条件的这类人员 人员性质设为教职工
|
||||
source.setPreparedBy("教职工");
|
||||
if (user != null && user.getMember() == 1) {
|
||||
deleteMemberUserIds.add(user.getId());
|
||||
}
|
||||
}
|
||||
|
||||
Sys_user u = new Sys_user();
|
||||
BeanUtils.copyProperties(source, u);
|
||||
switch (sourceType) {
|
||||
case "all" -> {
|
||||
if (StrUtil.isNotBlank(source.getPersonType())
|
||||
&& MEMBER_PERSON_TYPE.contains(source.getPersonType())
|
||||
&& "在职".equals(source.getUserState())) {
|
||||
source.setMember(1);
|
||||
source.setWelfareMember(1);
|
||||
// 符合条件的这类人员 人员性质设为会员
|
||||
if (user != null && user.getMember() != 1) {
|
||||
addMemberUserIds.add(user.getId());
|
||||
}
|
||||
if (user == null) {
|
||||
addMemberUserIds.add(source.getId());
|
||||
}
|
||||
} else {
|
||||
source.setMember(0);
|
||||
source.setWelfareMember(0);
|
||||
// 不符合条件的这类人员 人员性质设为教职工
|
||||
if (user != null && user.getMember() == 1) {
|
||||
deleteMemberUserIds.add(user.getId());
|
||||
}
|
||||
}
|
||||
// 复制属性到一个新的user对象
|
||||
u.setId(user == null ? source.getId() : user.getId());
|
||||
if (user != null) {
|
||||
@@ -224,20 +221,22 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
||||
sysUserRoleService.insert(userRoles);
|
||||
}
|
||||
|
||||
// 添加会员角色
|
||||
if (Lang.isNotEmpty(addMemberUserIds)) {
|
||||
String memberRoleId = Roles.MEMBER;
|
||||
List<Sys_user_role> list = addMemberUserIds.stream().map(v -> {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setUserId(v);
|
||||
userRole.setRoleId(memberRoleId);
|
||||
return userRole;
|
||||
}).toList();
|
||||
manyAddOrRenewUtil.asyncExecuteInsert(list, 200);
|
||||
}
|
||||
// 不是定义的personType的人员,去除会员角色
|
||||
if (Lang.isNotEmpty(deleteMemberUserIds)) {
|
||||
dao().clear(Sys_user_role.class, Cnd.where("userId", "in", deleteMemberUserIds).and("roleId", "=", Roles.MEMBER));
|
||||
if ("all".equals(sourceType)) {
|
||||
// 添加会员角色
|
||||
if (Lang.isNotEmpty(addMemberUserIds)) {
|
||||
String memberRoleId = Roles.MEMBER;
|
||||
List<Sys_user_role> list = addMemberUserIds.stream().map(v -> {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setUserId(v);
|
||||
userRole.setRoleId(memberRoleId);
|
||||
return userRole;
|
||||
}).toList();
|
||||
manyAddOrRenewUtil.asyncExecuteInsert(list, 200);
|
||||
}
|
||||
// 不是定义的personType的人员,去除会员角色
|
||||
if (Lang.isNotEmpty(deleteMemberUserIds)) {
|
||||
dao().clear(Sys_user_role.class, Cnd.where("userId", "in", deleteMemberUserIds).and("roleId", "=", Roles.MEMBER));
|
||||
}
|
||||
}
|
||||
|
||||
// Collection<String[]> updateColumns = SourceData.USER_FIELD_RELATION.values();
|
||||
@@ -253,7 +252,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
||||
// 人员状态及在职状态更新
|
||||
userPatUpService.renewUserState();
|
||||
// 修改不在人事库的人员,删除角色
|
||||
userPatUpService.deleteNotInSourceUser();
|
||||
userPatUpService.deleteNotInSourceUser(true);
|
||||
//清除缓存
|
||||
// sysUserService.clearCache();
|
||||
// sysRoleService.clearCache();
|
||||
|
||||
Reference in New Issue
Block a user