This commit is contained in:
Paidax
2025-07-31 15:48:46 +08:00
parent ac02be1aec
commit 1510e28ab0
294 changed files with 36042 additions and 4361 deletions
@@ -1,196 +1,61 @@
package com.budwk.app.sys.models;
import cn.hutool.json.JSONObject;
import com.budwk.app.base.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import org.nutz.lang.util.NutMap;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Table("sys_user_history")
@TableMeta("{'mysql-charset':'utf8mb4'}")
@TableIndexes({@Index(name = "INDEX_SYS_USER_HISTORY_LOGINNAMAE", fields = {"loginname"}, unique = false)})
@TableIndexes({
@Index(name = "INDEX_HISTORY_USER_LOGINNAMAE", fields = {"loginname"}, unique = false),
@Index(name = "INDEX_HISTORY_USER_UNIT", fields = {"unitId"}, unique = false),
})
@Comment("用户历史记录")
public class Sys_user_history extends BaseModel implements Serializable {
public class Sys_user_history extends Sys_user {
@Name
@Column
@Comment("ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private String id;
@Column
@Comment("用户名")
@ColDefine(type = ColType.VARCHAR, width = 120)
private String loginname;
@Comment("更新时间")
@ColDefine(type = ColType.DATETIME)
private Date changeTime;
/**
* @see com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeType
*/
@Column
@Comment("姓名")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String username;
@Column
@Comment("性别")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String sex;
@Column
@Comment("电子邮箱")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String email;
@Column
@Comment("手机号码")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String mobile;
@Column
@Comment("工会ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unionId;
@Column
@Comment("工会名称")
@ColDefine(type = ColType.VARCHAR, width = 200)
private String unionName;
@Column
@Comment("单位ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unitId;
@Column
@Comment("单位名称")
@ColDefine(type = ColType.VARCHAR, width = 200)
private String unitName;
@Column
@Comment("在职状态")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String userState;
@Column
@Comment("人事编制")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String preparedBy;
@Column
@Comment("人员类型")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String personType;
@Column
@Comment("来校年月")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String comeSchoolDate;
@Column
@Comment("出生日期")
@ColDefine(type = ColType.DATE)
private Date birthday;
@Column
@Comment("党政职务")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String governmentPosition;
@Column
@Comment("技术职称")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String technicalTitle;
@Column
@Comment("民族")
@ColDefine(type = ColType.VARCHAR, width = 15)
private String nation;
@Column
@Comment("国籍")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String nationality;
@Column
@Comment("证件类型")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String icCardType;
@Column
@Comment("证件号码")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String idCard;
@Column
@Comment("政治面貌")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String political;
@Column
@Comment("学历")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String education;
@Column
@Comment("学位")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String academicDegree;
@Column
@Comment("个人简况")
@ColDefine(type = ColType.VARCHAR, customType = "text")
private String personalData;
@Column
@Comment("是否双肩挑")
@ColDefine(type = ColType.BOOLEAN)
private Boolean manyUnit;
@Column
@Comment("是否会员")
@ColDefine(type = ColType.AUTO)
private Boolean member;
@Column
@Comment("是否愿意加入重大疾病爱心基金互助会")
@ColDefine(type = ColType.BOOLEAN)
private Boolean wantJoinLoveMutualAidAssociation;
@Column
@Comment("是否福利会员")
@ColDefine(type = ColType.AUTO)
private Boolean welfareMember;
@Column
@Comment("异动类型")
@Comment("变更类型(多种)")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> changeTypes;
@Column
@Comment("家庭成员")
@ColDefine(type = ColType.MYSQL_JSON)
private List<JSONObject> families;
@Column
@Comment("博士后进站时间")
@ColDefine(type = ColType.DATE)
private Date postDoctoralJoinDate;
@Column
@Comment("异动时间")
@ColDefine(type = ColType.DATETIME)
private Date changeTime;
@Column
@Comment("异动来源")
@ColDefine(type = ColType.VARCHAR, width = 20)
@Comment("变更来源")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String changeOrigin;
@Column
@ColDefine(type = ColType.VARCHAR, width = 100)
@Comment("变更原因")
private String changeReason;
@Column
@Comment("会员变更表记录id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String recordId;
@Column
@Comment("详细变更记录,用于查询、列表展示")
@ColDefine(type = ColType.MYSQL_JSON)
@@ -200,19 +65,4 @@ public class Sys_user_history extends BaseModel implements Serializable {
@Comment("详细变更记录,文本类型,可用于导出")
@ColDefine(type = ColType.TEXT)
private String changeInfosStr;
@Column
@Comment("变更原因")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String changeReason;
@Column
@Comment("会员变更记录表")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String recordId;
@Column
@Comment("变更说明")
@ColDefine(type = ColType.TEXT)
private String remark;
}
@@ -1,23 +1,13 @@
package com.budwk.app.sys.services.impl;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.AsyncUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
import com.budwk.app.base.constant.RoleConstant;
import com.budwk.app.base.event.user.SysUserEvent;
import com.budwk.app.base.event.user.SysUserPublisher;
import com.budwk.app.base.utils.ConditionGroupUtil;
import com.budwk.app.base.utils.ManyAddOrRenewUtil;
import com.budwk.app.base.utils.PwdUtil;
import com.budwk.app.sys.annotation.DataCenterColumn;
import com.budwk.app.sys.models.*;
@@ -28,33 +18,23 @@ import com.budwk.app.sys.services.SysRoleService;
import com.budwk.app.sys.services.SysUserService;
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeOrigin;
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeType;
import com.budwk.app.zhgh.staffmanage.member.service.MemberManageService;
import com.budwk.app.zhgh.staffmanage.specialstaff.model.SpecialStaff;
import lombok.extern.slf4j.Slf4j;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.cri.SqlExpressionGroup;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Lang;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.Mvcs;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.io.File;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
/**
@@ -170,4 +170,8 @@ public class View_user {
@Column
private Date postDoctoralJoinDate;
// 福利享受截止日期
@Column
private Date welfareStopDate;
}