hd_real_name/target/classes/mappers/push/PersonInfoPushMapper.xml

100 lines
3.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.gzrn.rnbmw.push.dao.PersonInfoPushDao">
<select id="getPersonPushCount" resultType="java.lang.Integer">
select count(1) as num
from
(
SELECT
bw.NAME AS NAME,
bwr.ID_NUMBER AS idNumber,
bp.NAME AS proName,
bwr.EIN_TIME AS einTime,
bwr.EXIT_TIME AS exitTime,
bwr.PROJECT_ID AS proId,
bwr.ORG_ID AS orgId ,
IFNULL(bwr.is_ein_push,0) as einPush,
bwr.ein_push_time as einPushTime,
IFNULL(bwr.is_exit_push,0) as exitPush,
bwr.exit_push_time as exitPushTime,
bwc.is_push as conPush,
bwc.push_time as conPushTime
FROM
bm_worker_record bwr
LEFT JOIN bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER
LEFT JOIN bm_worker_contract bwc ON bwc.idCard = bw.ID_NUMBER
where bwr.IS_ACTIVE = 1 and bwr.ID_NUMBER is not null
<if test="params.companyId != null and params.companyId !='' ">
and bp.company_id = #{params.companyId}
</if>
<if test="params.orgId !=null and params.orgId !=''">
and bp.company_id=#{params.orgId}
</if>
<if test="params.proId !=null and params.proId !=''">
and bp.id=#{params.proId}
</if>
<if test="params.keyWord !=null and params.keyWord !=''">
and (
bw.name like concat ('%',#{params.keyWord},'%') or
bwr.ID_NUMBER like concat ('%',#{params.keyWord},'%')
)
</if>
group by bwr.ID_NUMBER
) res
</select>
<select id="getPersonPushList" resultType="com.bonus.gzrn.rnbmw.push.entity.PersonInfoPushBean">
SELECT
bw.NAME AS NAME,
bwr.ID_NUMBER AS idNumber,
bp.NAME AS proName,
bwr.EIN_TIME AS einTime,
bwr.EXIT_TIME AS exitTime,
bwr.PROJECT_ID AS proId,
bwr.ORG_ID AS orgId ,
IFNULL(bwr.is_ein_push,0) as einPush,
bwr.ein_push_time as einPushTime,
IFNULL(bwr.is_exit_push,0) as exitPush,
bwr.exit_push_time as exitPushTime,
bwc.is_push as conPush,
bwc.push_time as conPushTime,
bwc.IS_AUDIT as conStatus
FROM
bm_worker_record bwr
LEFT JOIN bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER
LEFT JOIN bm_worker_contract bwc ON bwc.idCard = bw.ID_NUMBER
where bwr.IS_ACTIVE = 1 and bwr.ID_NUMBER is not null
<if test="params.companyId != null and params.companyId !='' ">
and bp.company_id = #{params.companyId}
</if>
<if test="params.orgId !=null and params.orgId !=''">
and bp.company_id=#{params.orgId}
</if>
<if test="params.proId !=null and params.proId !=''">
and bp.id=#{params.proId}
</if>
<if test="params.keyWord !=null and params.keyWord !=''">
and (
bw.name like concat ('%',#{params.keyWord},'%') or
bwr.ID_NUMBER like concat ('%',#{params.keyWord},'%')
)
</if>
group by bwr.ID_NUMBER
order by bwr.EIN_TIME desc
limit #{offset},#{limit}
</select>
</mapper>