You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
4.4 KiB

<?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.qs.serve.modules.tbs.mapper.TbsBudgetConditionMapper">
<resultMap id="tbsBudgetConditionMap" type="com.qs.serve.modules.tbs.entity.TbsBudgetCondition" >
<result property="id" column="id"/>
<result property="budgetId" column="budget_id"/>
<result property="targetType" column="target_type"/>
<result property="targetId" column="target_id"/>
<result property="targetCode" column="target_code"/>
<result property="targetName" column="target_name"/>
<result property="targetLevelPathIds" column="target_level_path_ids"/>
<result property="targetLevelPathNames" column="target_level_path_names"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="tenantId" column="tenant_id"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
<sql id="tbsBudgetConditionSql">
tbs_budget_condition.`id`,
tbs_budget_condition.`budgt_id`,
tbs_budget_condition.`target_type`,
tbs_budget_condition.`target_id`,
tbs_budget_condition.`target_code`,
tbs_budget_condition.`target_name`,
tbs_budget_condition.`target_level_path_ids`,
tbs_budget_condition.`target_level_path_names`,
tbs_budget_condition.`remark`,
tbs_budget_condition.`create_time`,
tbs_budget_condition.`update_time`,
tbs_budget_condition.`tenant_id`,
tbs_budget_condition.`create_by`,
tbs_budget_condition.`update_by`,
tbs_budget_condition.`del_flag` </sql>
<select id="selectTbsBudgetConditionList" parameterType="com.qs.serve.modules.tbs.entity.TbsBudgetCondition" resultMap="tbsBudgetConditionMap">
SELECT
<include refid="tbsBudgetConditionSql"/>
FROM `tbs_budget_condition` `tbs_budget_condition`
<where>
<if test="query.id != null"> and `tbs_budget_condition`.`id` = #{query.id}</if>
<if test="query.budgetId != null"> and `tbs_budget_condition`.`budgt_id` = #{query.budgtId}</if>
<if test="query.targetType != null and query.targetType != ''"> and `tbs_budget_condition`.`target_type` = #{query.targetType}</if>
<if test="query.targetId != null"> and `tbs_budget_condition`.`target_id` = #{query.targetId}</if>
<if test="query.targetCode != null and query.targetCode != ''"> and `tbs_budget_condition`.`target_code` = #{query.targetCode}</if>
<if test="query.targetName != null and query.targetName != ''"> and `tbs_budget_condition`.`target_name` = #{query.targetName}</if>
<if test="query.remark != null and query.remark != ''"> and `tbs_budget_condition`.`remark` = #{query.remark}</if>
<if test="query.createTime != null"> and `tbs_budget_condition`.`create_time` = #{query.createTime}</if>
<if test="query.updateTime != null"> and `tbs_budget_condition`.`update_time` = #{query.updateTime}</if>
<if test="query.tenantId != null and query.tenantId != ''"> and `tbs_budget_condition`.`tenant_id` = #{query.tenantId}</if>
<if test="query.createBy != null and query.createBy != ''"> and `tbs_budget_condition`.`create_by` = #{query.createBy}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `tbs_budget_condition`.`update_by` = #{query.updateBy}</if>
<if test="query.delFlag != null and query.delFlag != ''"> and `tbs_budget_condition`.`del_flag` = #{query.delFlag}</if>
</where>
</select>
<select id="findUnMatchConditionBySourceBudgetIdAndTargetBudgetId" resultType="java.lang.Long">
select count(*) from
(select * from tbs_budget_condition a where a.budget_id = #{sourceId} and a.del_flag=0 ) `source`
left JOIN
(select * from tbs_budget_condition b where b.budget_id = #{targetId} and b.del_flag=0) target
on `source`.target_level_path_ids like CONCAT('%',target.target_level_path_ids,'%')
where target.id is null
</select>
</mapper>