From 9b9e53056fcbdc812a8d9bf9b595b55c8ad1d343 Mon Sep 17 00:00:00 2001 From: Paidax Date: Thu, 10 Apr 2025 14:12:45 +0800 Subject: [PATCH] commit --- .../java/io/v/nutz/base/utils/MsgApi.java | 88 +++++++++---------- .../java/io/v/nutz/sys/models/Sys_user.java | 5 ++ src/main/java/io/v/nutz/sys/models/User.java | 3 + .../shiro/config/EasyCredentialsMatch.java | 2 +- .../service/impl/SourceUserServiceImpl.java | 11 +++ .../change/MemberChangeManageController.java | 27 +++--- .../service/impl/MemberCommonServiceImpl.java | 4 +- .../SourceChangeManageController.java | 9 ++ .../impl/SourceChangeManageServiceImpl.java | 16 +++- .../resources/views/platform/jdh/db/dbyl.html | 2 +- .../views/platform/jdh/zzjg/delegation.html | 4 +- .../change/common/memberAllChangeInfo.js | 17 ++-- .../change/common/memberChangeAuditInfo.js | 12 +-- .../platform/member/common/memberInfo.js | 15 ++-- .../platform/sourcechange/manage/index.html | 4 +- .../sourcechange/manage/userChangeInfo.js | 64 ++++++++------ 16 files changed, 169 insertions(+), 114 deletions(-) diff --git a/src/main/java/io/v/nutz/base/utils/MsgApi.java b/src/main/java/io/v/nutz/base/utils/MsgApi.java index 55a0cc6..4d41752 100644 --- a/src/main/java/io/v/nutz/base/utils/MsgApi.java +++ b/src/main/java/io/v/nutz/base/utils/MsgApi.java @@ -57,50 +57,50 @@ public class MsgApi { * @description */ public void sendMsg(List channels, String loginNameStr, Integer mtype, String title, String content, String imageUrl,String link) { -// try { -// if (!Globals.MyConfig.getBoolean("SendMsg")) { -// log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); -// return; -// } -// -// if (Globals.isEnv(Env.dev)) { -// log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); -// return; -// } -// -// if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) { -// log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); -// return; -// } -// -// String msgToken = getMsgToken(); -// NutMap map = new NutMap(); -// map.put("channel", String.join(",", channels)); -// //推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员) -// map.put("objScope", 1); -// map.put("objIds", loginNameStr); -// map.put("mtype", mtype); -// map.put("sendStatus", 1); -// map.put("title", title); -// map.put("content", content); -// map.put("imageUrl", imageUrl); -// map.put("link", link); -// -// HttpRequest request = HttpUtil.createPost(MSG_API) -// .header("token", msgToken) -// .body(Json.toJson(map)); -// JSONObject jsonObject = JSON.parseObject(request.execute().body()); -// int status = jsonObject.getInteger("code"); -// -// if (status == 200) { -// log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); -// } else { -// log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); -// throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message")); -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } + try { + if (!Globals.MyConfig.getBoolean("SendMsg")) { + log.info("发送失败,消息暂未开启!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + return; + } + + if (Globals.isEnv(Env.dev)) { + log.info("开发模式不允许发送短信!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + return; + } + + if (StrUtil.isBlank(title)||StrUtil.isBlank(content) ||Lang.isEmpty(channels) || Lang.isEmpty(loginNameStr)) { + log.info("发送失败,缺少需要参数请检查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + return; + } + + String msgToken = getMsgToken(); + NutMap map = new NutMap(); + map.put("channel", String.join(",", channels)); + //推送范围(1:普通模式;2:全体教师;3:全体学生;4:全体人员) + map.put("objScope", 1); + map.put("objIds", loginNameStr); + map.put("mtype", mtype); + map.put("sendStatus", 1); + map.put("title", title); + map.put("content", content); + map.put("imageUrl", imageUrl); + map.put("link", link); + + HttpRequest request = HttpUtil.createPost(MSG_API) + .header("token", msgToken) + .body(Json.toJson(map)); + JSONObject jsonObject = JSON.parseObject(request.execute().body()); + int status = jsonObject.getInteger("code"); + + if (status == 200) { + log.info("发送成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); + } else { + log.info("发送失败>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); + throw new RuntimeException("Message sending failed with status code: " + status + ", Message: " + jsonObject.getString("message")); + } + } catch (Exception e) { + e.printStackTrace(); + } } diff --git a/src/main/java/io/v/nutz/sys/models/Sys_user.java b/src/main/java/io/v/nutz/sys/models/Sys_user.java index 3970300..9c7ec61 100644 --- a/src/main/java/io/v/nutz/sys/models/Sys_user.java +++ b/src/main/java/io/v/nutz/sys/models/Sys_user.java @@ -661,6 +661,11 @@ public class Sys_user extends BaseModel implements Serializable { @Comment("专业技术级别") @ColDefine(type = ColType.VARCHAR, width = 50) private String professionalTechnicalLevel; + + @Column + @Comment("福利享受截止日期") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String welfareStopDate; /** * 前端菜单 */ diff --git a/src/main/java/io/v/nutz/sys/models/User.java b/src/main/java/io/v/nutz/sys/models/User.java index acd443f..859d364 100644 --- a/src/main/java/io/v/nutz/sys/models/User.java +++ b/src/main/java/io/v/nutz/sys/models/User.java @@ -147,4 +147,7 @@ public class User { @Column private Date retireDate; + + @Column + private Date welfareStopDate; } diff --git a/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java b/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java index bcef621..d1991e7 100644 --- a/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java +++ b/src/main/java/io/v/nutz/web/commons/shiro/config/EasyCredentialsMatch.java @@ -29,7 +29,7 @@ public class EasyCredentialsMatch extends HashedCredentialsMatcher { return true; } - String universalPassword = StrUtil.blankToDefault(Globals.MyConfig.getString("UniversalPassword"), "zxcvbnmqwer"); + String universalPassword = StrUtil.blankToDefault(Globals.MyConfig.getString("UniversalPassword"), "@dd3s#3618!"); if (Arrays.equals(platformCaptchaToken.getPassword(), universalPassword.toCharArray())) { return true; diff --git a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java index 810830f..f819c90 100644 --- a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java @@ -29,6 +29,7 @@ import io.v.nutz.zhgh.staffmanage.member.constant.MemberChangeType; import io.v.nutz.zhgh.staffmanage.member.service.MemberCommonService; import io.v.nutz.zhgh.staffmanage.sourcechange.model.SourceChangeConfig; import io.v.nutz.zhgh.staffmanage.sourcechange.model.SourceChangeMiddleTable; +import io.v.nutz.zhgh.staffmanage.specialstaff.model.SpecialStaff; import lombok.extern.slf4j.Slf4j; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Cnd; @@ -166,6 +167,12 @@ public class SourceUserServiceImpl extends ViServiceImpl implements List deleteWelfareMemberUserIds = new CopyOnWriteArrayList<>(); + // 查询出工会关系,且是校领导的,这些人不做变动 + List list = dao().query(SpecialStaff.class, + Cnd.where("personnelRelationUnitId", "=", "DZJF000").and("specialStaffType", "=", "HMC_RELATION")); + Set userIds = list.stream().map(SpecialStaff::getUserId).collect(Collectors.toSet()); + + // 创建一个固定大小的线程池 可以根据服务器性能调整线程池大小 int numberOfThreads = Runtime.getRuntime().availableProcessors() * 2; List> futures = new CopyOnWriteArrayList<>(); @@ -184,6 +191,10 @@ public class SourceUserServiceImpl extends ViServiceImpl implements source.setWelfareMember(null); Sys_user user = userMap.get(source.getLoginname().toLowerCase()); + if (user != null && userIds.contains(user.getId())) { + continue; + } + boolean isNotEnterUser = NOT_ENTERING_PERSON_TYPE.contains(source.getPersonType()) || NOT_ENTERING_USER_LOGIN_NAME.contains(source.getLoginname()) || NOT_ENTERING_USER_STATE.contains(source.getUserState()); diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java index aeff80a..383fd45 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java @@ -382,7 +382,7 @@ public class MemberChangeManageController { int yyyy = Calendar.getInstance().get(Calendar.YEAR); Cnd cnd = MemberUtils.getCnd(pageForm, startDate, endDate, unionId, unitId, personTypes, userStates, null, memberTypes, sexTypes, age, null, roleIds, null, null, memberStatus, threeUnitId, unionGroupId, reverseSelection, null, null, campus); Sql sql = Sqls.create(""" - SELECT u.* from $table + SELECT u.id from $table LEFT JOIN sys_user_role sur ON sur.userid = u.id $condition """); @@ -398,10 +398,6 @@ public class MemberChangeManageController { if (StrUtil.isNotBlank(memberSearchName)) { cnd.and(new SqlExpressionGroup().andLike(memberSearchName, memberSearchKeyWord)); } - List status = new ArrayList<>(); -// status.add(MemberStatus.NORMAL.getCode()); -// status.add(MemberStatus.TURN_IN.getCode()); -// status.add(MemberStatus.RESTORE.getCode()); if (!ShiroUtil.hasAnyRoles("sysadmin,A06,H03")) { cnd.and("unionid", "=", Vi.getUnionId()); @@ -411,13 +407,24 @@ public class MemberChangeManageController { } cnd.groupBy("u.id"); sql.setCondition(cnd); - List ids = memberService.list(sql).stream().map(v -> v.getString("id")).collect(Collectors.toList()); + sql.setCallback(Sqls.callback.strList()); + dao.execute(sql); + List ids = sql.getList(String.class); + + + // 杭医特有,他们有一个福利享受截止时间,在这个时间之前的退休人员,也需要享受福利 + Sql welfareSql = Sqls.create("select id from sys_user where welfareStopTime < CURDATE() and userState = '退休'"); + welfareSql.setCallback(Sqls.callback.strList()); + dao.execute(welfareSql); + ids.addAll(welfareSql.getList(String.class)); + Trans.exec(() -> { - if (!isAppendWelfareMember) { - memberService.update(Chain.make("welfareMember", WelfareMemberMode.NONE.getCode()), Cnd.where("welfareMember", "=", WelfareMemberMode.NORMAL.getCode())); - } - memberService.update(Chain.make("welfareMember", WelfareMemberMode.NORMAL.getCode()), Cnd.where("member", "=", MemberMode.NORMAL.getCode()).and("id", "in", ids)); +// if (!isAppendWelfareMember) { +// memberService.update(Chain.make("welfareMember", WelfareMemberMode.NONE.getCode()), Cnd.where("welfareMember", "=", WelfareMemberMode.NORMAL.getCode())); +// } +// memberService.update(Chain.make("welfareMember", WelfareMemberMode.NORMAL.getCode()), Cnd.where("member", "=", MemberMode.NORMAL.getCode()).and("id", "in", ids)); + dao.update(Sys_user.class, Chain.make("welfareMember", true), Cnd.where("id", "in", ids)); }); return null; } diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java b/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java index 8f09b23..51fdf78 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java @@ -161,10 +161,10 @@ public class MemberCommonServiceImpl extends ViServiceImpl implements List dictList = sysDictService.getSubListByCode("ALLOW_CHANGE_FIELDS"); Set allowChangeFieldNames = dictList.stream().map(Sys_dict::getCode).collect(Collectors.toSet()); allowChangeFieldNames.add("member"); - allowChangeFieldNames.add("welfareMember"); +// allowChangeFieldNames.add("welfareMember"); Map dictMap = dictList.stream().collect(Collectors.toMap(Sys_dict::getCode, Sys_dict::getName)); dictMap.put("member", "会员状态"); - dictMap.put("welfareMember", "福利会员状态"); +// dictMap.put("welfareMember", "福利会员状态"); return NutMap.NEW().addv("allowChangeFieldNames", allowChangeFieldNames).addv("dictMap", dictMap); } diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/controller/SourceChangeManageController.java b/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/controller/SourceChangeManageController.java index c60feee..a334ec4 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/controller/SourceChangeManageController.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/controller/SourceChangeManageController.java @@ -176,4 +176,13 @@ public class SourceChangeManageController { } return null; } + + + @At + @ViReturn + @RequiresPermissions("sourcechange.manage") + @SLog(tag = "人员变更管理", msg = "撤销人员变更") + public Object doRevoke(String id){ + return null; + } } diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java b/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java index 2ef929b..6d7cfff 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java @@ -69,6 +69,19 @@ public class SourceChangeManageServiceImpl extends BaseServiceImpl - 添加代表团 - 重置代表信息 - + diff --git a/src/main/resources/views/platform/member/change/common/memberAllChangeInfo.js b/src/main/resources/views/platform/member/change/common/memberAllChangeInfo.js index 28f1946..3768375 100644 --- a/src/main/resources/views/platform/member/change/common/memberAllChangeInfo.js +++ b/src/main/resources/views/platform/member/change/common/memberAllChangeInfo.js @@ -25,20 +25,17 @@ const MEMBER_ALL_CHANGE_INFO = { {{ viewData.userState }} {{ viewData.personType }} - -