From 2a192abbbca7adce3571ed4a9f4f94b847ff8c94 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期六, 11 四月 2026 20:38:00 +0800
Subject: [PATCH] refactor(hr): 重构员工基本信息导入逻辑提升代码可维护性
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpContractInfoMapper.java | 64 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 3 deletions(-)
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpContractInfoMapper.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpContractInfoMapper.java
index 30e8f93..6c45bd8 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpContractInfoMapper.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpContractInfoMapper.java
@@ -1,13 +1,11 @@
package cc.mrbird.febs.server.hr.mapper;
import cc.mrbird.febs.server.hr.entity.EmpContractInfo;
-
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
@@ -83,5 +81,65 @@
" </foreach>\n" +
"</script>")
int terminateContract(@Param("list") List<String> list,@Param("operatorId") String operatorId);
-
+
+ @Update("<script> " +
+ " UPDATE t_emp_contractinfo SET delFlag = 1,\n" +
+ " modifyTime = NOW(),\n" +
+ " modifier = #{operatorId}, \n" +
+ " version = version+1 \n" +
+ " WHERE empId IN \n" +
+ " <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" +
+ " #{delId} \n" +
+ " </foreach>\n" +
+ "</script>")
+ void logicDelByUserIds(@Param("list") List<String> list,@Param("operatorId") String operatorId);
+
+ @Update("<script> " +
+ " UPDATE t_emp_contractinfo SET contractStatus='4',\n" +
+ " empStatus='1',\n" +
+ " remindFlag=1,\n" +
+ " modifyTime = NOW(),\n" +
+ " modifier = #{operatorId}, \n" +
+ " version = version+1 \n" +
+ " WHERE TO_DAYS(t_emp_contractinfo.endDate) = TO_DAYS(NOW()) " +
+ "</script>")
+ int autoStopContract(@Param("operatorId") String operatorId);
+
+ @Update("<script>" +
+ " UPDATE t_emp_contractinfo SET diffDay=DATEDIFF(endDate, NOW())\n" +
+ " WHERE endDate>=now()" +
+ "</script>")
+ int updateContractRemindDay();
+
+ @Update("<script>" +
+ " UPDATE t_emp_contractinfo SET remindFlag=1\n" +
+ " WHERE contractId=#{contractId}" +
+ "</script>")
+ int updateEmpContractRemind(@Param("contractId") Long contractId);
+
+ /**
+ * UNION查询:即将到期 + 已到期未续签的合同
+ *
+ * @param page 分页参数
+ * @param sqlSegment1 即将到期的查询条件SQL
+ * @param sqlSegment2 已到期未续签的查询条件SQL
+ * @return 分页结果
+ */
+ IPage<EmpContractInfo> selectUnionPageVo(
+ @Param("page") Page<EmpContractInfo> page,
+ @Param("sqlSegment1") String sqlSegment1,
+ @Param("sqlSegment2") String sqlSegment2
+ );
+
+ /**
+ * 查询在职人员的最后一份合同
+ *
+ * @param page 分页参数
+ * @param sqlSegment 查询条件SQL
+ * @return 分页结果
+ */
+ IPage<EmpContractInfo> selectLastContractPageVo(
+ @Param("page") Page<EmpContractInfo> page,
+ @Param("sqlSegment") String sqlSegment
+ );
}
\ No newline at end of file
--
Gitblit v1.8.0