<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
<mapper namespace="com.ruoyi.staff.mapper.StaffOnJobMapper">
|
<select id="staffOnJobListPage" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
|
SELECT
|
staff_on_job.*,
|
sp.post_name as postName,
|
sd.dept_name as deptName
|
FROM staff_on_job
|
LEFT JOIN
|
sys_post sp ON sp.post_id = staff_on_job.sys_post_id
|
LEFT JOIN
|
sys_dept sd ON sd.dept_id = staff_on_job.sys_dept_id
|
where 1=1
|
<if test="staffOnJob.staffState != null">
|
AND staff_state = #{staffOnJob.staffState}
|
</if>
|
<if test="staffOnJob.staffName != null and staffOnJob.staffName != '' ">
|
AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%')
|
</if>
|
<if test="staffOnJob.entryDateStart != null and staffOnJob.entryDateStart != '' ">
|
AND contract_expire_time >= DATE_FORMAT(#{staffOnJob.entryDateStart},'%Y-%m-%d')
|
</if>
|
<if test="staffOnJob.entryDateEnd != null and staffOnJob.entryDateEnd != '' ">
|
AND contract_expire_time <= DATE_FORMAT(#{staffOnJob.entryDateEnd},'%Y-%m-%d')
|
</if>
|
</select>
|
<select id="staffOnJobList" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
|
SELECT
|
staff_on_job.*,
|
sp.post_name as postName,
|
sd.dept_name as deptName
|
FROM staff_on_job
|
LEFT JOIN
|
sys_post sp ON sp.post_id = staff_on_job.sys_post_id
|
LEFT JOIN
|
sys_dept sd ON sd.dept_id = staff_on_job.sys_dept_id
|
where 1=1
|
<if test="staffOnJob.staffState != null">
|
AND staff_state = #{staffOnJob.staffState}
|
</if>
|
<if test="staffOnJob.staffName != null and staffOnJob.staffName != '' ">
|
AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%')
|
</if>
|
</select>
|
<!-- 统计指定日期的在职员工数 -->
|
<select id="countOnJobStaffByDate" resultType="java.lang.Integer">
|
SELECT COUNT(*)
|
FROM staff_on_job
|
WHERE staff_state = 1
|
AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{date}
|
</select>
|
|
<!-- 统计指定月份的新入职员工数 -->
|
<select id="countNewHireByMonth" resultType="java.lang.Integer">
|
SELECT COUNT(*)
|
FROM staff_on_job
|
WHERE staff_state = 1
|
AND DATE_FORMAT(create_time, '%Y-%m-%d') BETWEEN #{monthStart} AND #{monthEnd}
|
</select>
|
</mapper>
|