15 changed files with 373 additions and 38 deletions
@ -0,0 +1,20 @@ |
|||
package com.qs.serve.modules.tbs.entity.dto; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/6/29 |
|||
*/ |
|||
@Data |
|||
public class TbsBudgetLogPreAmount { |
|||
|
|||
Long budgetId; |
|||
|
|||
Long scheduleItemId; |
|||
|
|||
BigDecimal amount; |
|||
|
|||
} |
@ -0,0 +1,18 @@ |
|||
package com.qs.serve.modules.tbs.entity.dto; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/6/29 |
|||
*/ |
|||
@Data |
|||
public class TbsScheduleItemBudgetAmount { |
|||
|
|||
Long scheduleItemId; |
|||
|
|||
BigDecimal totalAmount; |
|||
|
|||
} |
@ -0,0 +1,106 @@ |
|||
<?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.bir.mapper.BirBaseActivityMapper"> |
|||
|
|||
<resultMap id="tbsActivityMap" type="com.qs.serve.modules.tbs.entity.TbsActivity" > |
|||
<result property="id" column="id"/> |
|||
<result property="activityCode" column="activity_code"/> |
|||
<result property="activityState" column="activity_state"/> |
|||
<result property="costApplyId" column="cost_apply_id"/> |
|||
<result property="costPassTime" column="cost_pass_time"/> |
|||
<result property="costPassFlag" column="cost_pass_flag"/> |
|||
<result property="actTitle" column="act_title"/> |
|||
<result property="supplierId" column="supplier_id"/> |
|||
<result property="supplierCode" column="supplier_code"/> |
|||
<result property="supplierName" column="supplier_name"/> |
|||
<result property="actStartDate" column="act_start_date"/> |
|||
<result property="actEndDate" column="act_end_date"/> |
|||
<result property="preStartDate" column="pre_start_date"/> |
|||
<result property="preEndDate" column="pre_end_date"/> |
|||
<result property="preCheckDate" column="pre_check_date"/> |
|||
<result property="preActFlag" column="pre_act_flag"/> |
|||
<result property="preActQuantity" column="pre_act_quantity"/> |
|||
<result property="preNotActQuantity" column="pre_not_act_quantity"/> |
|||
<result property="preRoiRate" column="pre_roi_rate"/> |
|||
<result property="remark" column="remark"/> |
|||
<result property="totalAmount" column="total_amount"/> |
|||
<result property="usedAmount" column="used_amount"/> |
|||
<result property="reopenFlag" column="reopen_flag"/> |
|||
<result property="finishedFlag" column="finished_flag"/> |
|||
<result property="finishedTime" column="finished_time"/> |
|||
<result property="releaseFlag" column="release_flag"/> |
|||
<result property="releaseAmount" column="release_amount"/> |
|||
<result property="releaseTime" column="release_time"/> |
|||
<result property="releaseUserId" column="release_user_id"/> |
|||
<result property="releaseUserName" column="release_user_name"/> |
|||
<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"/> |
|||
<result property="templateId" column="template_id"/> |
|||
<result property="templateValue" column="template_value"/> |
|||
<result property="birActId" column="bir_act_id"/> |
|||
</resultMap> |
|||
|
|||
<sql id="tbsActivityScSql"> |
|||
tbs_activity.`id`, |
|||
tbs_activity.`activity_code`, |
|||
tbs_activity.`activity_state`, |
|||
tbs_activity.`cost_apply_id`, |
|||
tbs_activity.`cost_pass_time`, |
|||
tbs_activity.`cost_pass_flag`, |
|||
tbs_activity.`act_title`, |
|||
tbs_activity.`supplier_id`, |
|||
tbs_activity.`supplier_code`, |
|||
tbs_activity.`supplier_name`, |
|||
tbs_activity.`act_start_date`, |
|||
tbs_activity.`act_end_date`, |
|||
tbs_activity.`pre_start_date`, |
|||
tbs_activity.`pre_end_date`, |
|||
tbs_activity.`pre_check_date`, |
|||
tbs_activity.`pre_act_flag`, |
|||
tbs_activity.`pre_act_quantity`, |
|||
tbs_activity.`pre_not_act_quantity`, |
|||
tbs_activity.`pre_roi_rate`, |
|||
tbs_activity.`remark`, |
|||
tbs_activity.`total_amount`, |
|||
tbs_activity.`used_amount`, |
|||
tbs_activity.`reopen_flag`, |
|||
tbs_activity.`finished_flag`, |
|||
tbs_activity.`finished_time`, |
|||
tbs_activity.`release_flag`, |
|||
tbs_activity.`release_amount`, |
|||
tbs_activity.`release_time`, |
|||
tbs_activity.`release_user_id`, |
|||
tbs_activity.`release_user_name`, |
|||
tbs_activity.`create_time`, |
|||
tbs_activity.`update_time` </sql> |
|||
|
|||
<select id="selectByBirActivity" resultType="com.qs.serve.modules.tbs.entity.TbsActivity"> |
|||
SELECT |
|||
bir_base_activity.id as bir_act_id, |
|||
<include refid="tbsActivityScSql"/> |
|||
FROM tbs_activity |
|||
LEFT JOIN bir_base_activity |
|||
on bir_base_activity.activity_id = tbs_activity.id |
|||
where |
|||
bir_base_activity.del_flag = 0 |
|||
and tbs_activity.del_flag = 0 |
|||
and ( |
|||
bir_base_activity.activity_id is null |
|||
or bir_base_activity.activity_total_amt != tbs_activity.total_amount |
|||
or bir_base_activity.activity_used_amt != tbs_activity.used_amount |
|||
) |
|||
and ( |
|||
(tbs_activity.act_start_date between #{startDate} and #{endDate}) |
|||
or |
|||
(tbs_activity.act_end_date between #{startDate} and #{endDate}) |
|||
) |
|||
</select> |
|||
|
|||
|
|||
</mapper> |
@ -0,0 +1,91 @@ |
|||
<?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} |
|||
group by `tbs_budget_cost_item`.schedule_item_id |
|||
</select> |
|||
|
|||
|
|||
|
|||
<select id="listLogCostAmount" resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogPreAmount"> |
|||
SELECT |
|||
sum( amount ) |
|||
FROM |
|||
`tbs_budget_log` |
|||
LEFT JOIN |
|||
`tbs_cost_apply` |
|||
ON `tbs_budget_log` .cost_apply_id = tbs_cost_apply.id |
|||
AND `tbs_budget_log`.rollback_flag = '0' |
|||
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} |
|||
AND `tbs_cost_apply`.charge_state in (1,2,3) |
|||
AND opt_type IN (1,4,5,6) |
|||
</select> |
|||
|
|||
|
|||
</mapper> |
|||
|
Loading…
Reference in new issue