| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- <?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.jzg.console.mapper.ReportReceivableDataMapper">
- <resultMap id="ReceivableStatisticsResultMap" type="com.jzg.commons.entity.report.dto.ReportReceivableDataDto">
- <result column="year_and_month_time" property="yearAndMonthTime"/>
- <result column="total_receivable" property="accountsReceivableMoney"/>
- <result column="uninvoiced_money" property="uninvoicedMoney"/>
- <result column="invoiced_money" property="invoicedMoney"/>
- <result column="settled_money" property="settledMoney"/>
- <result column="unsettled_money" property="unsettledMoney"/>
- </resultMap>
- <resultMap id="ReceivableDetailResultMap" type="com.jzg.commons.entity.report.dto.ReportReceivableDetailDto">
- <result column="company_id" property="companyId"/>
- <result column="company_name" property="companyName"/>
- <result column="receivable_commission_fee" property="receivable.commissionFee"/>
- <result column="receivable_follow_fee" property="receivable.followFee"/>
- <result column="receivable_platform" property="receivable.platformReceivable"/>
- <result column="receivable_total" property="receivable.totalAmount"/>
- <result column="uninvoiced_commission_fee" property="uninvoiced.commissionFee"/>
- <result column="uninvoiced_follow_fee" property="uninvoiced.followFee"/>
- <result column="uninvoiced_platform" property="uninvoiced.platformReceivable"/>
- <result column="uninvoiced_total" property="uninvoiced.totalAmount"/>
- <result column="invoiced_commission_fee" property="invoiced.commissionFee"/>
- <result column="invoiced_follow_fee" property="invoiced.followFee"/>
- <result column="invoiced_platform" property="invoiced.platformReceivable"/>
- <result column="invoiced_total" property="invoiced.totalAmount"/>
- <result column="unsettled_commission_fee" property="unsettled.commissionFee"/>
- <result column="unsettled_follow_fee" property="unsettled.followFee"/>
- <result column="unsettled_platform" property="unsettled.platformReceivable"/>
- <result column="unsettled_total" property="unsettled.totalAmount"/>
- <result column="settled_commission_fee" property="settled.commissionFee"/>
- <result column="settled_follow_fee" property="settled.followFee"/>
- <result column="settled_platform" property="settled.platformReceivable"/>
- <result column="settled_total" property="settled.totalAmount"/>
- </resultMap>
- <select id="getReceivableStatisticsByMonth" resultMap="ReceivableStatisticsResultMap">
- SELECT
- r.year_and_month_time,
- r.total_receivable,
- (r.private_receivable - COALESCE(i.invoiced_money, 0)) AS uninvoiced_money,
- COALESCE(i.invoiced_money, 0) AS invoiced_money,
- COALESCE(s.settled_money, 0) AS settled_money,
- (r.total_receivable - COALESCE(s.settled_money, 0)) AS unsettled_money
- FROM (
- SELECT
- CONCAT(YEAR(ipi.signing_time), '-', LPAD(MONTH(ipi.signing_time), 2, '0')) AS year_and_month_time,
- SUM(COALESCE(ipi.jq_receivable_premium, 0) + COALESCE(ipi.sy_receivable_premium, 0) + COALESCE(ipi.jy_receivable_premium, 0)) AS total_receivable,
- SUM(
- COALESCE(ipi.jq_supervise_costs_premiums, 0) + COALESCE(ipi.sy_supervise_costs_premiums, 0) +
- COALESCE(ipi.jy_supervise_costs_premiums, 0) +
- COALESCE(ipi.jq_other_costs_premiums, 0) + COALESCE(ipi.sy_other_costs_premiums, 0) +
- COALESCE(ipi.jy_other_costs_premiums, 0)
- ) AS private_receivable
- FROM ins_ply_income ipi
- WHERE ipi.is_delete = 0
- AND ipi.system_code = #{systemCode}
- AND YEAR(ipi.signing_time) between #{param.year[0]} and #{param.year[1]}
- GROUP BY CONCAT(YEAR(ipi.signing_time), '-', LPAD(MONTH(ipi.signing_time), 2, '0'))
- ) r
- LEFT JOIN (
- SELECT
- CONCAT(YEAR(ipii.create_time), '-', LPAD(MONTH(ipii.create_time), 2, '0')) AS year_and_month_time,
- SUM(COALESCE(ipii.receivable_supervise_premium, 0)) AS invoiced_money
- FROM ins_ply_income_invoice ipii
- WHERE ipii.is_delete = 0
- AND ipii.system_code = #{systemCode}
- AND ipii.invoice_type IN ('1','2','3','4')
- AND YEAR(ipii.create_time) between #{param.year[0]} and #{param.year[1]}
- GROUP BY CONCAT(YEAR(ipii.create_time), '-', LPAD(MONTH(ipii.create_time), 2, '0'))
- ) i ON r.year_and_month_time = i.year_and_month_time
- LEFT JOIN (
- SELECT
- CONCAT(YEAR(ipiis.create_time), '-', LPAD(MONTH(ipiis.create_time), 2, '0')) AS year_and_month_time,
- SUM(COALESCE(ipiis.actual_received_amount, 0)) AS settled_money
- FROM ins_ply_income_invoice_settlement ipiis
- LEFT JOIN ins_ply_income_invoice ipii ON ipii.id = ipiis.invoice_id AND ipii.is_delete = 0
- WHERE ipiis.is_delete = 0
- AND ipii.system_code = #{systemCode}
- AND ipii.invoice_type IN ('1','2','3','4','5','6')
- AND YEAR(ipiis.create_time) between #{param.year[0]} and #{param.year[1]}
- GROUP BY CONCAT(YEAR(ipiis.create_time), '-', LPAD(MONTH(ipiis.create_time), 2, '0'))
- ) s ON r.year_and_month_time = s.year_and_month_time
- ORDER BY r.year_and_month_time ASC
- </select>
- <select id="getReceivableStatisticsDetail" resultMap="ReceivableDetailResultMap">
- SELECT
- rc.company_id,
- (SELECT NAME FROM esm_ins_company WHERE id = rc.company_id) AS company_name,
- COALESCE(rc.receivable_commission, 0) AS receivable_commission_fee,
- COALESCE(rc.receivable_follow, 0) AS receivable_follow_fee,
- COALESCE(rc.receivable_platform, 0) AS receivable_platform,
- (COALESCE(rc.receivable_commission, 0) + COALESCE(rc.receivable_follow, 0) + COALESCE(rc.receivable_platform, 0)) AS receivable_total,
- (COALESCE(rc.receivable_commission, 0) - COALESCE(i.invoiced_commission, 0)) AS uninvoiced_commission_fee,
- (COALESCE(rc.receivable_follow, 0) - COALESCE(i.invoiced_follow, 0)) AS uninvoiced_follow_fee,
- 0 AS uninvoiced_platform,
- (COALESCE(rc.receivable_commission, 0) + COALESCE(rc.receivable_follow, 0) - COALESCE(i.invoiced_commission, 0) - COALESCE(i.invoiced_follow, 0)) AS uninvoiced_total,
- COALESCE(i.invoiced_commission, 0) AS invoiced_commission_fee,
- COALESCE(i.invoiced_follow, 0) AS invoiced_follow_fee,
- 0 AS invoiced_platform,
- (COALESCE(i.invoiced_commission, 0) + COALESCE(i.invoiced_follow, 0)) AS invoiced_total,
- COALESCE(us.unsettled_commission, 0) AS unsettled_commission_fee,
- COALESCE(us.unsettled_follow, 0) AS unsettled_follow_fee,
- COALESCE(us.unsettled_platform, 0) AS unsettled_platform,
- (COALESCE(us.unsettled_commission, 0) + COALESCE(us.unsettled_follow, 0) + COALESCE(us.unsettled_platform, 0)) AS unsettled_total,
- COALESCE(s.settled_commission, 0) AS settled_commission_fee,
- COALESCE(s.settled_follow, 0) AS settled_follow_fee,
- COALESCE(s.settled_platform, 0) AS settled_platform,
- COALESCE(s.settled_commission, 0) + COALESCE(s.settled_follow, 0) + COALESCE(s.settled_platform, 0) AS settled_total
- FROM (
- SELECT
- ipi.company_id AS company_id,
- SUM(COALESCE(ipi.jq_supervise_costs_premiums, 0) + COALESCE(ipi.sy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_supervise_costs_premiums, 0)) AS receivable_commission,
- SUM(COALESCE(ipi.jq_other_costs_premiums, 0) + COALESCE(ipi.sy_other_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums, 0)) AS receivable_follow,
- SUM(COALESCE(ipi.jq_receivable_premium, 0) + COALESCE(ipi.sy_receivable_premium, 0) + COALESCE(ipi.jy_receivable_premium, 0)) -
- SUM(COALESCE(ipi.jq_supervise_costs_premiums, 0) + COALESCE(ipi.sy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_supervise_costs_premiums, 0) +
- COALESCE(ipi.jq_other_costs_premiums, 0) + COALESCE(ipi.sy_other_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums, 0)) AS receivable_platform
- FROM ins_ply_income ipi
- WHERE ipi.is_delete = 0
- AND ipi.system_code = #{systemCode}
- AND YEAR(ipi.signing_time) between #{param.year[0]} and #{param.year[1]}
- GROUP BY ipi.company_id, ipi.company_name
- ) rc
- LEFT JOIN (
- SELECT
- ipii.company_id AS company_id,
- SUM(CASE WHEN ipii.invoice_type IN ('1','3') THEN COALESCE(ipii.receivable_supervise_premium, 0) ELSE 0 END) AS invoiced_commission,
- SUM(CASE WHEN ipii.invoice_type IN ('2','4') THEN COALESCE(ipii.receivable_supervise_premium, 0) ELSE 0 END) AS invoiced_follow
- FROM ins_ply_income_invoice ipii
- WHERE ipii.is_delete = 0
- AND ipii.system_code = #{systemCode}
- AND ipii.invoice_type IN ('1','2','3','4')
- AND YEAR(ipii.create_time) between #{param.year[0]} and #{param.year[1]}
- GROUP BY ipii.company_id
- ) i ON rc.company_id = i.company_id
- LEFT JOIN (
- SELECT
- t.company_id,
- t.settled_commission,
- t.settled_follow,
- t.settled_platform + plat.plat_amount AS settled_platform
- FROM (
- SELECT
- ipii.company_id AS company_id,
- SUM(CASE WHEN ipii.invoice_type IN ('1','3') THEN COALESCE(ipiis.actual_received_amount, 0) ELSE 0 END) AS settled_commission,
- SUM(CASE WHEN ipii.invoice_type IN ('2','4') THEN COALESCE(ipiis.actual_received_amount, 0) ELSE 0 END) AS settled_follow,
- SUM(CASE WHEN ipii.invoice_type IN ('5','6') THEN COALESCE(ipiis.actual_received_amount, 0) ELSE 0 END) AS settled_platform
- FROM ins_ply_income_invoice_settlement ipiis
- LEFT JOIN ins_ply_income_invoice ipii
- ON ipii.id = ipiis.invoice_id
- AND ipii.is_delete = 0
- AND ipii.system_code = #{systemCode}
- WHERE ipiis.is_delete = 0
- AND YEAR(ipiis.create_time) between #{param.year[0]} and #{param.year[1]}
- AND ipii.company_id IS NOT NULL
- GROUP BY ipii.company_id
- ) t
- CROSS JOIN (
- SELECT SUM(COALESCE(ipiis.actual_received_amount,0)) AS plat_amount
- FROM ins_ply_income_invoice_settlement ipiis
- LEFT JOIN ins_ply_income_invoice ipii
- ON ipii.id = ipiis.invoice_id
- AND ipii.is_delete = 0
- AND ipii.system_code = #{systemCode}
- WHERE ipiis.is_delete = 0
- AND YEAR(ipiis.create_time) between #{param.year[0]} and #{param.year[1]}
- AND ipii.company_id IS NULL
- ) plat
- ) s ON rc.company_id = s.company_id
- LEFT JOIN (
- SELECT
- ipii.company_id AS company_id,
- SUM(CASE WHEN ipii.invoice_type IN ('1','3') AND ipii.status = '0' THEN COALESCE(ipii.receivable_supervise_premium, 0) ELSE 0 END) AS unsettled_commission,
- SUM(CASE WHEN ipii.invoice_type IN ('2','4') AND ipii.status = '0' THEN COALESCE(ipii.receivable_supervise_premium, 0) ELSE 0 END) AS unsettled_follow,
- SUM(CASE WHEN ipii.invoice_type IN ('5','6') AND ipii.status = '0' THEN COALESCE(ipii.receivable_supervise_premium, 0) ELSE 0 END) AS unsettled_platform
- FROM ins_ply_income_invoice ipii
- WHERE ipii.is_delete = 0
- AND ipii.system_code = #{systemCode}
- AND ipii.invoice_type IN ('1','2','3','4','5','6')
- AND YEAR(ipii.create_time) between #{param.year[0]} and #{param.year[1]}
- GROUP BY ipii.company_id
- ) us ON rc.company_id = us.company_id
- </select>
- </mapper>
|