bns-zhgd-service/bonus-modules/bonus-base/src/main/resources/mapper/smartsite/basic/ProDepartMapper.xml

102 lines
4.4 KiB
XML
Raw Normal View History

2025-04-17 16:19:42 +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.base.basic.mapper.ProDepartMapper">
<!--新增/修改/删除/编辑状态项目部-->
<insert id="addOrUpdateDepart">
<if test="type == 1">
INSERT INTO tb_pro_depart
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="params.branchCompanyId != null">branch_company_id,</if>
<if test="params.departName != null and params.departName != ''">depart_name,</if>
<if test="params.remark != null and params.remark != ''">remark,</if>
<if test="params.createUserId != null">create_user_id,</if>
<if test="params.updateUserId != null">update_user_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="params.branchCompanyId != null">#{params.branchCompanyId},</if>
<if test="params.departName != null and params.departName != ''">#{params.departName},</if>
<if test="params.remark != null and params.remark != ''">#{params.remark},</if>
<if test="params.createUserId != null">#{params.createUserId},</if>
<if test="params.updateUserId != null">#{params.updateUserId},</if>
</trim>
</if>
<if test="type == 2">
UPDATE tb_pro_depart
<trim prefix="SET " suffixOverrides=",">
branch_company_id = #{params.branchCompanyId},
depart_name = #{params.departName},
remark = #{params.remark},
update_user_id = #{params.updateUserId},
</trim>
WHERE id = #{params.id}
</if>
<if test="type == 3">
UPDATE tb_pro_depart SET is_active = '0' WHERE id = #{params.id}
</if>
<if test="type == 4">
UPDATE tb_pro_depart SET use_status = #{params.useStatus} WHERE id = #{params.id}
</if>
</insert>
<!--校验数据是否重复-->
<select id="queryValueIsExist" resultType="java.lang.Integer">
2025-04-18 13:55:20 +08:00
<if test="params.id==null">
2025-04-17 16:19:42 +08:00
SELECT COUNT(1)
FROM tb_pro_depart
WHERE ${columnName} = #{value} AND branch_company_id = #{branchCompanyId} AND is_active = '1'
</if>
2025-04-18 13:55:20 +08:00
<if test="params.id!=null">
2025-04-17 16:19:42 +08:00
SELECT COUNT(1)
FROM tb_pro_depart
WHERE ${columnName} = #{value} AND branch_company_id = #{branchCompanyId} AND id != #{params.id} AND is_active = '1'
</if>
</select>
<!--项目部详情-->
<select id="detailDepart" resultType="com.bonus.base.basic.domain.vo.ProDepartVo">
SELECT id,
branch_company_id AS branchCompanyId,
depart_name AS departName,
use_status AS useStatus,
remark
FROM tb_pro_depart
WHERE is_active = '1'
</select>
<!--查询项目部-->
<select id="getDeparts" resultType="com.bonus.base.basic.domain.vo.ProDepartVo">
SELECT CONCAT('company-',tbc.id) AS associationId ,
NULL AS parentId,
tbc.company_name AS departName,
'/' AS useStatus,
tbc.remark,
'/' AS updateUserName,
NULL AS updateTime,
IFNULL(A.num,0) AS bidNum
FROM tb_branch_company tbc
LEFT JOIN (
SELECT company_id,COUNT(*) AS num
FROM bm_project_lot bpl
WHERE del_flag = '0'
GROUP BY company_id
) A ON A.company_id = tbc.id
UNION ALL
SELECT tpd.id AS associationId,
CONCAT('company-',tpd.branch_company_id) AS parentId,
tpd.depart_name AS departName,
tpd.use_status AS useStatus,
tpd.remark,
su.nick_name AS updateUserName,
tpd.update_time AS updateTime,
IFNULL(A.num,0) AS bidNum
FROM tb_pro_depart tpd
LEFT JOIN tb_branch_company tbc on tpd.branch_company_id = tbc.id
LEFT JOIN sys_user su ON tpd.update_user_id = su.user_id
LEFT JOIN (
SELECT dept_id,COUNT(*) AS num
FROM bm_project_lot bpl
WHERE del_flag = '0'
GROUP BY dept_id
) A ON A.dept_id = tpd.id
WHERE tpd.is_active = '1'
</select>
</mapper>