251 lines
11 KiB
XML
251 lines
11 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.person.dao.WorkGiveDao">
|
|
|
|
<select id="getWorkGive" resultType="com.bonus.gzrn.rnbmw.person.entity.WorkGiveBean" >
|
|
SELECT
|
|
`name`,
|
|
idNumber,
|
|
typeName,
|
|
proGiveNums,
|
|
proStarNums,
|
|
averStar,
|
|
group_concat( proName ) AS proName,
|
|
group_concat( proId ) AS proId,
|
|
orgName,
|
|
sum( r.proStarNums ) starNums,
|
|
sum( r.proGiveNums ) workGiveNums,
|
|
companyName,
|
|
companyId
|
|
FROM
|
|
(
|
|
SELECT DISTINCT
|
|
bwg.`name`,
|
|
bwg.id_number idNumber,
|
|
sdd.NAME typeName,
|
|
count( bwg.id_number ) proGiveNums,
|
|
sum( bwg.star_rating ) proStarNums,
|
|
format( sum( bwg.star_rating ) / count( bwg.id_number ), 2 ) averStar,
|
|
bwg.pro_id proId,
|
|
bmp.`NAME` proName,
|
|
pmo.`NAME` orgName,
|
|
bmp.org_id orgId,
|
|
pmo.`NAME` companyName,
|
|
pmo.COMPANY_ID companyId
|
|
FROM
|
|
(
|
|
SELECT
|
|
bwg.`name`,
|
|
bwg.id_number,
|
|
POST_ID,
|
|
star_rating,
|
|
pro_id,
|
|
bmr.org_id
|
|
FROM
|
|
bm_worker_give bwg,
|
|
bm_worker_record bmr
|
|
WHERE
|
|
bwg.IS_ACTIVE = '1'
|
|
AND bmr.ID_NUMBER = bwg.id_number
|
|
) bwg
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bwg.POST_ID
|
|
LEFT JOIN bm_project bmp ON bmp.id = bwg.pro_id
|
|
LEFT JOIN pm_organization pmo ON pmo.ID = bmp.org_id
|
|
WHERE
|
|
1 = 1
|
|
GROUP BY
|
|
bwg.id_number,
|
|
bwg.pro_id
|
|
) r
|
|
WHERE
|
|
1 = 1
|
|
<if test="params.companyId != null and params.companyId != ''">
|
|
and r.companyId = #{params.companyId}
|
|
</if>
|
|
<if test="params.proId != null and params.proId != ''">
|
|
and r.proId = #{params.proId}
|
|
</if>
|
|
<if test="params.keyWord != null and params.keyWord != '' ">
|
|
and (
|
|
r.name like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.idNumber like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.typeName like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.proName like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.orgName like CONCAT('%',#{params.keyWord},'%')
|
|
)
|
|
</if>
|
|
GROUP BY r.idNumber
|
|
limit #{offset}, #{limit}
|
|
|
|
|
|
|
|
</select>
|
|
|
|
<select id="getWorkGiveCount" resultType="java.lang.Integer">
|
|
SELECT COUNT(1)
|
|
from (
|
|
select name ,idNumber ,typeName ,proGiveNums ,proStarNums ,averStar ,group_concat( proName ) AS proName,orgName ,sum(r.proStarNums) starNums,
|
|
sum(r.proGiveNums) workGiveNums,companyName,companyId
|
|
from (
|
|
SELECT distinct bwg.`name`,bwg.id_number idNumber,sdd.name typeName,count(bwg.id_number)
|
|
proGiveNums,sum(bwg.star_rating) proStarNums,
|
|
format(sum(bwg.star_rating) / count(bwg.id_number),2) averStar,bwg.pro_id proId,
|
|
bmp.`NAME` proName,pmo.`NAME` orgName,bmp.org_id orgId,pmo.`NAME` companyName,pmo.COMPANY_ID companyId
|
|
FROM (
|
|
select bwg.`name`,bwg.id_number,POST_ID,star_rating,pro_id,bmr.org_id
|
|
from bm_worker_give bwg,bm_worker_record bmr
|
|
WHERE bwg.IS_ACTIVE = '1' and bmr.ID_NUMBER = bwg.id_number
|
|
) bwg
|
|
left join sys_dic_detail sdd on sdd.id = bwg.POST_ID
|
|
left join bm_project bmp on bmp.id = bwg.pro_id
|
|
left join pm_organization pmo on pmo.ID = bmp.org_id
|
|
|
|
WHERE 1=1
|
|
GROUP BY bwg.id_number,bwg.pro_id
|
|
) r
|
|
where 1=1
|
|
<if test="params.companyId != null and params.companyId != ''">
|
|
and r.companyId = #{params.companyId}
|
|
</if>
|
|
<if test="params.proId != null and params.proId != ''">
|
|
and r.proId = #{params.proId}
|
|
</if>
|
|
<if test="params.keyWord != null and params.keyWord != '' ">
|
|
and (
|
|
r.name like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.idNumber like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.typeName like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.proName like CONCAT('%',#{params.keyWord},'%') OR
|
|
r.orgName like CONCAT('%',#{params.keyWord},'%')
|
|
)
|
|
</if>
|
|
GROUP BY r.idNumber
|
|
) t
|
|
</select>
|
|
|
|
<select id="getWorkGiveDetails" resultType="com.bonus.gzrn.rnbmw.person.entity.WorkGiveBean" >
|
|
SELECT distinct pmo.name orgName,bmp.name proName,suser.USERNAME commentName,bwg.upload_time,bwg.star_rating starRating,
|
|
bwg.comment,bs.SUB_NAME subName,bst.`NAME` teamName
|
|
FROM bm_worker_give bwg
|
|
left join bm_project bmp on bmp.id = bwg.pro_id
|
|
left join pm_organization pmo on pmo.ID = bmp.org_id
|
|
left join sys_user suser on suser.ID = bwg.comment_id
|
|
left join bm_sub_team bst on bst.ID = bwg.team_id
|
|
left join bm_subcontractor bs on bs.ID = bst.SUB_ID
|
|
WHERE bwg.id_number = #{params.idNumber} and bwg.pro_id = #{params.proId} and bwg.is_active = 1
|
|
order by bwg.upload_time desc
|
|
limit #{offset}, #{limit}
|
|
</select>
|
|
|
|
<select id="getWorkGiveDetailsCount" resultType="java.lang.Integer">
|
|
SELECT COUNT(*)
|
|
from (
|
|
SELECT pmo.name orgName
|
|
FROM bm_worker_give bwg
|
|
left join bm_project bmp on bmp.id = bwg.pro_id
|
|
left join pm_organization pmo on pmo.ID = bmp.org_id
|
|
left join sys_user suser on suser.ID = bwg.comment_id
|
|
left join bm_sub_team bst on bst.ID = bwg.team_id
|
|
left join bm_subcontractor bs on bs.ID = bst.SUB_ID
|
|
WHERE bwg.id_number = #{params.idNumber} and bwg.pro_id = #{params.proId} and bwg.is_active = 1
|
|
order by bwg.upload_time desc
|
|
) r
|
|
</select>
|
|
|
|
<select id="getWorkGivePro" resultType="com.bonus.gzrn.rnbmw.person.entity.WorkGiveBean" >
|
|
SELECT
|
|
bwg.`name`,
|
|
bwg.id_number idNumber,
|
|
sdd.`name` typeName,
|
|
count(bwg.id_number) proGiveNums,
|
|
sum(bwg.star_rating) proStarNums,
|
|
bwg.pro_id proId,
|
|
bmp.`NAME` proName,
|
|
pmo.`NAME` orgName
|
|
FROM
|
|
bm_worker_give bwg
|
|
LEFT JOIN bm_worker_record bmr ON bmr.ID_NUMBER = bwg.id_number
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bmr.POST_ID
|
|
LEFT JOIN bm_project bmp ON bmp.id = bwg.pro_id
|
|
LEFT JOIN pm_organization pmo ON pmo.ID = bmp.org_id
|
|
WHERE
|
|
bwg.is_active = '1'
|
|
AND bwg.id_number = #{params.idNumber}
|
|
AND bmp.ID IN (${params.proId})
|
|
GROUP BY
|
|
bwg.id_number,
|
|
bwg.pro_id
|
|
limit #{offset}, #{limit}
|
|
</select>
|
|
|
|
<select id="getWorkGiveProCount" resultType="java.lang.Integer">
|
|
SELECT COUNT(*)
|
|
from (
|
|
SELECT
|
|
bwg.`name`
|
|
FROM
|
|
bm_worker_give bwg
|
|
LEFT JOIN bm_worker_record bmr ON bmr.ID_NUMBER = bwg.id_number
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bmr.POST_ID
|
|
LEFT JOIN bm_project bmp ON bmp.id = bwg.pro_id
|
|
LEFT JOIN pm_organization pmo ON pmo.ID = bmp.org_id
|
|
WHERE
|
|
bwg.is_active = 1
|
|
AND bwg.id_number = #{params.idNumber}
|
|
AND bmp.ID IN (${params.proId})
|
|
GROUP BY
|
|
bwg.id_number,
|
|
bwg.pro_id
|
|
) r
|
|
</select>
|
|
|
|
|
|
<select id="getWorkGiveById" resultType="com.bonus.gzrn.rnbmw.person.entity.WorkGiveBean">
|
|
select
|
|
a.NAME,
|
|
a.ID_NUMBER,
|
|
b.POST,
|
|
d.NAME as proName,
|
|
c.NAME as orgName,
|
|
b.EIN_TIME,
|
|
b.PARTY_MEMBER,
|
|
b.PHONE,
|
|
a.EXIT_TIME,
|
|
a.PROJECT_ID,
|
|
a.ORG_ID
|
|
from
|
|
bm_sup_attend_history a
|
|
left join bm_sup_worker b on a.ID_NUMBER = b.ID_NUMBER
|
|
left join pm_organization c on c.ID = a.org_id
|
|
left join bm_project d on d.ID = PRO_ID
|
|
WHERE a.IS_ACTIVE = 1 AND a.ID_NUMBER = #{id}
|
|
</select>
|
|
|
|
<select id="getOrgName" resultType="com.bonus.gzrn.rnbmw.person.entity.WorkGiveBean">
|
|
select NAME
|
|
from bm_subcontractor
|
|
where IS_ACTIVE = '1'
|
|
</select>
|
|
|
|
<select id="getProName" resultType="com.bonus.gzrn.rnbmw.person.entity.WorkGiveBean">
|
|
select NAME
|
|
from bm_project
|
|
where is_active = '1' and org_id = #{orgId}
|
|
</select>
|
|
|
|
<select id="getWorkGiveSum" resultType="com.bonus.gzrn.rnbmw.person.entity.WorkGiveBean" >
|
|
SELECT distinct pmo.name orgName,bmp.name proName,suser.USERNAME commentName,bwg.upload_time,bwg.star_rating starRating,
|
|
bwg.comment,bs.SUB_NAME subName,bst.`NAME` teamName
|
|
FROM bm_worker_give bwg
|
|
left join bm_project bmp on bmp.id = bwg.pro_id
|
|
left join pm_organization pmo on pmo.ID = bmp.org_id
|
|
left join sys_user suser on suser.ID = bwg.comment_id
|
|
left join bm_sub_team bst on bst.ID = bwg.team_id
|
|
left join bm_subcontractor bs on bs.ID = bst.SUB_ID
|
|
WHERE bwg.id_number = #{idNumber} and bwg.pro_id = #{proId} and bwg.is_active = 1
|
|
order by bwg.upload_time desc
|
|
</select>
|
|
|
|
</mapper> |