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.

134 lines
6.1 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.BirRoiRateMapper">
<resultMap id="birRoiRateMap" type="com.qs.serve.modules.bir.entity.BirRoiRate" >
<result property="id" column="id"/>
<result property="keyNum" column="key_num"/>
<result property="activityAmt" column="activity_amt"/>
<result property="verificationAmt" column="verification_amt"/>
<result property="shipmentQty" column="shipment_qty"/>
<result property="shipmentAmt" column="shipment_amt"/>
<result property="supplierId" column="supplier_id"/>
<result property="supplierCode" column="supplier_code"/>
<result property="supplierName" column="supplier_name"/>
<result property="userId" column="user_id"/>
<result property="userCode" column="user_code"/>
<result property="userName" column="user_name"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="tenantId" column="tenant_id"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
<sql id="birRoiRateSql">
bir_roi_rate.`id`,
bir_roi_rate.`key_num`,
bir_roi_rate.`activity_amt`,
bir_roi_rate.`verification_amt`,
bir_roi_rate.`shipment_qty`,
bir_roi_rate.`shipment_amt`,
bir_roi_rate.`supplier_id`,
bir_roi_rate.`supplier_code`,
bir_roi_rate.`supplier_name`,
bir_roi_rate.`user_id`,
bir_roi_rate.`user_code`,
bir_roi_rate.`user_name`,
bir_roi_rate.`create_time`,
bir_roi_rate.`update_time`,
bir_roi_rate.`tenant_id`,
bir_roi_rate.`del_flag` </sql>
<resultMap id="BirRoiCostItemVoMap" type="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" >
<result property="yearMonth" column="year_month"/>
<result property="yearMonthDate" column="year_month_date"/>
<result property="costAmt" column="cost_amt"/>
<result property="checkAmt" column="check_amt"/>
</resultMap>
<select id="queryForecastRoiCostItems" resultType="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" resultMap="BirRoiCostItemVoMap">
SELECT
key_num AS `year_month`,
min( start_date ) AS year_month_date,
sum(bir_base_activity.activity_total_amt) as cost_amt,
sum(bir_base_activity.verification_amt) as check_amt,
sum(bir_base_activity.pre_act_quantity) as pre_amt
FROM
`bir_base_activity` left join `tbs_cost_apply` on `bir_base_activity`.cost_apply_id = `tbs_cost_apply`.id
<where>
tbs_cost_apply.charge_state in (1,2)
and bir_base_activity.del_flag = '0'
and `tbs_cost_apply`.del_flag = '0'
and bir_base_activity.key_num &gt;= #{query.startMonthNum}
and bir_base_activity.key_num &lt;= #{query.endMonthNum}
<if test="query.supplierId!=null and query.supplierId!=''">
and bir_base_activity.supplier_id = #{query.supplierId}
</if>
<if test="query.userId!=null and query.userId!=''">
and bir_base_activity.supplier_id != #{query.notSupplierId}
and bir_base_activity.user_id = #{query.userId}
</if>
<if test="query.supplierIds!=null and query.supplierIds.size > 0">
and bir_base_activity.supplier_id in
<foreach collection="query.supplierIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
<if test="query.userIds!=null and query.userIds.size > 0">
and bir_base_activity.user_id in
<foreach collection="query.userIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
</where>
GROUP BY
`year_month`
ORDER BY
`year_month` desc
</select>
<select id="queryRoiCostItems" resultType="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" resultMap="BirRoiCostItemVoMap">
SELECT
key_num AS `year_month`,
min( start_date ) AS year_month_date,
sum(bir_base_activity.activity_total_amt) as cost_amt,
sum(bir_base_activity.verification_amt) as check_amt,
sum(bir_base_activity.pre_act_quantity) as pre_amt
FROM
`bir_base_activity` left join `tbs_cost_apply` on `bir_base_activity`.cost_apply_id = `tbs_cost_apply`.id
<where>
tbs_cost_apply.charge_state = 3
and bir_base_activity.del_flag = '0'
and `tbs_cost_apply`.del_flag = '0'
and bir_base_activity.key_num &gt;= #{query.startMonthNum}
and bir_base_activity.key_num &lt;= #{query.endMonthNum}
<if test="query.supplierId!=null and query.supplierId!=''">
and bir_base_activity.supplier_id = #{query.supplierId}
</if>
<if test="query.userId!=null and query.userId!=''">
and bir_base_activity.supplier_id != #{query.notSupplierId}
and bir_base_activity.user_id = #{query.userId}
</if>
<if test="query.supplierIds!=null and query.supplierIds.size > 0">
and bir_base_activity.supplier_id in
<foreach collection="query.supplierIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
<if test="query.userIds!=null and query.userIds.size > 0">
and bir_base_activity.user_id in
<foreach collection="query.userIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
</where>
GROUP BY
`year_month`
ORDER BY
`year_month` desc
</select>
</mapper>