|
@@ -318,7 +318,7 @@
|
|
|
a.CV_STATUS
|
|
|
</select>
|
|
|
|
|
|
- <!-- 投递该公司所有用户简历信息 -->
|
|
|
+ <!-- (已不用)投递该公司所有用户简历信息 -->
|
|
|
<select id="getUserCvStateListInfo" resultMap="userInfoRespMap">
|
|
|
SELECT
|
|
|
j.JOB_NAME,
|
|
@@ -439,71 +439,271 @@
|
|
|
p.UPDATE_DATE DESC
|
|
|
</select>
|
|
|
|
|
|
- <!-- 已发简历关键词搜索统计 -->
|
|
|
- <select id="searchUserCvByKeyWordCount" resultType="java.lang.Integer">
|
|
|
+ <!-- 查询过滤已收简历 -->
|
|
|
+ <select id="filterUserCvCount" resultType="java.lang.Integer">
|
|
|
SELECT
|
|
|
count(1)
|
|
|
FROM (
|
|
|
+ SELECT
|
|
|
+ count(1)
|
|
|
+ FROM
|
|
|
+ mde_position_cv_rel p
|
|
|
+ INNER JOIN mde_job_advertised j
|
|
|
+ on j.JOB_ID = p.POS_ID
|
|
|
+ INNER JOIN mde_user u
|
|
|
+ on u.USER_CODE = p.CANDIDATE
|
|
|
+ <if test='status == "3" or status == "" or status == null'>
|
|
|
+ <!-- 邀请面试状态 -->
|
|
|
+ LEFT JOIN mde_interview intv
|
|
|
+ ON intv.INTV_ID = p.INTV_ID
|
|
|
+ AND intv.DEL_FLAG = '0'
|
|
|
+ LEFT JOIN mde_intv_time time
|
|
|
+ ON intv.INTV_ID = time.INTV_ID
|
|
|
+ AND time.STATUS = '0'
|
|
|
+ AND time.DEL_FLAG = '0'
|
|
|
+ <if test='model == "1"'>
|
|
|
+ AND time.sort = 1
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ left join mde_work_experience we
|
|
|
+ on u.USER_CODE = we.USER_CODE
|
|
|
+ AND we.SHOW_FLAG = '0'
|
|
|
+ AND we.DEL_FLAG = 0
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ min( edu.EDUCATION ) AS EDUCATION,
|
|
|
+ edu.USER_CODE
|
|
|
+ FROM
|
|
|
+ MDE_EDUCATION_EXPERIENCE edu
|
|
|
+ INNER JOIN mde_position_cv_rel p ON edu.USER_CODE = p.CANDIDATE
|
|
|
+ AND edu.DEL_FLAG = 0
|
|
|
+ where p.PUBLISHER = #{publisher}
|
|
|
+ GROUP BY
|
|
|
+ edu.USER_CODE
|
|
|
+ ) edumin ON edumin.USER_CODE = p.CANDIDATE
|
|
|
+
|
|
|
+ left JOIN sys_dict s
|
|
|
+ on edumin.EDUCATION = s.`value`
|
|
|
+ AND s.type = 'education'
|
|
|
+ WHERE
|
|
|
+ p.PUBLISHER = #{publisher}
|
|
|
+ <if test="status != null and status != ''">
|
|
|
+ AND p.CV_STATUS =#{status}
|
|
|
+ </if>
|
|
|
+ <if test="jobId != null and jobId != ''">
|
|
|
+ AND j.JOB_ID =#{jobId}
|
|
|
+ </if>
|
|
|
+ <if test="jobIdList != null">
|
|
|
+ AND j.JOB_ID IN
|
|
|
+ <foreach collection="jobIdList" item="id" separator="," open="(" close=")">
|
|
|
+ #{id}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ AND p.DEL_FLAG = 0
|
|
|
+ AND u.DEL_FLAG = 0
|
|
|
+ AND j.DEL_FLAG = 0
|
|
|
+ GROUP BY
|
|
|
+ p.CANDIDATE
|
|
|
+ ,p.POS_ID
|
|
|
+ <if test='status == "3" or status == "" or status == null'>
|
|
|
+ ,time.INTV_TIME_ID
|
|
|
+ </if>
|
|
|
+ ) as count
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 查询过滤已收简历 -->
|
|
|
+ <select id="filterUserCv" resultMap="userInfoRespMap">
|
|
|
SELECT
|
|
|
- count(1)
|
|
|
+ j.JOB_NAME,
|
|
|
+ u.USER_NAME,
|
|
|
+ u.foreign_name,
|
|
|
+ u.identity_flag ,
|
|
|
+ u.birthday ,
|
|
|
+ u.USER_CODE ,
|
|
|
+ u.HEAD_PORTRAIT ,
|
|
|
+ u.FIRST_WORK ,
|
|
|
+ u.EMAIL,
|
|
|
+ u.`NAME` ,
|
|
|
+ p.INTV_ID,
|
|
|
+ p.POS_ID,
|
|
|
+ p.CV_STATUS,
|
|
|
+ p.CV_URL,
|
|
|
+ p.DELIVER_DATE,
|
|
|
+ <if test='status == "3" or status == "" or status == null'>
|
|
|
+ <!-- 邀请面试状态 -->
|
|
|
+ intv.ENT_CONTACTS as entContacts,
|
|
|
+ intv.ENT_CONTACT_INFO as entContactInfo,
|
|
|
+ intv.TYPE as type,
|
|
|
+ intv.ADDR_PROVINCE as addrProvince,
|
|
|
+ intv.ADDR_CITY as addrCity,
|
|
|
+ intv.ADDR_AREA as addrArea,
|
|
|
+ intv.ADD_DETAIL as addDetail,
|
|
|
+ intv.INTV_TIME as intvTime,
|
|
|
+ intv.ROOM_ID as roomId,
|
|
|
+ intv.STATUS as intvStatus,
|
|
|
+ intv.CREATE_DATE as inviteDate,
|
|
|
+ intv.UPDATE_DATE as inviteUpdateDate,
|
|
|
+ intv.REMARKS as remarks,
|
|
|
+ time.INTV_TIME_ID as intvTimeId,
|
|
|
+ time.INTV_TIME_FROM as intvTimeFrom,
|
|
|
+ time.INTV_TIME_TO as intvTimeTo,
|
|
|
+ time.CONFIRMED_BY as confirmedBy,
|
|
|
+ </if>
|
|
|
+ we.co_name AS "coName",
|
|
|
+ we.position_title AS "positionTitle",
|
|
|
+ we.enter_date AS "weEnterDate",
|
|
|
+ we.quit_date AS "weQuitDate",
|
|
|
+ we.show_flag AS "showFlag"
|
|
|
+ <choose>
|
|
|
+ <when test="lang == 'en'.toString()">
|
|
|
+ ,s.en as educationName
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ ,s.label as educationName
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
FROM
|
|
|
mde_position_cv_rel p
|
|
|
INNER JOIN mde_job_advertised j
|
|
|
on j.JOB_ID = p.POS_ID
|
|
|
INNER JOIN mde_user u
|
|
|
on u.USER_CODE = p.CANDIDATE
|
|
|
- <!-- 邀请面试状态 --> LEFT JOIN mde_interview intv
|
|
|
- ON intv.INTV_ID =
|
|
|
- p.INTV_ID
|
|
|
- AND
|
|
|
- intv.DEL_FLAG = '0'
|
|
|
- LEFT JOIN mde_intv_time time
|
|
|
- ON intv.INTV_ID = time.INTV_ID
|
|
|
- AND time.STATUS = '0'
|
|
|
- AND time.DEL_FLAG = '0'
|
|
|
- <if test='model == "1"'>
|
|
|
+ <if test='status == "3" or status == "" or status == null'>
|
|
|
+ <!-- 邀请面试状态 -->
|
|
|
+ LEFT JOIN mde_interview intv
|
|
|
+ ON intv.INTV_ID = p.INTV_ID
|
|
|
+ AND intv.DEL_FLAG = '0'
|
|
|
+ LEFT JOIN mde_intv_time time
|
|
|
+ ON intv.INTV_ID = time.INTV_ID
|
|
|
+ AND time.STATUS = '0'
|
|
|
+ AND time.DEL_FLAG = '0'
|
|
|
+ <if test='model == "1"'>
|
|
|
AND time.sort = 1
|
|
|
</if>
|
|
|
+ </if>
|
|
|
+ left join mde_work_experience we
|
|
|
+ on u.USER_CODE = we.USER_CODE
|
|
|
+ AND we.SHOW_FLAG = '0'
|
|
|
+ AND we.DEL_FLAG = 0
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ min( edu.EDUCATION ) AS EDUCATION,
|
|
|
+ edu.USER_CODE
|
|
|
+ FROM
|
|
|
+ MDE_EDUCATION_EXPERIENCE edu
|
|
|
+ INNER JOIN mde_position_cv_rel p ON edu.USER_CODE = p.CANDIDATE
|
|
|
+ AND edu.DEL_FLAG = 0
|
|
|
+ where p.PUBLISHER = #{publisher}
|
|
|
+ GROUP BY
|
|
|
+ edu.USER_CODE
|
|
|
+ ) edumin ON edumin.USER_CODE = p.CANDIDATE
|
|
|
+
|
|
|
+ left JOIN sys_dict s
|
|
|
+ on edumin.EDUCATION = s.`value`
|
|
|
+ AND s.type = 'education'
|
|
|
+ WHERE
|
|
|
+ p.PUBLISHER = #{publisher}
|
|
|
+ <if test="status != null and status != ''">
|
|
|
+ AND p.CV_STATUS =#{status}
|
|
|
+ </if>
|
|
|
+ <if test="jobId != null and jobId != ''">
|
|
|
+ AND j.JOB_ID =#{jobId}
|
|
|
+ </if>
|
|
|
+ <if test="jobIdList != null">
|
|
|
+ AND j.JOB_ID IN
|
|
|
+ <foreach collection="jobIdList" item="id" separator="," open="(" close=")">
|
|
|
+ #{id}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ AND p.DEL_FLAG = 0
|
|
|
+ AND u.DEL_FLAG = 0
|
|
|
+ AND j.DEL_FLAG = 0
|
|
|
+ GROUP BY
|
|
|
+ p.CANDIDATE
|
|
|
+ ,p.POS_ID
|
|
|
+ <if test='status == "3" or status == "" or status == null'>
|
|
|
+ ,time.INTV_TIME_ID
|
|
|
+ </if>
|
|
|
+ order by
|
|
|
+ j.JOB_STATUS asc,
|
|
|
+ <if test='status == "3"'>
|
|
|
+ <!-- 状态[1-待求职者确认;2-待企业确认;3-等待面试;4-已拒绝;5-面试结束] -->
|
|
|
+ (case intv.STATUS
|
|
|
+ when 2 then 1
|
|
|
+ when 3 then 2
|
|
|
+ when 1 then 3
|
|
|
+ else 9 end ) asc,
|
|
|
+ intv.UPDATE_DATE desc,
|
|
|
+ </if>
|
|
|
+ p.DELIVER_DATE DESC,
|
|
|
+ p.UPDATE_DATE DESC
|
|
|
+ </select>
|
|
|
|
|
|
- left join mde_work_experience we
|
|
|
- on u.USER_CODE = we.USER_CODE
|
|
|
- AND we.SHOW_FLAG = '0'
|
|
|
- AND we.DEL_FLAG = 0
|
|
|
- LEFT JOIN (
|
|
|
+ <!-- 已发简历关键词搜索统计 -->
|
|
|
+ <select id="searchUserCvByKeyWordCount" resultType="java.lang.Integer">
|
|
|
+ SELECT
|
|
|
+ count(1)
|
|
|
+ FROM (
|
|
|
SELECT
|
|
|
- min( edu.EDUCATION ) AS EDUCATION,
|
|
|
- edu.USER_CODE
|
|
|
+ count(1)
|
|
|
FROM
|
|
|
- MDE_EDUCATION_EXPERIENCE edu
|
|
|
- INNER JOIN mde_position_cv_rel p ON edu.USER_CODE = p.CANDIDATE
|
|
|
- AND edu.DEL_FLAG = 0
|
|
|
- where p.PUBLISHER = #{publisher}
|
|
|
- GROUP BY
|
|
|
- edu.USER_CODE
|
|
|
- ) edumin ON edumin.USER_CODE = p.CANDIDATE
|
|
|
-
|
|
|
- left JOIN sys_dict s
|
|
|
- on edumin.EDUCATION = s.`value`
|
|
|
- AND s.type = 'education'
|
|
|
- WHERE
|
|
|
- p.PUBLISHER = #{publisher}
|
|
|
- AND p.DEL_FLAG = 0
|
|
|
- AND u.DEL_FLAG = 0
|
|
|
- AND j.DEL_FLAG = 0
|
|
|
- <if test="keyWord !=null">
|
|
|
- AND
|
|
|
- (
|
|
|
- MATCH(j.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
|
|
|
- or
|
|
|
- MATCH(u.NAME,u.FOREIGN_NAME,u.USER_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
|
|
|
- or
|
|
|
- s.label like concat('%',#{keyWord},'%')
|
|
|
- )
|
|
|
- </if>
|
|
|
- GROUP BY
|
|
|
- p.CANDIDATE,
|
|
|
- p.POS_ID,
|
|
|
- time.INTV_TIME_ID
|
|
|
+ mde_position_cv_rel p
|
|
|
+ INNER JOIN mde_job_advertised j
|
|
|
+ on j.JOB_ID = p.POS_ID
|
|
|
+ INNER JOIN mde_user u
|
|
|
+ on u.USER_CODE = p.CANDIDATE
|
|
|
+ <!-- 邀请面试状态 --> LEFT JOIN mde_interview intv
|
|
|
+ ON intv.INTV_ID =
|
|
|
+ p.INTV_ID
|
|
|
+ AND
|
|
|
+ intv.DEL_FLAG = '0'
|
|
|
+ LEFT JOIN mde_intv_time time
|
|
|
+ ON intv.INTV_ID = time.INTV_ID
|
|
|
+ AND time.STATUS = '0'
|
|
|
+ AND time.DEL_FLAG = '0'
|
|
|
+ <if test='model == "1"'>
|
|
|
+ AND time.sort = 1
|
|
|
+ </if>
|
|
|
+
|
|
|
+ left join mde_work_experience we
|
|
|
+ on u.USER_CODE = we.USER_CODE
|
|
|
+ AND we.SHOW_FLAG = '0'
|
|
|
+ AND we.DEL_FLAG = 0
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ min( edu.EDUCATION ) AS EDUCATION,
|
|
|
+ edu.USER_CODE
|
|
|
+ FROM
|
|
|
+ MDE_EDUCATION_EXPERIENCE edu
|
|
|
+ INNER JOIN mde_position_cv_rel p ON edu.USER_CODE = p.CANDIDATE
|
|
|
+ AND edu.DEL_FLAG = 0
|
|
|
+ where p.PUBLISHER = #{publisher}
|
|
|
+ GROUP BY
|
|
|
+ edu.USER_CODE
|
|
|
+ ) edumin ON edumin.USER_CODE = p.CANDIDATE
|
|
|
+
|
|
|
+ left JOIN sys_dict s
|
|
|
+ on edumin.EDUCATION = s.`value`
|
|
|
+ AND s.type = 'education'
|
|
|
+ WHERE
|
|
|
+ p.PUBLISHER = #{publisher}
|
|
|
+ AND p.DEL_FLAG = 0
|
|
|
+ AND u.DEL_FLAG = 0
|
|
|
+ AND j.DEL_FLAG = 0
|
|
|
+ <if test="keyWord !=null">
|
|
|
+ AND
|
|
|
+ (
|
|
|
+ MATCH(j.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
|
|
|
+ or
|
|
|
+ MATCH(u.NAME,u.FOREIGN_NAME,u.USER_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
|
|
|
+ or
|
|
|
+ s.label like concat('%',#{keyWord},'%')
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ GROUP BY
|
|
|
+ p.CANDIDATE,
|
|
|
+ p.POS_ID,
|
|
|
+ time.INTV_TIME_ID
|
|
|
) as count
|
|
|
</select>
|
|
|
|