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

475 lines
20 KiB
XML
Raw Normal View History

2025-01-16 16:02:08 +08:00
<?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.OrganizationalDao">
2025-06-30 15:59:55 +08:00
<insert id="addData" useGeneratedKeys="true" keyProperty="id">
2025-03-31 18:48:43 +08:00
insert into pm_org_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">name,</if>
<if test="level != null">level,</if>
<if test="parentId != null and parentId != ''">parent_id,</if>
<if test="userName != null">user_name,</if>
<if test="userId != null and userId != ''">user_id,</if>
<if test="idCard != null">id_card,</if>
<if test="sex != null">sex,</if>
<if test="userPhone != null">user_phone,</if>
<if test="orgType != null">org_type,</if>
<if test="lkId != null">lk_id,</if>
<if test="tableSource != null">table_source,</if>
status
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">#{name},</if>
<if test="level != null">#{level},</if>
<if test="parentId != null and parentId != ''">#{parentId},</if>
<if test="userName != null">#{userName},</if>
<if test="userId != null and userId != ''">#{userId},</if>
<if test="idCard != null and idCard != ''">#{idCard},</if>
<if test="sex != null">#{sex},</if>
<if test="userPhone != null and userPhone != ''">#{userPhone},</if>
<if test="orgType != null">#{orgType},</if>
<if test="lkId != null">#{lkId},</if>
<if test="tableSource != null">#{tableSource},</if>
1
</trim>
2025-01-16 16:02:08 +08:00
</insert>
<!--查询机构数据 -->
<insert id="addDepartData" useGeneratedKeys="true" keyProperty="addId">
insert into gs_exam.pm_dept(NAME, PARENT_ID, IS_ACTIVE, create_time, data_source)
2025-01-16 16:02:08 +08:00
values (#{name}, #{parentId}, 1, now(), 1)
</insert>
<insert id="addUserData" useGeneratedKeys="true" keyProperty="addId">
insert into gs_exam.pm_user(NAME, id_card, dept_id, LOGIN_NAME, SEX, TELPHONE, data_source, CREATE_TIME,
2025-01-16 16:02:08 +08:00
IS_ACTIVE, SALT, PASSWD)
values (#{userName}, #{idCard}, #{addId}, #{idCard}, #{sex}, #{userPhone}, 1, now(), 1, #{salt}, #{password})
</insert>
<update id="updateUserInfo">
update gs_exam.pm_user
2025-01-16 16:02:08 +08:00
set NAME=#{userName},
SEX=#{sex},
TELPHONE=#{userPhone},
UPDATE_TIME=now(),
id_card=#{idCard}
where LOGIN_NAME = #{idCard}
</update>
<insert id="insertDeptLink">
insert into pt_dept_lk(dep_id, sub_id)
values (#{parentId}, #{tableId})
</insert>
<update id="updateData">
update pm_org_info
set name=#{name},
user_name=#{userName},
2025-01-16 16:02:08 +08:00
user_phone=#{userPhone},
sex=#{sex},
id_card=#{idCard}
WHERE id = #{id}
</update>
<!--更新 退场-->
<update id="userOutData">
update pm_org_info
2025-07-22 17:10:28 +08:00
set status = 0,p_parent_id = #{pParentId}
2025-01-16 16:02:08 +08:00
where id = #{id}
</update>
<update id="updateDept">
update gs_exam.pm_user
2025-01-16 16:02:08 +08:00
set dept_id=#{deptId}
where LOGIN_NAME = #{idCard}
</update>
<update id="theTeamExits">
UPDATE gs_exam.pm_dept
2025-01-16 16:02:08 +08:00
SET IS_ACTIVE=0
where id = #{deptId}
</update>
<update id="updateUserOutStatus">
update pm_org_info
set status = 1
where id = (select team_id from pt_team_exit where id = #{id})
</update>
2025-04-24 17:39:07 +08:00
<update id="updateName">
update pm_org_info
set name=#{name}
where id = #{id}
</update>
2025-08-11 18:32:54 +08:00
<update id="updateTeamGroup" useGeneratedKeys="true" keyProperty="id">
UPDATE pm_org_info
<set>
<if test="teamGroupName != null and teamGroupName != ''">name = #{teamGroupName},</if>
<if test="level != null">level = #{level},</if>
<if test="name != null and name != ''">user_name = #{name},</if>
<if test="idCard != null and idCard != ''">id_card = #{idCard},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="phone != null and phone != ''">user_phone = #{phone},</if>
<if test="tableSource != null">table_source = #{tableSource},</if>
<if test="subContractor != null and subContractor != ''">p_parent_id = #{subContractor},</if>
<if test="auditStatus != null">audit_status = #{auditStatus},</if>
<if test="infoFileUrl != null">info_file_url = #{infoFileUrl},</if>
<if test="applyMan != null">apply_man = #{applyMan},</if>
create_time = sysdate()
</set>
WHERE id = #{id}
</update>
<update id="updateTeamGroupType">
update team_group_type
set team_type = #{teamType}
where team_group_id = #{id}
</update>
2025-01-16 16:02:08 +08:00
<delete id="deleteUserOut">
delete
from pm_user_outsource
where LOGIN_NAME = #{idCard}
</delete>
<delete id="deleteUserOutData">
delete
from pt_team_exit
where id = #{id}
</delete>
2025-08-11 18:32:54 +08:00
<delete id="delTeamPersonOthers">
delete from team_person where id = #{id} and is_team_leader = 1
</delete>
<delete id="delTeamPersonLeader">
delete from team_person WHERE team_id = #{id} and is_team_leader = 0
</delete>
2025-01-16 16:02:08 +08:00
<select id="getDeptSelected" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select DISTINCT dp.NAME,
dp.NAME title,
dp.ID tableId,
dp.id id,
dp.PARENT_ID parentId,
'pm_dept' tableSource
from gs_exam.pm_dept dp
2025-01-16 16:02:08 +08:00
LEFT JOIN pm_org_info poi
on dp.id = poi.lk_id AND poi.status = 1
where dp.IS_ACTIVE = 1
AND (poi.id is null or dp.id = '1')
</select>
<!--外包商下拉选-->
<select id="getOutSourceSelected" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select DISTINCT pa.id lkId,
pa.enterpriseName NAME,
pd.id id,
pd.PARENT_ID pid,
'project_assignment' tableSource
from project_assignment pa
LEFT JOIN pm_org_info poi
on pa.id = poi.lk_id and poi.table_source = 'project_assignment' AND poi.level = 2 AND
poi.status = 1 AND POI.parent_id = #{id}
LEFT JOIN gs_exam.pm_dept pd
2025-01-16 16:02:08 +08:00
on pd.id = poi.lk_id
where pa.is_active = 1
and poi.parent_id is null
</select>
<!--新增人员下拉选-->
<select id="getAddUserSelected" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select pd.id tableId,
pd.`NAME`,
pd.PARENT_ID tablePid,
pu.`NAME` userName,
pu.LOGIN_NAME idCard,
pu.sex,
pu.TELPHONE userPhone,
'pm_dept' tableSource
from gs_exam.pm_user pu
left join gs_exam.pm_dept pd
2025-01-16 16:02:08 +08:00
on pu.dept_id = pd.id and pd.IS_ACTIVE = 1
left join pm_user_outsource puo
on pu.LOGIN_NAME = puo.LOGIN_NAME
where pu.IS_ACTIVE = 1
and puo.id is not null
</select>
<select id="getTreeList" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select id,
name,
level,
parent_id parentId,
table_source tableSource,
lk_id tableId,
user_name userName,
id_card idCard,
sex,
user_phone userPhone,
status,
org_type orgType
FROM pm_org_info
2025-07-08 14:08:18 +08:00
WHERE status = 1
2025-07-16 09:58:56 +08:00
AND level in (1, 2)
2025-01-16 16:02:08 +08:00
</select>
<select id="getDataDetails" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select id,
name,
level,
parent_id parentId,
table_source tableSource,
lk_id tableId,
user_name userName,
id_card idCard,
sex,
user_phone userPhone,
status
FROM pm_org_info
WHERE id = #{id}
</select>
<select id="getTeamUser" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select pu.`NAME` userName,
pu.LOGIN_NAME idCard,
pu.dept_id deptId,
pu.sex,
pu.TELPHONE userPhone,
'pm_dept' tableSource
from gs_exam.pm_user pu
2025-01-16 16:02:08 +08:00
left join pm_user_outsource puo
on pu.LOGIN_NAME = puo.LOGIN_NAME
where pu.IS_ACTIVE = 1
and pu.dept_id = #{deptId}
</select>
<select id="getUserNum" resultType="java.lang.Integer">
select count(1)
from pm_org_info
where status = 1
and (id_card = #{idCard} or user_phone = #{userPhone})
</select>
<!--查询分包商名称-->
<select id="getTeamName" resultType="java.lang.Integer">
select count(1)
from pm_org_info
where status = 1
and parent_id = #{parentId}
AND NAME = #{name}
</select>
<insert id="insertUserOutData">
insert into pm_user_outsource(NAME, LOGIN_NAME, SEX, TELPHONE, dept_id, is_active, CREATE_TIME, UPDATE_TIME)
values (#{userName}, #{idCard}, #{sex}, #{userPhone}, #{tableId}, 1, now(), now())
</insert>
<insert id="insertTeamData" useGeneratedKeys="true" keyProperty="id">
insert into pt_team_exit(team_id, parent_id, team_name, phone, sub_id, sub_name, pro_id, pro_name, id_card,
user_name, org_rel_id)
values (#{teamId}, #{parentId}, #{teamName}, #{phone}, #{subId}, #{subName}, #{proId}, #{proName}, #{idCard},
#{userName}, #{orgRelId})
</insert>
2025-06-30 15:59:55 +08:00
<insert id="insetTeamGroupType">
insert into team_group_type(team_group_id,team_type)
values (#{id}, #{teamType})
</insert>
<insert id="insetTeamPerson">
insert into team_person(team_id, name, id_card, phone,sex,work_type,face_url,is_team_leader)
values (#{id}, #{userName},#{idCard}, #{userPhone}, #{sex}, #{workType}, #{faceUrl}, #{isTeamLeader})
</insert>
2025-07-22 17:10:28 +08:00
<insert id="addData2" useGeneratedKeys="true" keyProperty="id">
insert into pm_org_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">name,</if>
<if test="level != null">level,</if>
<if test="parentId != null and parentId != ''">parent_id,</if>
<if test="userName != null">user_name,</if>
<if test="userId != null and userId != ''">user_id,</if>
<if test="idCard != null">id_card,</if>
<if test="sex != null">sex,</if>
<if test="userPhone != null">user_phone,</if>
<if test="orgType != null">org_type,</if>
<if test="lkId != null">lk_id,</if>
<if test="tableSource != null">table_source,</if>
<if test="id != null and id != ''">p_parent_id,</if>
status
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">#{name},</if>
<if test="level != null">#{level},</if>
<if test="parentId != null and parentId != ''">#{parentId},</if>
<if test="userName != null">#{userName},</if>
<if test="userId != null and userId != ''">#{userId},</if>
<if test="idCard != null and idCard != ''">#{idCard},</if>
<if test="sex != null">#{sex},</if>
<if test="userPhone != null and userPhone != ''">#{userPhone},</if>
<if test="orgType != null">#{orgType},</if>
<if test="lkId != null">#{lkId},</if>
<if test="tableSource != null">#{tableSource},</if>
<if test="id != null and id != ''">#{id},</if>
0
</trim>
</insert>
2025-08-05 17:59:36 +08:00
<insert id="addTeamGroup" useGeneratedKeys="true" keyProperty="id">
insert into pm_org_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="teamGroupName != null and teamGroupName != ''">name,</if>
<if test="level != null">level,</if>
<if test="name != null and name !=''">user_name,</if>
<if test="idCard != null">id_card,</if>
<if test="sex != null">sex,</if>
<if test="phone != null and phone != ''">user_phone,</if>
<if test="tableSource != null">table_source,</if>
<if test="subContractor != null and subContractor != ''">p_parent_id,</if>
<if test="auditStatus != null">audit_status,</if>
2025-08-11 18:32:54 +08:00
<if test="infoFileUrl != null">info_file_url,</if>
<if test="applyMan != null">apply_man,</if>
<if test="createTime != null">create_time,</if>
2025-08-05 17:59:36 +08:00
status,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="teamGroupName != null and teamGroupName != ''">#{teamGroupName},</if>
<if test="level != null">#{level},</if>
<if test="name != null and name !=''">#{name},</if>
<if test="idCard != null and idCard != ''">#{idCard},</if>
<if test="sex != null">#{sex},</if>
<if test="phone != null and phone != ''">#{phone},</if>
<if test="tableSource != null">#{tableSource},</if>
<if test="subContractor != null and subContractor != ''">#{subContractor},</if>
<if test="auditStatus != null">#{auditStatus},</if>
2025-08-11 18:32:54 +08:00
<if test="infoFileUrl != null">#{infoFileUrl},</if>
<if test="applyMan != null">#{applyMan},</if>
sysdate(),
2025-08-05 17:59:36 +08:00
0
</trim>
</insert>
<insert id="insetTeamPersonLeader">
insert into team_person(team_id, name, id_card, phone,sex,work_type,face_url,is_team_leader)
values (#{id}, #{name},#{idCard}, #{phone}, #{sex}, #{workType}, #{faceUrl}, #{isTeamLeader})
</insert>
<insert id="insetTeamPersonOthers">
insert into team_person(team_id, name, id_card, phone,sex,work_type,face_url,is_team_leader)
values (#{id}, #{name},#{idCard}, #{phone}, #{sex}, #{workType}, #{faceUrl}, #{isTeamLeader})
</insert>
2025-01-16 16:02:08 +08:00
<select id="getUserList" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select NAME userName, LOGIN_NAME idCard, SEX, TELPHONE userPhone, dept_id tableId
FROM gs_exam.pm_user
2025-01-22 10:27:54 +08:00
where IS_ACTIVE = 1 and if_active = '1'
2025-01-16 16:02:08 +08:00
and dept_id = #{deptId}
</select>
<select id="getEvaluatePersonList"
resultType="com.bonus.gs.sub.evaluate.evaluate.beans.EvaluatePersonBean">
select
pp.user_id as id,
pp.user_name as name,
pp.user_type as type,
pp.id_number as idCard,
if(pp.sex = '0','男','女') as sex,
pp.phone as phone,
pp.post_id as deptId,
poi.name as deptName,
pp.role as roleId,
sr.name as roleName
from pj_person pp
left join sys_role sr on pp.role = sr.id
left join pm_org_info poi on pp.post_id = poi.id
where pp.is_active = 1
<if test="name != null and name != ''">
and pp.user_name like concat('%', #{name}, '%')
</if>
</select>
<select id="getLeaderSelect" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select su.id as id,
su.username as name
from sys_user su
left join sys_role_user sru on su.id = sru.userId
where su.status = 1
and su.id > 1
and sru.roleId = '7'
</select>
2025-01-24 15:59:01 +08:00
<select id="getConsIsExistByPro" resultType="java.lang.Integer">
select count(1)
from pm_org_info
where parent_id = #{parentId} and name = #{name}
and status = 1
</select>
2025-06-30 15:59:55 +08:00
<select id="getSubContractorSelected"
resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select id,
enterpriseName as name
from project_assignment where is_active = 1
</select>
<select id="getProjectBySubContractor"
resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
SELECT
poi2.id,
poi2.NAME
FROM
pm_org_info poi
LEFT JOIN pm_org_info poi2 ON poi.parent_id = poi2.id
WHERE
poi.STATUS = 1
AND poi.LEVEL = 4
AND poi.lk_id = #{id}
2025-07-10 17:59:06 +08:00
AND poi2.id IS NOT NULL
2025-06-30 15:59:55 +08:00
</select>
<select id="getTeamGroupType" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select id,
val name
from t_dict
where type = 'teamType'
</select>
<select id="getsubcontractorId" resultType="java.lang.String">
select id from pm_org_info where parent_id = #{parentId} and lk_id = #{id} and status = 1
</select>
<select id="getWorkType" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
select id,
val name
from t_dict
where type = 'workType'
</select>
2025-07-01 18:04:58 +08:00
<select id="getProjectSelect" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean">
SELECT
poi.id,
poi.NAME
FROM
pm_org_info poi
WHERE
poi.STATUS = 1
AND poi.LEVEL = 3
</select>
<select id="getUser" resultType="java.lang.Integer">
select count(1)
from team_person
where id_card = #{idCard} or phone = #{userPhone}
</select>
2025-07-22 17:10:28 +08:00
<select id="getpParentId" resultType="java.lang.Integer">
SELECT
lk_id
FROM
pm_org_info
WHERE
id in (
SELECT
parent_id
FROM
pm_org_info
WHERE
id = #{id})
</select>
2025-08-11 18:32:54 +08:00
<select id="getUserById" resultType="java.lang.Integer">
SELECT COUNT(1)
FROM team_person
WHERE (id_card = #{idCard} OR phone = #{userPhone})
AND team_id != #{id}
</select>
<select id="getRegisterTeamGroup" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.TeamGroupBean">
select poi.id,
poi.name teamGroupName,
poi.p_parent_id subContractor,
poi.info_file_url infoFileUrl,
tgt.team_type teamType
from pm_org_info poi
left join team_group_type tgt on tgt.team_group_id = poi.id
where poi.id = #{id}
</select>
<select id="getTeamPersons" resultType="com.bonus.gs.sub.evaluate.evaluate.beans.teamGroupPersonBean">
select id,
name,
id_card idCard,
phone,
sex,
work_type workType,
face_url faceUrl,
is_team_leader isTeamLeader
from team_person
where team_id = #{id}
</select>
2025-01-16 16:02:08 +08:00
</mapper>