This commit is contained in:
JyuHsin
2026-05-18 16:47:28 +08:00
parent ba33a89cee
commit fa4ac246b5
3 changed files with 26 additions and 21 deletions
@@ -36,10 +36,7 @@ import io.v.nutz.zhgh.staffmanage.sourcechange.model.SourceChangeConfig;
import io.v.nutz.zhgh.staffmanage.sourcechange.model.SourceChangeMiddleTable; import io.v.nutz.zhgh.staffmanage.sourcechange.model.SourceChangeMiddleTable;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd; import org.nutz.dao.*;
import org.nutz.dao.Dao;
import org.nutz.dao.FieldFilter;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql; import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.Daos; import org.nutz.dao.util.Daos;
import org.nutz.ioc.aop.Aop; import org.nutz.ioc.aop.Aop;
@@ -335,7 +332,8 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
/** /**
* 判断自动更新的会员和福利会员 * 判断自动更新的会员和福利会员
* @param config 人员更新的配置 *
* @param config 人员更新的配置
* @param source * @param source
* @param user * @param user
* @param addMemberUserIds * @param addMemberUserIds
@@ -344,13 +342,13 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
* @param deleteWelfareMemberUserIds * @param deleteWelfareMemberUserIds
*/ */
private void checkMemberOrWelfareMember(SourceChangeConfig config, UserSource source, Sys_user user, private void checkMemberOrWelfareMember(SourceChangeConfig config, UserSource source, Sys_user user,
List<String> addMemberUserIds, List<String> deleteMemberUserIds, List<String> addMemberUserIds, List<String> deleteMemberUserIds,
List<String> addWelfareMemberUserIds, List<String> deleteWelfareMemberUserIds){ List<String> addWelfareMemberUserIds, List<String> deleteWelfareMemberUserIds) {
if (StrUtil.isBlank(source.getUserState())) { if (StrUtil.isBlank(source.getUserState())) {
return; return;
} }
if (user != null && ObjectUtil.equals(user.getMember(), 1) && List.of("退休", "离职", "辞职").contains(source.getUserState())) { if (user != null && ObjectUtil.equals(user.getMember(), 1) && List.of("退休", "离职", "辞职", "死亡", "调出").contains(source.getUserState())) {
deleteMemberUserIds.add(user.getId()); deleteMemberUserIds.add(user.getId());
deleteWelfareMemberUserIds.add(user.getId()); deleteWelfareMemberUserIds.add(user.getId());
} }
@@ -395,6 +393,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
/** /**
* 用于人工操作,不自动更新,不改变数据库数据 * 用于人工操作,不自动更新,不改变数据库数据
* 待人工手动调整后,变更数据库 * 待人工手动调整后,变更数据库
*
* @param source * @param source
* @param user * @param user
* @param dictMap * @param dictMap
@@ -455,6 +454,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
/** /**
* 自动更新,创建历史记录 * 自动更新,创建历史记录
* 会直接改变数据库 * 会直接改变数据库
*
* @param source * @param source
* @param user * @param user
* @param dictMap * @param dictMap
@@ -484,7 +484,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
// 变更记录 // 变更记录
List<NutMap> changeList = new ArrayList<>(); List<NutMap> changeList = new ArrayList<>();
for (String fieldName : allowChangeFieldNames) { for (String fieldName : allowChangeFieldNames) {
if (List.of("retireDate", "welfareStopDate", "personalStatus").contains(fieldName)) { if (List.of("retireDate", "welfareStopDate", "personalStatus","welfareMember").contains(fieldName)) {
continue; continue;
} }
memberCommonService.extractChange(newMap, sourceMap, fieldName, dictMap, changeList); memberCommonService.extractChange(newMap, sourceMap, fieldName, dictMap, changeList);
@@ -508,11 +508,12 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
/** /**
* 比较变更类型公共方法 * 比较变更类型公共方法
*
* @param source * @param source
* @param user * @param user
* @param changeTypes * @param changeTypes
*/ */
private void commonCompareChange(UserSource source, Sys_user user, List<String> changeTypes){ private void commonCompareChange(UserSource source, Sys_user user, List<String> changeTypes) {
changeTypes.add(MemberChangeType.BASIC_CHANGE.getType()); changeTypes.add(MemberChangeType.BASIC_CHANGE.getType());
if (!ObjectUtil.equals(user.getUserState(), source.getUserState())) { if (!ObjectUtil.equals(user.getUserState(), source.getUserState())) {
@@ -523,7 +524,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
} }
} }
if (source.getMember() != null && !ObjectUtil.equals(user.getMember(), source.getMember())){ if (source.getMember() != null && !ObjectUtil.equals(user.getMember(), source.getMember())) {
if (source.getMember() == 1) { if (source.getMember() == 1) {
changeTypes.add(MemberChangeType.RESTORE.getType()); changeTypes.add(MemberChangeType.RESTORE.getType());
} else { } else {
@@ -539,6 +540,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
/** /**
* 添加会员 * 添加会员
*
* @param addMemberUserIds * @param addMemberUserIds
* @param isJoinMemberActivityScope * @param isJoinMemberActivityScope
*/ */
@@ -568,15 +570,17 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
/** /**
* 删除会员 * 删除会员
*
* @param deleteMemberUserIds * @param deleteMemberUserIds
* @param isDeleteMemberActivityScope * @param isDeleteMemberActivityScope
*/ */
private void deleteMemberUser(List<String> deleteMemberUserIds, Boolean isDeleteMemberActivityScope){ private void deleteMemberUser(List<String> deleteMemberUserIds, Boolean isDeleteMemberActivityScope) {
if (Lang.isNotEmpty(deleteMemberUserIds)) { if (Lang.isNotEmpty(deleteMemberUserIds)) {
dao().clear(Sys_user_role.class, Cnd.where("userId", "in", deleteMemberUserIds).and("roleId", "=", Roles.MEMBER)); dao().clear(Sys_user_role.class, Cnd.where("userId", "in", deleteMemberUserIds).and("roleId", "=", Roles.MEMBER));
/* if (isDeleteMemberActivityScope) { dao().update(Sys_user.class, Chain.make("member", 0).add("welfareMember", 0), Cnd.where("id", "in", deleteMemberUserIds));
dao().clear(ActivityUserScope.class, Cnd.where("userId", "in", deleteMemberUserIds).and("groupId", "=", 1)); if (isDeleteMemberActivityScope) {
}*/ dao().clear(ActivityUserScope.class, Cnd.where("userId", "in", deleteMemberUserIds).and("groupId", "=", 4));
}
} }
} }
@@ -586,7 +590,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
public void dailyScheduledUpdates() { public void dailyScheduledUpdates() {
pullSourceData(true); pullSourceData(true);
Date pullTime = (Date) dao().func2(UserSource.class, "max", "pullTime"); Date pullTime = (Date) dao().func2(UserSource.class, "max", "pullTime");
updateSysUser(DateUtil.formatDateTime(pullTime), "add",null,null,null,false); updateSysUser(DateUtil.formatDateTime(pullTime), "add", null, null, null, false);
DateTime agoWeekDate = DateUtil.offsetWeek(new Date(), -1); DateTime agoWeekDate = DateUtil.offsetWeek(new Date(), -1);
String formatAgoWeekDate = DateUtil.format(agoWeekDate, "yyyy-MM-dd"); String formatAgoWeekDate = DateUtil.format(agoWeekDate, "yyyy-MM-dd");
@@ -597,9 +601,10 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
/** /**
* 数据大批量更新 * 数据大批量更新
*
* @param needDoUpdateList 需要更新的数据 * @param needDoUpdateList 需要更新的数据
* @param isPart 是否部分更新 * @param isPart 是否部分更新
* @param filterColumnDao 部分更新传递(部分更新存在过滤字段) * @param filterColumnDao 部分更新传递(部分更新存在过滤字段)
*/ */
private void massUpdatesAsync(List<Sys_user> needDoUpdateList, Boolean isPart, AtomicReference<Dao> filterColumnDao) { private void massUpdatesAsync(List<Sys_user> needDoUpdateList, Boolean isPart, AtomicReference<Dao> filterColumnDao) {
// 创建一个CPU核心数的2倍的线程池 // 创建一个CPU核心数的2倍的线程池
@@ -53,7 +53,7 @@ public class SourceChangeConfigController {
List<String> list = (List<String>) siftValue; List<String> list = (List<String>) siftValue;
System.out.println(list); System.out.println(list);
} }
return null; return config;
} }
@@ -71,9 +71,9 @@
<script src="${base!}/assets/platform/js/v.js?v=1.0.5"></script> <script src="${base!}/assets/platform/js/v.js?v=1.0.5"></script>
<script src="${base!}/assets/platform/plugins/wangeditor/wangEditor.js"></script> <script src="${base!}/assets/platform/plugins/wangeditor/wangEditor.js"></script>
<!-- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/wangeditor@4.6.15/dist/wangEditor.min.js"></script>--> <!-- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/wangeditor@4.6.15/dist/wangEditor.min.js"></script>-->
<script type="text/javascript" <!-- <script type="text/javascript"
src="https://webapi.amap.com/maps?v=1.4.15&key=6ab3452804ba35050880b5e047436853&plugin=AMap.PolyEditor,AMap.PlaceSearch"></script> src="https://webapi.amap.com/maps?v=1.4.15&key=6ab3452804ba35050880b5e047436853&plugin=AMap.PolyEditor,AMap.PlaceSearch"></script>
-->
<!--viewer--> <!--viewer-->
<script src="${base!}/assets/platform/plugins/viewer/viewer.min.js"></script> <script src="${base!}/assets/platform/plugins/viewer/viewer.min.js"></script>
<script src="${base!}/assets/platform/plugins/viewer/jquery-viewer.min.js"></script> <script src="${base!}/assets/platform/plugins/viewer/jquery-viewer.min.js"></script>