From 0998498b2f9192b3fd04b34dc6074cac63e14985 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 20 一月 2026 17:43:23 +0800
Subject: [PATCH] 人力资源分析接口

---
 src/main/resources/mapper/staff/StaffOnJobMapper.xml |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/staff/StaffOnJobMapper.xml b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
index 71eb981..75ae5ef 100644
--- a/src/main/resources/mapper/staff/StaffOnJobMapper.xml
+++ b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
@@ -4,10 +4,13 @@
     <select id="staffOnJobListPage" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
         SELECT
         staff_on_job.*,
-        sp.post_name as postName
+        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}
@@ -22,16 +25,37 @@
             AND  contract_expire_time &lt;= DATE_FORMAT(#{staffOnJob.entryDateEnd},'%Y-%m-%d')
         </if>
     </select>
-    <select id="staffOnJobList" resultType="com.ruoyi.staff.pojo.StaffOnJob">
+    <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 staffOnJob.staffState != '' ">
+        <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') &lt;= #{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>

--
Gitblit v1.9.3