人员管理修改

This commit is contained in:
Paidax
2025-04-21 15:25:31 +08:00
parent 300286fa58
commit 96895296f8
6 changed files with 37 additions and 7 deletions
@@ -5,6 +5,8 @@ import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.View;
import java.util.Date;
/**
* 视图中的user
*
@@ -136,4 +138,15 @@ public class User {
@Column
private String threeUnitId;
@Column
private String personalStatus;
@Column
private String schoolTime;
@Column
private Date retireDate;
@Column
private Date welfareStopDate;
}
@@ -257,7 +257,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
if (user != null) {
histories.add(history);
}
if (history.getChangeTypes().contains(MemberChangeType.NEW.getType())) {
if (Lang.isNotEmpty(history.getChangeTypes()) && history.getChangeTypes().contains(MemberChangeType.NEW.getType())) {
needInitUserList.add(u);
}
} else {
@@ -268,7 +268,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
if (user != null && Lang.isNotEmpty(table.getChangeTypes())) {
middleTables.add(table);
}
if (table.getChangeTypes().contains(MemberChangeType.NEW.getType())) {
if (Lang.isNotEmpty(table.getChangeTypes()) && table.getChangeTypes().contains(MemberChangeType.NEW.getType())) {
needInitUserList.add(u);
}
}
@@ -543,7 +543,8 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
// 变更记录
List<NutMap> changeList = new ArrayList<>();
for (String fieldName : allowChangeFieldNames) {
if (allowChangeFieldNames.contains("retireDate") || allowChangeFieldNames.contains("welfareStopDate")) {
if (allowChangeFieldNames.contains("retireDate") || allowChangeFieldNames.contains("welfareStopDate")
|| allowChangeFieldNames.contains("personalStatus")) {
continue;
}
memberCommonService.extractChange(newMap, sourceMap, fieldName, dictMap, changeList);
@@ -594,7 +595,8 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
}
List<NutMap> changeList = new ArrayList<>();
for (String fieldName : allowChangeFieldNames) {
if (allowChangeFieldNames.contains("retireDate") || allowChangeFieldNames.contains("welfareStopDate")) {
if (allowChangeFieldNames.contains("retireDate") || allowChangeFieldNames.contains("welfareStopDate")
|| allowChangeFieldNames.contains("personalStatus")) {
continue;
}
memberCommonService.extractChange(newMap, sourceMap, fieldName, dictMap, changeList);
@@ -417,11 +417,18 @@ public class MemberChangeManageController {
sql.setCondition(cnd);
List<String> ids = memberService.list(sql).stream().map(v -> v.getString("id")).collect(Collectors.toList());
// 杭医特有,他们有一个福利享受截止时间,在这个时间之前的退休人员,也需要享受福利
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));
// 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;
}
@@ -134,6 +134,12 @@ public class MemberChangeRecord {
@Size(max = 50)
private String personType;
@Column
@Comment("费用类型")
@ColDefine(type = ColType.VARCHAR, width = 50)
@Size(max = 50)
private String personalStatus;
@Column
@Comment("手机号码")
@ColDefine(type = ColType.VARCHAR, width = 32)
@@ -355,7 +355,7 @@ public class MemberCommonServiceImpl extends ViServiceImpl<Sys_user> implements
// 去查询手动更新记录表,删除状态是未操作,变更类型是新入职的
dao().clear(SourceChangeMiddleTable.class, Cnd.where("loginname", "=", history.getLoginname())
.and("changeInfoStr", "=", "新入职").and("isOperate", "=", 0));
.and("changeInfosStr", "=", "新入职").and("isOperate", "=", 0));
sysUserService.deleteCacheAndUpdate(info.getId());
}
@@ -141,7 +141,7 @@ const MEMBER_CHANGE = {
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="费用类型">
<el-form-item prop="personType">
<el-form-item prop="personalStatus">
<dict-select v-model="formData.personalStatus" code="USER_PERSONAL_STATUS"
:disabled="allowFields('personalStatus')" style="width: 100%"></dict-select>
</el-form-item>
@@ -475,6 +475,7 @@ const MEMBER_CHANGE = {
userState,
personType,
preparedBy,
personalStatus,
idCard,
mobile,
email,
@@ -499,6 +500,7 @@ const MEMBER_CHANGE = {
this.$set(this.formData, "userState", userState)
this.$set(this.formData, "personType", personType)
this.$set(this.formData, "preparedBy", preparedBy)
this.$set(this.formData, "personalStatus", personalStatus)
this.$set(this.formData, "unitName", unit ? unit.name : null)
this.$set(this.formData, "unitId", unit ? unit.id : null)
this.$set(this.formData, "unionName", union ? union.unionname : null)