| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- <?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,
- 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}
- <!--and insurance_id = '123'-->
- GROUP BY
- insurance_id,
- insurance_name,
- 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
- 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,
- (CASE ivs.clearing_state
- WHEN 1 THEN '已结算'
- WHEN 0 THEN '未结算'
- WHEN 3 THEN '孤儿单'
- END) as clearing_state,
- (CASE ivs.insurance_clearing_state
- WHEN 1 THEN '已结算'
- WHEN 0 THEN '未结算'
- WHEN 3 THEN '孤儿单'
- END) as 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
- WHERE
- 1=1
- <if test="param.signDateStartTime != null and param.signDateStartTime != ''">
- and iss.sign_date between #{param.signDateStartTime} and #{param.signDateEndTime}
- </if>
- <if test="param.agencySettlementTimeStartTime != null and param.agencySettlementTimeStartTime != ''">
- and iss.agency_settlement_time between #{param.agencySettlementTimeStartTime} and #{param.agencySettlementTimeEndTime}
- </if>
- <if test="param.operationsTeam != null and param.operationsTeam != ''">
- and iss.operations_team = #{param.operationsTeam}
- </if>
- <if test="param.channelClassification != null and param.channelClassification != ''">
- and iss.channel_classification = #{param.channelClassification}
- </if>
- <if test="param.channel != null and param.channel != ''">
- and iss.channel = #{param.channel}
- </if>
- <if test="param.licenseNo != null and param.licenseNo != ''">
- and iss.licenseno = #{param.licenseNo}
- </if>
- <if test="param.insuredName != null and param.insuredName != ''">
- and iss.insured_name = #{param.insuredName}
- </if>
- <if test="param.insuranceId != null and param.insuranceId != ''">
- and ivs.insurance_id = #{param.insuranceId}
- </if>
- <if test="param.insuranceDeptId != null and param.insuranceDeptId != ''">
- and ivs.insurance_dept_id = #{param.insuranceDeptId}
- </if>
- <if test="param.clearingState != null and param.clearingState != ''">
- and iss.clearing_state = #{param.clearingState}
- </if>
- </select>
- </mapper>
|