|
@@ -42,12 +42,49 @@
|
|
|
</if>
|
|
|
</sql>
|
|
|
|
|
|
- <select id="queryPersonList" parameterType="com.persagy.fm.person.model.dto.PageQueryPersonDTO"
|
|
|
- resultType="com.persagy.fm.person.model.Person">
|
|
|
+ <sql id="queryPersonByNameOrUsernameExpression">
|
|
|
+ where p.id = w.person_id and p.valid = 1 and w.valid = 1
|
|
|
+ <if test="depId != null and depId != ''">
|
|
|
+ and w.dep_id = #{depId}
|
|
|
+ </if>
|
|
|
+ <if test="hiredState != null and hiredState != '' or 0 == hiredState">
|
|
|
+ and w.hired_state = #{hiredState}
|
|
|
+ </if>
|
|
|
+ <if test="enableState != null and enableState != '' or 0 == enableState">
|
|
|
+ and w.enable_state = #{enableState}
|
|
|
+ </if>
|
|
|
+ <if test="name != null and name != ''">
|
|
|
+ and (p.name like concat("%", #{name}, "%") or p.username like concat("%", #{name}, "%"))
|
|
|
+ </if>
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <sql id="selectPersonInfo">
|
|
|
select p.id as id, p.name as name, p.profession as profession, p.account_id as account_id, p.person_type as
|
|
|
- person_type, p.username as username, w.is_leader as is_leader
|
|
|
+ person_type, p.username as username, w.is_leader as is_leader
|
|
|
+ from person p,
|
|
|
+ work_resume w
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <select id="queryPersonListByNameOrUserName" parameterType="com.persagy.fm.person.model.dto.PageQueryPersonDTO"
|
|
|
+ resultType="com.persagy.fm.person.model.Person">
|
|
|
+ <include refid="selectPersonInfo"/>
|
|
|
+ <include refid="queryPersonByNameOrUsernameExpression"/>
|
|
|
+ order by w.is_leader desc, p.name_pinyin
|
|
|
+ limit #{startIndex}, #{size}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="queryCountByNameOrUserName" parameterType="com.persagy.fm.person.model.dto.PageQueryPersonDTO"
|
|
|
+ resultType="int">
|
|
|
+ select count(*) total
|
|
|
from person p,
|
|
|
work_resume w
|
|
|
+ <include refid="queryPersonByNameOrUsernameExpression"/>
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <select id="queryPersonList" parameterType="com.persagy.fm.person.model.dto.PageQueryPersonDTO"
|
|
|
+ resultType="com.persagy.fm.person.model.Person">
|
|
|
+ <include refid="selectPersonInfo"/>
|
|
|
<include refid="queryPersonWhereExpression"/>
|
|
|
order by w.is_leader desc, p.name_pinyin
|
|
|
limit #{startIndex}, #{size}
|