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.

195 lines
9.5 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.bir.mapper.BirActivityCenterGoodsMapper">
<resultMap id="birActivityCenterGoodsMap" type="com.qs.serve.modules.tbs.entity.TbsActivityCenterGoods" >
<result property="id" column="id"/>
<result property="centerGoodsCode" column="center_goods_code"/>
<result property="costApplyId" column="cost_apply_id"/>
<result property="activityId" column="activity_id"/>
<result property="activityCode" column="activity_code"/>
<result property="subjectId" column="subject_id"/>
<result property="subjectCode" column="subject_code"/>
<result property="subjectName" column="subject_name"/>
<result property="centerType" column="center_type"/>
<result property="centerId" column="center_id"/>
<result property="centerCode" column="center_code"/>
<result property="centerName" column="center_name"/>
<result property="centerAmount" column="center_amount"/>
<result property="centerRate" column="center_rate"/>
<result property="centerGoodsAmount" column="center_goods_amount"/>
<result property="centerGoodsRate" column="center_goods_rate"/>
<result property="usedAmount" column="used_amount"/>
<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"/>
<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="tmpUk" column="tmp_uk"/>
<result property="supplierId" column="supplier_id"/>
<result property="supplierCode" column="supplier_code"/>
<result property="supplierName" column="supplier_name"/>
<result property="activityAmt" column="activity_amt"/>
<result property="activityFinishedFlag" column="activity_finished_flag"/>
<result property="activityCheckAmt" column="activity_check_amt"/>
</resultMap>
<sql id="tbsActivityCenterGoodsSql">
tbs_activity_center_goods.`id`,
tbs_activity_center_goods.`center_goods_code`,
tbs_activity_center_goods.`cost_apply_id`,
tbs_activity_center_goods.`activity_id`,
tbs_activity_center_goods.`activity_code`,
tbs_activity_center_goods.`subject_id`,
tbs_activity_center_goods.`subject_code`,
tbs_activity_center_goods.`subject_name`,
tbs_activity_center_goods.`center_type`,
tbs_activity_center_goods.`center_id`,
tbs_activity_center_goods.`center_code`,
tbs_activity_center_goods.`center_name`,
tbs_activity_center_goods.`center_amount`,
tbs_activity_center_goods.`center_rate`,
tbs_activity_center_goods.`center_goods_amount`,
tbs_activity_center_goods.`center_goods_rate`,
tbs_activity_center_goods.`used_amount`,
tbs_activity_center_goods.`target_type`,
tbs_activity_center_goods.`target_id`,
tbs_activity_center_goods.`target_code`,
tbs_activity_center_goods.`target_name`,
tbs_activity_center_goods.`target_level_path_ids`,
tbs_activity_center_goods.`target_level_path_names`,
tbs_activity_center_goods.`remark`,
tbs_activity_center_goods.`create_time`,
tbs_activity_center_goods.`update_time`,
tbs_activity_center_goods.`tenant_id`,
tbs_activity_center_goods.`create_by`,
tbs_activity_center_goods.`update_by`,
tbs_activity_center_goods.`del_flag`,
tbs_activity_center_goods.`act_start_date`,
tbs_activity_center_goods.`act_end_date`,
tbs_activity_center_goods.`pre_start_date`,
tbs_activity_center_goods.`pre_end_date`,
tbs_activity_center_goods.`pre_check_date`,
tbs_activity_center_goods.`tmp_uk`,
tbs_activity_center_goods.`supplier_id`,
tbs_activity_center_goods.`supplier_code`,
tbs_activity_center_goods.`supplier_name` </sql>
<select id="selectChangeCenterGoods" resultType="com.qs.serve.modules.tbs.entity.TbsActivityCenterGoods">
select
tbs_activity.total_amount as activity_amt,
tbs_activity.used_amount as activity_check_amt,
tbs_activity.finished_flag as activity_finished_flag,
tbs_activity_center_goods.*
from tbs_activity_center_goods
left join tbs_activity
on tbs_activity.id = tbs_activity_center_goods.activity_id
left join bir_activity_center_goods
on tbs_activity_center_goods.id = bir_activity_center_goods.activity_center_goods_id
left join `tbs_cost_apply`
on `tbs_activity`.cost_apply_id = `tbs_cost_apply`.id
where
1=1
and tbs_activity.del_flag = 0
and tbs_activity.cancel_flag = 0
and tbs_activity_center_goods.del_flag = 0
and tbs_cost_apply.del_flag = 0
and tbs_cost_apply.cancel_flag = 0
and tbs_cost_apply.charge_state in (1,2,3,4)
and (
bir_activity_center_goods.activity_id is null
or bir_activity_center_goods.activity_total_amount != tbs_activity.total_amount
or bir_activity_center_goods.activity_total_check_amount != tbs_activity.used_amount
or bir_activity_center_goods.activity_total_release_amount != tbs_activity.release_amount
or bir_activity_center_goods.activity_total_pay_amount != tbs_activity.pay_amount
or bir_activity_center_goods.pre_start_date != tbs_activity.pre_start_date
or bir_activity_center_goods.pre_end_date != tbs_activity.pre_end_date
or bir_activity_center_goods.activity_finished_flag != `tbs_activity`.finished_flag
)
<if test="startDate !=null and endDate !=null">
and (
(tbs_activity.act_start_date between #{startDate} and #{endDate})
or
(tbs_activity.act_end_date between #{startDate} and #{endDate})
or
(tbs_activity.act_end_date &gt;= #{endDate} and tbs_activity.act_start_date &lt;= #{startDate})
)
</if>
<if test="costApplyId !=null ">
and tbs_activity_center_goods.cost_apply_id = #{costApplyId}
</if>
</select>
<select id="selectNoExistCenterGoods" resultType="com.qs.serve.modules.bir.entity.BirActivityCenterGoods">
SELECT
*
FROM
bir_activity_center_goods
left join tbs_activity ON bir_activity_center_goods.activity_id = tbs_activity.id
left join `tbs_cost_apply` on `bir_activity_center_goods`.cost_apply_id = `tbs_cost_apply`.id
where
tbs_cost_apply.del_flag = 1
or tbs_cost_apply.id is null
or tbs_cost_apply.cancel_flag = 1
or tbs_activity.cancel_flag = 1
or tbs_activity.id is null
or tbs_activity.del_flag = 1
</select>
<select id="listMonthCusCenterVo"
resultType="com.qs.serve.modules.bir.entity.vo.BirActivityCenterGoodsMonthVo">
select
key_num,
sum(split_amount) as total_cost_amt,
sum(split_release_amount) as total_release_amt,
sum(split_used_amount) as total_used_amt
from bir_activity_center_goods
where
1=1
<if test="query.supplierCode!=null and query.supplierCode != ''">
and supplier_code = #{query.supplierCode}
</if>
<if test="query.supplierCodeList!=null and query.supplierCodeList.size > 0">
and supplier_code in
<foreach collection="query.supplierCodeList" item ="selectCode" index="i" open="(" close=")" separator=",">
#{selectCode}
</foreach>
</if>
and center_type = #{query.centerType}
and center_id = #{query.centerId}
and key_num &lt;=#{query.endYearMonth}
and key_num &gt;=#{query.startYearMonth}
group by key_num
</select>
<select id="selectErrorBir" resultType="com.qs.serve.modules.bir.entity.BirActivityCenterGoods">
select bir_activity_center_goods.* from bir_activity_center_goods left join tbs_cost_apply
on tbs_cost_apply.id = bir_activity_center_goods.cost_apply_id
where charge_state not in (1,2,3,4)
</select>
<select id="totalAmt" resultType="java.math.BigDecimal">
select
sum(split_amount) as total_cost_amt
from bir_activity_center_goods
where
1=1
and key_num &lt;=#{startDate}
and key_num &gt;=#{endDate}
</select>
</mapper>