commit
This commit is contained in:
+9
@@ -12,6 +12,8 @@ import com.budwk.app.bpm.service.BpmService;
|
||||
import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
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.models.MemberChangeRecord;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberChangePageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberCommonService;
|
||||
@@ -22,6 +24,7 @@ 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.Static;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
@@ -111,6 +114,12 @@ public class MemberChangeMineController {
|
||||
cnd.and("info.userId", "=", SecurityUtil.getUserId());
|
||||
}
|
||||
}
|
||||
// Filter manual input records created by member info input
|
||||
cnd.and(new Static(
|
||||
"(info.changeOrigin <> '" + MemberChangeOrigin.HAND_MOVEMENT.name()
|
||||
+ "' OR info.changeOrigin IS NULL OR info.changeType <> '" + MemberChangeType.NEW.name()
|
||||
+ "' OR info.changeType IS NULL)"
|
||||
));
|
||||
if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
||||
cnd.desc("info.applyDateTime");
|
||||
} else {
|
||||
|
||||
+37
@@ -46,6 +46,8 @@ import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.random.R;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -298,6 +300,7 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
|
||||
@Override
|
||||
public void compareChangeInfoAndUpdateMember(MemberChangeRecord record) {
|
||||
normalizeArrivalAtSchoolDate(record);
|
||||
List<NutMap> changeList = getChangeInfos(record);
|
||||
|
||||
// 如果有工会关系人员,这个user用来存储数据
|
||||
@@ -503,6 +506,7 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
|
||||
@Override
|
||||
public void validateChangeAndSetBasicData(MemberChangeRecord record, MemberChangeOrigin origin) {
|
||||
normalizeArrivalAtSchoolDate(record);
|
||||
// 校验有没有发生变更
|
||||
List<NutMap> changeInfos = getChangeInfos(record);
|
||||
if (Lang.isEmpty(changeInfos)) {
|
||||
@@ -521,6 +525,39 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 统一规范变更记录中的到校日期,避免 Date 对象复制后以英文字符串形式参与比较或直接落库。
|
||||
*/
|
||||
private void normalizeArrivalAtSchoolDate(MemberChangeRecord record) {
|
||||
if (record == null || StrUtil.isBlank(record.getArrivalAtSchoolDate())) {
|
||||
return;
|
||||
}
|
||||
String arrivalAtSchoolDate = StrUtil.trim(record.getArrivalAtSchoolDate());
|
||||
try {
|
||||
Date parsedDate = parseArrivalAtSchoolDate(arrivalAtSchoolDate);
|
||||
record.setArrivalAtSchoolDate(DateUtil.format(parsedDate, "yyyy-MM-dd"));
|
||||
} catch (Exception e) {
|
||||
throw new BaseException("到校日期格式不正确,请使用yyyy-MM-dd格式");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 兼容页面手工变更时从视图对象复制出的英文日期字符串。
|
||||
*/
|
||||
private Date parseArrivalAtSchoolDate(String arrivalAtSchoolDate) throws ParseException {
|
||||
if (arrivalAtSchoolDate.matches("\\d{4}-\\d{2}-\\d{2}")) {
|
||||
return DateUtil.parseDate(arrivalAtSchoolDate);
|
||||
}
|
||||
try {
|
||||
return DateUtil.parse(arrivalAtSchoolDate);
|
||||
} catch (Exception ignore) {
|
||||
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
|
||||
format.setLenient(false);
|
||||
return format.parse(arrivalAtSchoolDate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 验证申请或变更是否正在进行
|
||||
* @param userId 用户id
|
||||
|
||||
Reference in New Issue
Block a user