gs_sub_evaluate/src/main/resources/mappers/evaluate/ProjectMapper.xml

134 lines
4.2 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.gs.sub.evaluate.evaluate.dao.ProjectDao">
<insert id="addProject">
INSERT INTO pm_org_info(
name,
parent_id,
level,
status,
table_source,
user_id,
user_name)
VALUES(
#{projectName},
#{parentId},
3,
1,
'pm_dept'
#{userId},
#{userName}
)
</insert>
<update id="updateName">
UPDATE pm_org_info
SET
name = #{projectName}
WHERE
id = #{id}
</update>
<delete id="delProject">
DELETE FROM pm_org_info
WHERE
id = #{id}
</delete>
<delete id="delProjectSubcontractor">
DELETE FROM pm_org_info
WHERE
id = #{id}
</delete>
<select id="getProjectList" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.ProjectBean">
SELECT
poi1.id,
poi1.name as projectName,
poi2.id as departmentId,
poi2.name as department,
su.username as projectManager
FROM
pm_org_info poi1
LEFT JOIN pm_org_info poi2 ON poi1.parent_id = poi2.id
LEFT JOIN sys_user su on poi1.user_id = su.id
WHERE
poi1.LEVEL = 3
AND poi1.`status` = 1
<if test="keyWord != null and keyWord != ''">
and poi1.name like concat('%', #{keyWord}, '%')
</if>
<if test="evaluateDeptId != null">
and poi2.id = #{evaluateDeptId}
</if>
<if test="personInChargeId != null">
and poi1.user_id = #{personInChargeId}
</if>
</select>
<select id="getSubcontractorNum" resultType="java.lang.Integer">
SELECT
COUNT(1)
FROM
pm_org_info
WHERE
status = 1 and parent_id = #{id}
</select>
<select id="getProjectSubcontractor"
resultType="com.bonus.gs.sub.evaluate.outsourceEnterprise.beans.ViolationBean">
SELECT
pa.id,
poi.id AS orgId,
pa.enterpriseName AS enterpriseName,
pa.socialCreditCode AS socialCreditCode,
pa.setTime AS setTime,
pa.corporateName AS corporateName,
pa.idCard AS idCard,
pa.phone AS phone,
pa.address AS address
FROM
project_assignment pa
LEFT JOIN pm_org_info poi ON poi.lk_id = pa.id
WHERE
pa.is_active = '1'
AND poi.parent_id = #{id}
<if test="keyWord != null and keyWord != ''">
and (
pa.enterpriseName like concat('%',#{keyWord},'%') or
pa.phone like concat('%',#{keyWord},'%') or
pa.corporateName like concat('%',#{keyWord},'%')
)
</if>
</select>
<select id="getNoBindSubcontractorSelect"
resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
SELECT
pa.id,
pa.enterpriseName AS name
FROM
project_assignment pa
WHERE
pa.is_active = '1'
AND NOT EXISTS ( SELECT 1 FROM pm_org_info poi WHERE poi.lk_id = pa.id AND poi.parent_id = #{id} )
</select>
<select id="getProjectByName" resultType="java.lang.Integer">
SELECT
count(*)
FROM
pm_org_info poi
left join pm_org_info poi2 on poi2.id = poi.parent_id
WHERE
poi.name = #{projectName} and poi2.id = #{departmentId}
AND poi.level = 3
AND poi.status = 1
</select>
<select id="getTeamGroup" resultType="java.lang.Integer">
SELECT
COUNT( DISTINCT poi2.id )
FROM
pm_org_info poi
LEFT JOIN pm_org_info poi2 ON poi.parent_id = poi2.id
LEFT JOIN pm_org_info poi3 ON poi2.parent_id = poi3.id
WHERE
poi.STATUS = 1
AND poi3.id = #{id}
</select>
</mapper>