This commit is contained in:
zhouhefeng
2026-06-01 11:03:09 +08:00
parent 8b47088953
commit 27f2b1670e
2 changed files with 11 additions and 3 deletions
@@ -58,6 +58,9 @@ import java.util.stream.Collectors;
@At("/platform/thirtyTeach/manage")
public class ThirtyTeachController {
private static final String TEACH_NUM_SQL = "CASE WHEN arrivalAtSchoolDate REGEXP '^[0-9]{4}-(0[1-9]|1[0-2])(-[0-9]{2})?$' " +
"THEN TIMESTAMPDIFF(YEAR, CONCAT(SUBSTRING(arrivalAtSchoolDate, 1, 7), '-01'), CURDATE()) ELSE NULL END";
@Inject
private ThirtyTeachService thirtyTeachService;
@@ -91,7 +94,7 @@ public class ThirtyTeachController {
Cnd cnd = Cnd.NEW();
cnd.and("arrivalAtSchoolDate", "is not", null);
cnd.and("arrivalAtSchoolDate", "!=", "");
cnd.and("TIMESTAMPDIFF(YEAR, CONCAT(arrivalAtSchoolDate, '-01'), CURDATE())", ">", setNum);
cnd.and(TEACH_NUM_SQL, ">", setNum);
sysUserService.update(Chain.make("isThirtyTeach", 1), cnd);
return Result.success();
}
@@ -13,6 +13,7 @@ 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.dao.util.cri.Static;
import org.nutz.ioc.loader.annotation.IocBean;
/**
@@ -22,6 +23,9 @@ import org.nutz.ioc.loader.annotation.IocBean;
*/
@IocBean(args = {"refer:dao"})
public class ThirtyTeachServiceImpl extends BaseServiceImpl implements ThirtyTeachService {
private static final String TEACH_NUM_SQL = "CASE WHEN arrivalAtSchoolDate REGEXP '^[0-9]{4}-(0[1-9]|1[0-2])(-[0-9]{2})?$' " +
"THEN TIMESTAMPDIFF(YEAR, CONCAT(SUBSTRING(arrivalAtSchoolDate, 1, 7), '-01'), CURDATE()) ELSE NULL END";
public ThirtyTeachServiceImpl(Dao dao) {
super(dao);
}
@@ -43,11 +47,12 @@ public class ThirtyTeachServiceImpl extends BaseServiceImpl implements ThirtyTea
birthday,
thirtyCertificateProcessingTime,
false as isEditThirtyCertificateProcessingTime,
TIMESTAMPDIFF(YEAR, CONCAT(arrivalAtSchoolDate, '-01'), CURDATE()) AS teachNum
$teachNumSql AS teachNum
FROM
`vw_user`
$condition
""");
sql.setVar("teachNumSql", new Static(TEACH_NUM_SQL));
Cnd cnd = Cnd.NEW();
cnd.and("isThirtyTeach", "=", 1);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
@@ -60,7 +65,7 @@ public class ThirtyTeachServiceImpl extends BaseServiceImpl implements ThirtyTea
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
cnd.and("unionId", "=", SecurityUtil.getUnionId());
}
cnd.andEX("TIMESTAMPDIFF(YEAR, CONCAT(arrivalAtSchoolDate, '-01'), CURDATE())", "=", pageForm.getTeachNum());
cnd.andEX(TEACH_NUM_SQL, "=", pageForm.getTeachNum());
cnd.andEX("unionId", "=", pageForm.getUnionId());
cnd.andEX("unitId", "=", pageForm.getUnitId());
cnd.andEX("personType", "=", pageForm.getPersonType());