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.

140 lines
6.3 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.TbsScheduleItemBudgetMapper">
<resultMap id="tbsScheduleItemBudgetMap" type="com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget" >
<result property="id" column="id"/>
<result property="scheduleId" column="schedule_id"/>
<result property="scheduleItemId" column="schedule_item_id"/>
<result property="itemName" column="item_name"/>
<result property="startDate" column="start_date"/>
<result property="endDate" column="end_date"/>
<result property="budgetId" column="budget_id"/>
<result property="budgetAmount" column="budget_amount"/>
<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="tbsScheduleItemBudgetSql">
tbs_schedule_item_budget.`id`,
tbs_schedule_item_budget.`schedule_id`,
tbs_schedule_item_budget.`schedule_item_id`,
tbs_schedule_item_budget.`item_name`,
tbs_schedule_item_budget.`start_date`,
tbs_schedule_item_budget.`end_date`,
tbs_schedule_item_budget.`budget_id`,
tbs_schedule_item_budget.`budget_amount`,
tbs_schedule_item_budget.`remark`,
tbs_schedule_item_budget.`create_time`,
tbs_schedule_item_budget.`update_time`,
tbs_schedule_item_budget.`tenant_id`,
tbs_schedule_item_budget.`create_by`,
tbs_schedule_item_budget.`update_by`,
tbs_schedule_item_budget.`del_flag` </sql>
<resultMap id="TbsScheduleItemBudgetAmountMap" type="TbsScheduleItemBudgetAmount">
<result property="scheduleItemId" column="schedule_item_id"/>
<result property="totalAmount" column="total_amount"/>
</resultMap>
<select id="totalApplyAmountList"
resultType="com.qs.serve.modules.tbs.entity.dto.TbsScheduleItemBudgetAmount"
resultMap="TbsScheduleItemBudgetAmountMap">
SELECT
`tbs_budget_cost_item`.schedule_item_id,
sum(`tbs_budget_cost_item`.center_goods_amount) total_amount
FROM `tbs_budget_cost_item`
LEFT JOIN `tbs_cost_apply`
ON `tbs_budget_cost_item`.cost_apply_id = `tbs_cost_apply`.id
WHERE `tbs_cost_apply`.charge_state = 1 OR `tbs_cost_apply`.charge_state = 4
AND `tbs_budget_cost_item`.schedule_item_id in
<foreach collection="sibIdList" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
and (`tbs_cost_apply`.id != #{applyId} or `tbs_cost_apply`.id is not null)
group by `tbs_budget_cost_item`.schedule_item_id
</select>
<resultMap id="TbsBudgetLogPreAmountMap" type="TbsBudgetLogPreAmount">
<result property="scheduleItemId" column="schedule_item_id"/>
<result property="amount" column="total_amount"/>
<result property="budgetId" column="budget_id"/>
</resultMap>
<select id="listLogCostAmount" resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogPreAmount">
SELECT
`tbs_budget_log`.budget_id,
`tbs_budget_log`.schedule_item_id,
sum (`tbs_budget_log`.amount) amount
FROM
`tbs_budget_log`
LEFT JOIN
`tbs_cost_apply`
ON `tbs_budget_log` .cost_apply_id = tbs_cost_apply.id
WHERE
`tbs_budget_log`.budget_id in
<foreach collection="budgetIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND `tbs_budget_log`.schedule_item_id in
<foreach collection="scheduleItemIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND (`tbs_cost_apply`.id != #{applyId} or `tbs_cost_apply`.id is null)
AND opt_type in (1,4,5,6,11,12,13,14,15)
group by `tbs_budget_log`.budget_id,`tbs_budget_log`.schedule_item_id
</select>
<select id="totalPolicyAmountList"
resultType="com.qs.serve.modules.tbs.entity.dto.TbsScheduleItemBudgetAmount"
resultMap="TbsScheduleItemBudgetAmountMap">
SELECT
`tbs_budget_cost_item_policy`.schedule_item_id,
sum(`tbs_budget_cost_item_policy`.policy_item_amount) total_amount
FROM `tbs_budget_cost_item_policy`
LEFT JOIN `tzc_policy`
ON `tbs_budget_cost_item_policy`.policy_id = `tzc_policy`.id
WHERE `tzc_policy`.policy_status = 1 OR `tzc_policy`.policy_status = 4
AND `tbs_budget_cost_item_policy`.schedule_item_id in
<foreach collection="sibIdList" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
and (`tzc_policy`.id !=#{policyId} or `tzc_policy`.id is null)
group by `tbs_budget_cost_item_policy`.schedule_item_id
</select>
<select id="listLogCostAmountWithPolicy"
resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogPreAmount">
SELECT
`tbs_budget_log`.budget_id,
`tbs_budget_log`.schedule_item_id,
sum (`tbs_budget_log`.amount) amount
FROM
`tbs_budget_log`
LEFT JOIN
`tzc_policy`
ON `tbs_budget_log`.policy_id = tzc_policy.id
WHERE
`tbs_budget_log`.budget_id in
<foreach collection="budgetIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND `tbs_budget_log`.schedule_item_id in
<foreach collection="scheduleItemIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND (`tzc_policy`.id != #{policyId} or `tzc_policy`.id is null)
AND opt_type in (1,4,5,6,11,12,13,14,15)
group by `tbs_budget_log`.budget_id,`tbs_budget_log`.schedule_item_id
</select>
</mapper>