面试功能开发
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
<result property="meetingPassword" column="meeting_password"/>
|
||||
<result property="interviewLocation" column="interview_location"/>
|
||||
<result property="contactPhone" column="contact_phone"/>
|
||||
<result property="interviewerName" column="interviewer_name"/>
|
||||
<result property="companyName" column="company_name"/>
|
||||
<result property="jobName" column="job_name"/>
|
||||
<result property="status" column="status"/>
|
||||
@@ -30,12 +31,14 @@
|
||||
<!-- VO 带公司名和岗位名(继承基础映射,jobTitle 来自关联查询的实时数据) -->
|
||||
<resultMap type="com.ruoyi.cms.domain.vo.InterviewInvitationVO" id="InterviewInvitationVOResult" extends="InterviewInvitationResult">
|
||||
<result property="jobTitle" column="job_title"/>
|
||||
<result property="applicantName" column="applicant_name"/>
|
||||
<result property="applicantPhone" column="applicant_phone"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectInterviewInvitationVo">
|
||||
select id, company_id, job_id, user_id, apply_id, interview_time,
|
||||
interview_method, meeting_link, meeting_password, interview_location,
|
||||
contact_phone, company_name, job_name, status, del_flag,
|
||||
contact_phone, interviewer_name, company_name, job_name, status, del_flag,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
from interview_invitation
|
||||
</sql>
|
||||
@@ -56,10 +59,13 @@
|
||||
<select id="getInterviewInvitationVOList" resultMap="InterviewInvitationVOResult" parameterType="InterviewInvitation">
|
||||
select t.*,
|
||||
COALESCE(c.name, t.company_name) as company_name,
|
||||
COALESCE(j.job_title, t.job_name) as job_title
|
||||
COALESCE(j.job_title, t.job_name) as job_title,
|
||||
u.name as applicant_name,
|
||||
u.phone as applicant_phone
|
||||
from interview_invitation t
|
||||
left join company c on c.company_id = t.company_id and c.del_flag = '0'
|
||||
left join job j on j.job_id = t.job_id and j.del_flag = '0'
|
||||
left join app_user u on u.user_id = t.user_id and u.del_flag = '0'
|
||||
<where> t.del_flag = '0'
|
||||
<if test="companyId != null and companyId != ''"> and t.company_id = #{companyId}</if>
|
||||
<if test="jobId != null and jobId != ''"> and t.job_id = #{jobId}</if>
|
||||
|
||||
@@ -42,10 +42,26 @@
|
||||
ORDER BY ja.create_time DESC
|
||||
</select>
|
||||
<select id="candidates" resultType="com.ruoyi.cms.domain.vo.CandidateVO">
|
||||
SELECT au.*,jc.create_time as apply_date,jc.matching_degree,jc.id as applyId
|
||||
SELECT au.*, jc.create_time as apply_date, jc.matching_degree, jc.id as applyId,
|
||||
latest_ii.status as interviewStatus, latest_ii.id as interviewId
|
||||
from job_apply as jc
|
||||
inner join app_user as au on jc.user_id = au.user_id
|
||||
left join (
|
||||
select ii1.*
|
||||
from interview_invitation ii1
|
||||
inner join (
|
||||
select user_id, job_id, max(create_time) as max_ct
|
||||
from interview_invitation
|
||||
where del_flag = '0'
|
||||
group by user_id, job_id
|
||||
) ii2 on ii1.user_id = ii2.user_id
|
||||
and ii1.job_id = ii2.job_id
|
||||
and ii1.create_time = ii2.max_ct
|
||||
) latest_ii on latest_ii.user_id = jc.user_id
|
||||
and latest_ii.job_id = jc.job_id
|
||||
and latest_ii.del_flag = '0'
|
||||
where jc.job_id = #{jobId} and jc.del_flag = '0' and au.del_flag ='0'
|
||||
order by jc.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="trendChart" resultType="java.util.HashMap" parameterType="JobApply">
|
||||
@@ -104,10 +120,26 @@
|
||||
</select>
|
||||
|
||||
<select id="selectApplyJobUserList" parameterType="com.ruoyi.common.core.domain.entity.AppUser" resultType="com.ruoyi.cms.domain.vo.CandidateVO">
|
||||
select a.id applyId, a.hire, b.job_title jobName,l.name companyName,e.* from job_apply a
|
||||
select a.id applyId, a.hire, b.job_title jobName, l.name companyName, e.*,
|
||||
latest_ii.status as interviewStatus, latest_ii.id as interviewId
|
||||
from job_apply a
|
||||
INNER join job b on a.job_id=b.job_id and b.del_flag='0'
|
||||
INNER join app_user e on a.user_id =e.user_id and e.del_flag='0'
|
||||
INNER join company l on b.company_id =l.company_id and l.del_flag='0'
|
||||
left join (
|
||||
select ii1.*
|
||||
from interview_invitation ii1
|
||||
inner join (
|
||||
select user_id, job_id, max(create_time) as max_ct
|
||||
from interview_invitation
|
||||
where del_flag = '0'
|
||||
group by user_id, job_id
|
||||
) ii2 on ii1.user_id = ii2.user_id
|
||||
and ii1.job_id = ii2.job_id
|
||||
and ii1.create_time = ii2.max_ct
|
||||
) latest_ii on latest_ii.user_id = a.user_id
|
||||
and latest_ii.job_id = a.job_id
|
||||
and latest_ii.del_flag = '0'
|
||||
where a.del_flag='0'
|
||||
<if test="company != null and company.jobTitle != null and company.jobTitle != ''"> and b.job_title like concat('%', cast(#{company.jobTitle, jdbcType=VARCHAR} as varchar), '%')</if>
|
||||
<if test="company != null and company.education != null and company.education != ''"> and b.education = #{company.education}</if>
|
||||
|
||||
Reference in New Issue
Block a user