| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358 |
- <?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.ydtech.modules.inv.dao.InvReceivableMapper">
- <resultMap id="BaseResultMap" type="com.ydtech.modules.inv.model.vo.ReceivableResultVo">
- </resultMap>
- <select id="getReceivableList" resultType="com.ydtech.modules.inv.model.vo.ReceivableResultVo">
- SELECT
- DATE_FORMAT( signing_time, '%d' ) AS DAY,
- DATE_FORMAT( signing_time, '%Y-%m' ) AS yearmonth,
- DATE_FORMAT( signing_time, '%Y-%m-%d' ),
- insurance_id,
- insurance_name,
- sum( jq_premium_tax ) AS jq_premium_tax,
- sum( jq_premium ) AS jq_premium,
- sum( sy_premium_tax ) AS sy_premium_tax,
- sum( sy_premium ) AS sy_premium,
- sum( taxamount ) AS taxamount,
- sum( non_car_premium_tax ) AS non_car_premium_tax,
- sum( non_car_premium ) AS non_car_premium,
- sum( premium ) AS premium,
- sum( non_copying ) AS non_copying,
- sum( jq_premium_tax + sy_premium_tax + non_car_premium_tax ) AS total_permium,
- sum( premium + non_copying ) AS total_receivable,
- sum( subsidy_amount ) AS subsidy_amount,
- sum( total_receivable_amount ) AS total_receivable_amount
- FROM
- inv_source
- WHERE
- signing_time BETWEEN #{startTime}
- AND #{endTime}
- and insurance_id = #{insuranceId}
- GROUP BY
- insurance_id,
- insurance_name,
- DATE_FORMAT( signing_time,'%Y-%m-%d'),
- DATE_FORMAT( signing_time, '%d' ),
- DATE_FORMAT( signing_time, '%Y-%m' )
- </select>
- <select id="getSigningSourceResult" resultType="com.ydtech.modules.inv.model.vo.SigningSourceResultVo">
- SELECT
- DATE_FORMAT( signing_time, '%m') as day,
- DATE_FORMAT( signing_time, '%Y-%m' ) as yearmonth,
- <if test="insuranceId != null and insuranceId != ''">
- insurance_name,
- </if>
- sum( jq_premium_tax ) as jq_premium_tax,
- sum(jq_premium) as jq_premium,
- sum(sy_premium_tax) as sy_premium_tax,
- sum(sy_premium) as sy_premium,
- sum(taxamount) as taxamount,
- sum(non_car_premium_tax) as non_car_premium_tax,
- sum(non_car_premium) as non_car_premium,
- sum(premium) as premium,
- sum(non_copying) as non_copying,
- sum(jq_premium_tax + sy_premium_tax + non_car_premium_tax) as written_premium,
- sum(premium + non_copying) as total_receivable,
- sum(receivable) as total_amount_receivable
- FROM
- inv_source
- WHERE
- signing_time BETWEEN #{startTime}
- AND #{endTime}
- <!--and insurance_id = '123'-->
- <if test="insuranceId != null and insuranceId != ''">
- and insurance_id = #{insuranceId}
- </if>
- GROUP BY
- <if test="insuranceId != null and insuranceId != ''">
- insurance_id,
- insurance_name,
- </if>
- DATE_FORMAT(
- signing_time,
- '%Y-%m'),
- DATE_FORMAT( signing_time, '%m')
- </select>
- <select id="getSigningSourceDayResult" resultType="com.ydtech.modules.inv.model.vo.SigningSourceResultVo">
- SELECT
- DATE_FORMAT( signing_time, '%d') as day,
- DATE_FORMAT( signing_time, '%Y-%m-%d' ) as yearmonth,
- insurance_name,
- sum( jq_premium_tax ) as jq_premium_tax,
- sum(jq_premium) as jq_premium,
- sum(sy_premium_tax) as sy_premium_tax,
- sum(sy_premium) as sy_premium,
- sum(taxamount) as taxamount,
- sum(non_car_premium_tax) as non_car_premium_tax,
- sum(non_car_premium) as non_car_premium,
- sum(premium) as premium,
- sum(non_copying) as non_copying,
- sum(jq_premium_tax + sy_premium_tax + non_car_premium_tax) as written_premium,
- sum(premium + non_copying) as total_receivable,
- sum(receivable) as total_amount_receivable
- FROM
- inv_source
- WHERE
- signing_time BETWEEN #{startTime}
- AND #{endTime}
- <if test="insuranceId != null and insuranceId != ''">
- and insurance_id = #{insuranceId}
- </if>
- GROUP BY
- insurance_id,
- insurance_name,
- DATE_FORMAT(
- signing_time,
- '%Y-%m-%d'),
- DATE_FORMAT( signing_time, '%d' )
- </select>
- <select id="getSettlementSourceResult" resultType="com.ydtech.modules.inv.model.vo.SettlementSourceDataVo">
- SELECT
- DATE_FORMAT( agency_settlement_time, '%m' ) AS DAY,
- DATE_FORMAT( agency_settlement_time, '%Y-%m' ) AS settlement_date,
- insurance_company,
- sum( jq_premium_tax + sy_premium_tax + non_car_premium_tax ) AS settlement_premium,
- sum( settlement_amount ) AS agent_commission
- FROM
- inv_settlement_source
- WHERE
- sign_date = #{signDate}
- AND
- agency_settlement_time BETWEEN #{startTime}
- AND #{endTime}
- GROUP BY
- insurance_company,
- DATE_FORMAT(
- agency_settlement_time,
- '%Y-%m'),
- DATE_FORMAT( agency_settlement_time, '%m' )
- </select>
- <select id="getInsureCompany" resultType="com.ydtech.modules.esm.model.EsmInsCompany">
- SELECT
- eic.*
- FROM
- esm_ins_company eic,
- ptl_agreement pa
- WHERE
- eic.id = pa.insurance_company_id
- GROUP BY
- eic.id
- </select>
- <select id="getMaxReceivable" resultType="HashMap">
- SELECT
- DATE_FORMAT(
- signing_time,
- '%Y-%m-%d') as yeatmonth,
- sum( receivable ) as receivable
- FROM
- inv_source
- WHERE
- signing_time BETWEEN #{startTime} and #{endTime}
- GROUP BY
- DATE_FORMAT(
- signing_time,
- '%Y-%m-%d')
- </select>
- <select id="getUnsettledProfitCalculation" resultType="HashMap">
- SELECT
- DATE_FORMAT(
- signing_time,
- '%Y-%m-%d') as yeatmonth,
- sum( receivable ) - sum(max_receivable) as unsettled_profit_calculation
- FROM
- inv_source
- WHERE
- clearing_state = 0 and
- signing_time BETWEEN '2024-01-01' and '2024-01-31'
- GROUP BY
- DATE_FORMAT(
- signing_time,
- '%Y-%m-%d')
- </select>
- <select id="getReceivableAndSettlementPage" resultType="com.ydtech.modules.inv.model.vo.ReceivableAndSettlementVo">
- SELECT
- a.operations_team,
- a.channel_classification,
- a.sign_date,
- a.channel,
- a.licenseno,
- a.insured_name,
- a.insurance_id,
- a.insurance_company,
- a.insurance_dept_id,
- a.insurance_dept,
- a.insurance_type,
- a.business_owner,
- a.jq_policy_id,
- a.jq_premium_tax,
- a.jq_premium,
- a.sy_policy_id,
- a.sy_premium_tax,
- a.sy_premium,
- a.non_car_policy_id,
- a.non_car_premium_tax,
- a.non_car_premium,
- a.agency_settlement_time,
- a.taxamount,
- a.jq_receivable_ratio,
- a.jq_premium_ratio,
- a.jq_non_copying_ratio,
- a.sy_receivable_ratio,
- a.sy_premium_ratio,
- a.sy_non_copying_ratio,
- a.non_car_receivable_ratio,
- a.non_car_premium_ratio,
- a.non_car_non_copying_ratio,
- a.premium,
- a.non_copying,
- a.receivable,
- a.subsidy_ratio,
- a.subsidy_amount,
- a.max_jq_receivable_ratio,
- a.max_sy_receivable_ratio,
- a.max_non_car_receivable_ratio,
- a.max_receivable,
- a.total_receivable_amount,
- a.settlement_amount,
- ( CASE a.clearing_state WHEN 1 THEN '已结算' WHEN 0 THEN '未结算' WHEN 2 THEN '孤儿单' END ) AS clearing_state,
- ( CASE a.insurance_clearing_state WHEN 1 THEN '已结算' WHEN 0 THEN '未结算' END ) AS insurance_clearing_state
- FROM
- (
- SELECT
- *
- FROM
- (
- SELECT
- iss.operations_team,
- iss.channel_classification,
- ivs.signing_time AS sign_date,
- iss.channel,
- ivs.licenseno,
- ivs.insured_name,
- ivs.insurance_id,
- ivs.insurance_name AS insurance_company,
- ivs.insurance_dept_id,
- ivs.insurance_dept,
- ivs.risk AS insurance_type,
- iss.business_owner,
- ivs.jq_policy_id,
- ivs.jq_premium_tax,
- ivs.jq_premium,
- ivs.sy_policy_id,
- ivs.sy_premium_tax,
- ivs.sy_premium,
- ivs.non_car_policy_id,
- ivs.non_car_premium_tax,
- ivs.non_car_premium,
- iss.agency_settlement_time,
- ivs.taxamount,
- ivs.jq_receivable_ratio,
- ivs.jq_premium_ratio,
- ivs.jq_non_copying_ratio,
- ivs.sy_receivable_ratio,
- ivs.sy_premium_ratio,
- ivs.sy_non_copying_ratio,
- ivs.non_car_receivable_ratio,
- ivs.non_car_premium_ratio,
- ivs.non_car_non_copying_ratio,
- ivs.premium,
- ivs.non_copying,
- ivs.receivable,
- ivs.subsidy_ratio,
- ivs.subsidy_amount,
- ivs.max_jq_receivable_ratio,
- ivs.max_sy_receivable_ratio,
- ivs.max_non_car_receivable_ratio,
- ivs.max_receivable,
- ivs.total_receivable_amount,
- iss.settlement_amount,
- CASE
- WHEN DATEDIFF( NOW(), signing_time ) > 90 THEN
- 2 ELSE ivs.clearing_state
- END AS clearing_state,
- insurance_clearing_state
- FROM
- inv_source ivs
- LEFT JOIN inv_settlement_source iss ON ivs.licenseno = iss.licenseno
- AND ivs.jq_policy_id = iss.jq_policy_id
- AND ivs.sy_policy_id = iss.sy_policy_id
- AND ivs.non_car_policy_id = iss.non_car_policy_id
- ) a
- ) a
- WHERE
- 1 =1
- <if test="param.signDateStartTime != null and param.signDateStartTime != ''">
- and a.sign_date between #{param.signDateStartTime} and #{param.signDateEndTime}
- </if>
- <if test="param.agencySettlementTimeStartTime != null and param.agencySettlementTimeStartTime != ''">
- and a.agency_settlement_time between #{param.agencySettlementTimeStartTime} and #{param.agencySettlementTimeEndTime}
- </if>
- <if test="param.operationsTeam != null and param.operationsTeam != ''">
- and a.operations_team = #{param.operationsTeam}
- </if>
- <if test="param.channelClassification != null and param.channelClassification != ''">
- and a.channel_classification = #{param.channelClassification}
- </if>
- <if test="param.channel != null and param.channel != ''">
- and a.channel = #{param.channel}
- </if>
- <if test="param.licenseNo != null and param.licenseNo != ''">
- and a.licenseno = #{param.licenseNo}
- </if>
- <if test="param.insuredName != null and param.insuredName != ''">
- and a.insured_name = #{param.insuredName}
- </if>
- <if test="param.insuranceId != null and param.insuranceId != ''">
- and a.insurance_id = #{param.insuranceId}
- </if>
- <if test="param.insuranceDeptId != null and param.insuranceDeptId != ''">
- and a.insurance_dept_id = #{param.insuranceDeptId}
- </if>
- <if test="param.clearingState != null and param.clearingState != ''">
- and a.clearing_state = #{param.clearingState}
- </if>
- <if test="param.insuranceClearingState != null and param.insuranceClearingState != ''">
- and a.insurance_clearing_state = #{param.insuranceClearingState}
- </if>
- <if test="param.insuranceDept != null and param.insuranceDept != ''">
- and a.insurance_dept = #{param.insuranceDept}
- </if>
- <if test="param.insuranceType != null and param.insuranceType != ''">
- and a.insurance_type = #{param.insuranceType}
- </if>
- <if test="param.jqPolicyId != null and param.jqPolicyId != ''">
- and a.jq_policy_id = #{param.jqPolicyId}
- </if>
- <if test="param.syPolicyId != null and param.syPolicyId != ''">
- and a.sy_policy_id = #{param.syPolicyId}
- </if>
- <if test="param.nonCarPolicyId != null and param.nonCarPolicyId != ''">
- and a.non_car_policy_id = #{param.nonCarPolicyId}
- </if>
- </select>
- <delete id="deleteReceivable">
- delete from inv_source
- where id in (${ids})
- </delete>
- </mapper>
|