Files
Mediation-Backend/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/mscase/MsCaseAffiliateMapper.xml
T
2024-05-16 16:08:37 +08:00

83 lines
4.5 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.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseAffiliateMapper">
<select id="listGroupConcat" resultType="com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAffiliate">
select
a.case_appli_id caseAppliId,
u.nickName name,
u.id_type idType,
r.role_name roleName,
GROUP_CONCAT( DISTINCT CASE WHEN a1.organize_flag = 0 THEN u.nick_name ELSE d.dept_name END ) AS name,
(select GROUP_CONCAT( DISTINCT u1.nick_name ) FROM
ms_case_affiliate a1
LEFT JOIN ms_sys_user u1 ON u1.user_id = a1.user_id
LEFT JOIN ms_sys_user_role ur1 ON u1.user_id = ur1.user_id
LEFT JOIN ms_sys_role r1 ON r1.role_id = ur1.role_id
where a.case_appli_id = a1.case_appli_id and (r1.role_name='被申请人' )
group by a1.case_appli_id) resName
FROM
ms_case_application c
JOIN ms_case_affiliate a ON c.id = a.case_appli_id
LEFT JOIN ms_sys_user u ON u.user_id = a.user_id
LEFT JOIN ms_sys_user_role ur ON u.user_id = ur.user_id
LEFT JOIN ms_sys_role r ON r.role_id = ur.role_id
LEFT JOIN ms_sys_dept d ON d.dept_id = a.applicant_dept_id
<where>
(r.role_name='申请人' )
<if test="caseIds != null and caseIds.size() > 0">
and a.case_appli_id in
<foreach item="caseId" index="index" collection="caseIds" open="(" separator="," close=")">
#{caseId}
</foreach>
</if>
</where>
group by a.case_appli_id
</select>
<select id="selectByCaseId" resultType="com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAffiliate">
select c.id caseAppliId,r.role_id roleId,a.id,a.role_type roleType,a.group_order groupOrder,a.operator_flag operatorFlag,d.code,d.comp_legal_person compLegalPerson,u.id_card idCard,u.phonenumber phone,
u.email,u.user_name userName,a.applicant_dept_id applicantDeptId,
(case when a.user_id is null then d.dept_name else u.nick_name end) name,
(case when a.user_id is null then d.home else u.home end) home,
(case when a.user_id is null then d.address else u.address end) address,
(case when a.user_id is null then d.nationality else u.nationality end) nationality,
u.sex,u.id_type idType,u.birth,a.user_id userId,a.organize_flag organizeFlag,c.case_source caseSource,d.dept_name applicantOrgName
FROM
ms_case_application c
JOIN ms_case_affiliate a ON a.case_appli_id=#{id} and c.id = a.case_appli_id
LEFT JOIN ms_sys_user u ON u.user_id = a.user_id
LEFT JOIN ms_sys_user_role ur ON u.user_id = ur.user_id
LEFT JOIN ms_sys_role r ON r.role_id = ur.role_id
LEFT JOIN ms_sys_dept d ON d.dept_id = a.applicant_dept_id
where c.id = #{id}
GROUP BY a.id,r.role_id order by a.id asc
</select>
<select id="selectUserRoleByCaseIds" resultType="com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAffiliate">
select c.id caseAppliId,a.id,a.role_type roleType,a.group_order groupOrder,a.operator_flag operatorFlag,d.code,d.comp_legal_person compLegalPerson,u.id_card idCard,u.phonenumber phone,
u.email,
(case when a.user_id is null then d.dept_name else u.nick_name end) name,
(case when a.user_id is null then d.home else u.home end) home,
(case when a.user_id is null then d.address else u.address end) address,
(case when a.user_id is null then d.nationality else u.nationality end) nationality,
u.sex,u.id_type idType,u.birth,r.role_name roleName,d.dept_name applicantOrgName,a.user_id userId,a.applicant_dept_id applicantDeptId,a.organize_flag organizeFlag,c.case_source caseSource
FROM
ms_case_application c
JOIN ms_case_affiliate a ON c.id = a.case_appli_id
LEFT JOIN ms_sys_user u ON u.user_id = a.user_id
LEFT JOIN ms_sys_user_role ur ON u.user_id = ur.user_id
LEFT JOIN ms_sys_role r ON r.role_id = ur.role_id
LEFT JOIN ms_sys_dept d ON d.dept_id = a.applicant_dept_id
<where>
<if test="caseIds != null and caseIds.size() > 0">
and a.case_appli_id in
<foreach item="caseId" index="index" collection="caseIds" open="(" separator="," close=")">
#{caseId}
</foreach>
</if>
</where>
</select>
</mapper>