Browse Source

招聘管理V2:调整面试人次统计规则:由之前的已面试时间(interview_time)为时间点变为已生成预约记录的时间(generate_time)

Qifeng-Wu 4 năm trước cách đây
mục cha
commit
4308131171

+ 2 - 2
happy-job-module-crm/src/main/java/com/jeeplus/modules/omcandidate/mapper/xml/OmCandidateMapper.xml

@@ -217,9 +217,9 @@
 		SELECT COUNT(s.id) FROM (SELECT p.* FROM (SELECT b.* FROM om_candidate_belong b ORDER BY b.id DESC LIMIT 999999999) as p GROUP BY p.candidate_id HAVING p.type <> 2 AND p.belong_user = #{userName} ORDER BY p.id) AS s left join om_candidate o on o.id=s.candidate_id where o.status=7
 		UNION ALL
 		SELECT SUM(c.count) FROM 
-			(SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE YEARWEEK(DATE_FORMAT(t.interview_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND (d.status = 2 OR d.status = 3) AND d.track_by = #{userName}
+			(SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE YEARWEEK(DATE_FORMAT(t.generate_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND (d.status = 2 OR d.status = 3) AND d.track_by = #{userName}
 			UNION ALL
-			SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time < DATE_FORMAT(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')), '%Y-%m-%d 00:00:00') AND (d.status = 2 OR d.status = 3) AND d.track_by = #{userName} 
+			SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.generate_time < DATE_FORMAT(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')), '%Y-%m-%d 00:00:00') AND (d.status = 2 OR d.status = 3) AND d.track_by = #{userName} 
 			AND d.candidate_track_id IN (SELECT DISTINCT e.candidate_track_id FROM om_candidate_track_detail e WHERE YEARWEEK(DATE_FORMAT(e.track_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND e.status = 5 AND e.track_by = #{userName})) AS c
 		UNION ALL
 		SELECT COUNT(d.id) FROM om_candidate_track_detail d WHERE YEARWEEK(DATE_FORMAT(d.track_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND d.status = 5 AND d.track_by = #{userName}

+ 3 - 3
happy-job-module-crm/src/main/java/com/jeeplus/modules/omcandidate/mapper/xml/OmTeamManageMapper.xml

@@ -22,7 +22,7 @@
 		UNION ALL
 		SELECT COUNT(s.id) FROM (SELECT p.* FROM (SELECT b.* FROM om_candidate_belong b WHERE b.belong_time BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) ORDER BY b.id DESC LIMIT 999999999) as p GROUP BY p.candidate_id HAVING p.type <> 2 AND p.belong_user = #{name} ORDER BY p.id) AS s left join om_candidate o on o.id=s.candidate_id where o.status IN (1,3,5)
 		UNION ALL
-		SELECT COUNT(d.id) FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) AND (d.status = 2 OR d.status = 3) AND d.track_by = #{name}
+		SELECT COUNT(d.id) FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.generate_time BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) AND (d.status = 2 OR d.status = 3) AND d.track_by = #{name}
 		UNION ALL
 		SELECT COUNT(d.id) FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.onboarding_date BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) AND d.status = 7 AND d.track_by = #{name}
 		UNION ALL
@@ -39,9 +39,9 @@
 	<!-- 根据时间获取所有招聘专员的候选人数据统计 -->
 	<select id="findAllCandidateDataByDate" parameterType="OmTeamManage" resultType="java.lang.Integer">
 		SELECT SUM(c.count) FROM 
-			(SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) AND (d.status = 2 OR d.status = 3)
+			(SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.generate_time BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) AND (d.status = 2 OR d.status = 3)
 			UNION ALL
-			SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time &lt; #{startSearchDate} AND (d.status = 2 OR d.status = 3)
+			SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.generate_time &lt; #{startSearchDate} AND (d.status = 2 OR d.status = 3)
 			AND d.candidate_track_id IN (SELECT DISTINCT e.candidate_track_id FROM om_candidate_track_detail e WHERE e.track_time BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) AND e.status = 5)) AS c
 		UNION ALL
 		SELECT COUNT(d.id) FROM om_candidate_track_detail d WHERE d.track_time BETWEEN #{startSearchDate} AND DATE_ADD(#{endSearchDate},INTERVAL 1 DAY) AND d.status = 5