| | |
| | | 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; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * |
| | |
| | | * description:员工合同信息实体Mapper |
| | | * |
| | | * @author luoyibo |
| | | * @date 2021-01-24 20:35:42 |
| | | * @date 2021-01-31 11:28:23 |
| | | * @since JDK1.8 |
| | | */ |
| | | public interface EmpContractInfoMapper extends BaseMapper<EmpContractInfo> { |
| | | |
| | | IPage<EmpContractInfo> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper); |
| | | |
| | | /** |
| | | * |
| | | * 根据Id批量逻辑删除记录 |
| | | * |
| | | * date luoyibo |
| | | * @author: 2021-01-31 11:28:23 |
| | | * @param list 待删除Id |
| | | * @param operatorId 操作员Id |
| | | * @return void |
| | | */ |
| | | @Update("<script> " + |
| | | " UPDATE t_emp_contractinfo SET delFlag = 1,\n" + |
| | | " modifyTime = NOW(),\n" + |
| | | " modifier = #{operatorId}, \n" + |
| | | " version = version+1 \n" + |
| | | " WHERE contractId IN \n" + |
| | | " <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" + |
| | | " #{delId} \n" + |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | void logicDeleteByIds(@Param("list") List<String> list,@Param("operatorId") String operatorId); |
| | | /** |
| | | * |
| | | * 暂存记录提交 |
| | | * |
| | | * date luoyibo |
| | | * @author: 2021-01-31 11:28:23 |
| | | * @param list 待删除Id |
| | | * @param operatorId 操作员Id |
| | | * @return void |
| | | */ |
| | | @Update("<script> " + |
| | | " UPDATE t_emp_contractinfo SET delFlag = 0,\n" + |
| | | " modifyTime = NOW(),\n" + |
| | | " modifier = #{operatorId}, \n" + |
| | | " version = version+1 \n" + |
| | | " WHERE contractId IN \n" + |
| | | " <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" + |
| | | " #{delId} \n" + |
| | | " </foreach>\n" + |
| | | "</script>") |
| | | int momentToNormal(@Param("list") List<String> list,@Param("operatorId") String operatorId); |
| | | |
| | | } |
| | | @Update("<script> " + |
| | | " UPDATE t_emp_contractinfo SET contractStatus='3',\n" + |
| | | " empStatus='1',\n" + |
| | | " modifyTime = NOW(),\n" + |
| | | " modifier = #{operatorId}, \n" + |
| | | " version = version+1 \n" + |
| | | " WHERE contractStatus in ('1','2') " + |
| | | " and empId IN \n" + |
| | | " <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" + |
| | | " #{delId} \n" + |
| | | " </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 |
| | | ); |
| | | } |