49 lines
2.6 KiB
XML
49 lines
2.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.ruoyi.business.mapper.BizProjectSponsorAssignMapper">
|
|
<resultMap id="BaseResultMap" type="BizProjectSponsorAssign">
|
|
<id property="id" column="id" />
|
|
<result property="projectId" column="project_id" />
|
|
<result property="sponsorOrgId" column="sponsor_org_id" />
|
|
<result property="monitorUserId" column="monitor_user_id" />
|
|
<result property="assignDesc" column="assign_desc" />
|
|
<result property="assignPoints" column="assign_points" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="sponsorUserName" column="sponsor_user_name" />
|
|
<result property="monitorUserName" column="monitor_user_name" />
|
|
<result property="isDeleted" column="is_deleted" />
|
|
</resultMap>
|
|
|
|
<insert id="insertAssign" parameterType="BizProjectSponsorAssign" useGeneratedKeys="true" keyProperty="id">
|
|
INSERT INTO biz_project_sponsor_assign
|
|
(project_id, sponsor_org_id, monitor_user_id, assign_desc, assign_points, create_by, create_time)
|
|
VALUES
|
|
(#{projectId}, #{sponsorOrgId}, #{monitorUserId}, #{assignDesc}, #{assignPoints}, #{createBy}, sysdate())
|
|
</insert>
|
|
|
|
<!-- 按 project_id 全删 (支持方分配策略: 一个项目只分配一个 sponsor, 先删后插) -->
|
|
<delete id="deleteByProjectId" parameterType="String">
|
|
delete from biz_project_sponsor_assign where project_id = #{projectId}
|
|
</delete>
|
|
|
|
<!-- 软删除: 项目级联删除时按 project_id (String) 置 is_deleted=1 -->
|
|
<update id="softDeleteByProjectId" parameterType="String">
|
|
update biz_project_sponsor_assign set is_deleted = 1 where project_id = #{projectId}
|
|
</update>
|
|
|
|
<select id="selectByProjectId" resultMap="BaseResultMap">
|
|
SELECT a.*,
|
|
COALESCE(NULLIF(sp.name, ''), s.nick_name) AS sponsor_user_name,
|
|
COALESCE(NULLIF(p.name, ''), m.nick_name) AS monitor_user_name
|
|
FROM biz_project_sponsor_assign a
|
|
LEFT JOIN biz_org o ON o.org_id = a.sponsor_org_id
|
|
LEFT JOIN sys_user s ON s.user_id = o.user_id
|
|
LEFT JOIN biz_person sp ON sp.user_id = o.user_id
|
|
LEFT JOIN biz_person p ON p.user_id = a.monitor_user_id
|
|
INNER JOIN sys_user m ON a.monitor_user_id = m.user_id
|
|
WHERE a.project_id = #{projectId} and a.is_deleted = 0
|
|
ORDER BY a.create_time DESC
|
|
</select>
|
|
</mapper> |