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
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>
|
|
|
|
|