|
|
@@ -2,44 +2,54 @@
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
<mapper namespace="com.ydtech.modules.largescreen.dao.AgreementDataMapper">
|
|
|
|
|
|
- <select id="getCompanySumData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="com.ydtech.modules.largescreen.model.AgreementData">
|
|
|
+ <select id="getCompanySumData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
|
|
|
+ resultType="com.ydtech.modules.largescreen.model.AgreementData">
|
|
|
SELECT
|
|
|
- pa.insurance_company_id,
|
|
|
- pa.insurance_company,
|
|
|
- COALESCE(SUM(jqpremium), 0) AS jqPremium,
|
|
|
- COALESCE(SUM(sypremium), 0) AS syPremium,
|
|
|
- COALESCE(SUM(taxamount), 0) AS taxPremium,
|
|
|
- COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
|
|
|
- COALESCE(COUNT(iac.id), 0) as sumOrderNum
|
|
|
+ pa.insurance_company_id,
|
|
|
+ pa.insurance_company,
|
|
|
+ COALESCE(SUM(jqpremium), 0) AS jqPremium,
|
|
|
+ COALESCE(SUM(sypremium), 0) AS syPremium,
|
|
|
+ COALESCE(SUM(taxamount), 0) AS taxPremium,
|
|
|
+ COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
|
|
|
+ COALESCE(COUNT(iac.id), 0) as sumOrderNum
|
|
|
FROM
|
|
|
- ptl_agreement pa
|
|
|
- LEFT JOIN
|
|
|
- ins_area_company iac on iac.agreement_id = pa.id
|
|
|
-<!-- <if test="orderStatus != null and orderStatus != ''">-->
|
|
|
-<!-- and iac.orderstatus = #{orderStatus}-->
|
|
|
-<!-- </if>-->
|
|
|
- where iac.orderstatus = 3
|
|
|
- <if test="startDate != null and startDate != ''">
|
|
|
- and iac.createtime BETWEEN #{startDate} and #{endDate}
|
|
|
- </if>
|
|
|
+ ptl_agreement pa
|
|
|
+ LEFT JOIN
|
|
|
+ ins_area_company iac on iac.agreement_id = pa.id
|
|
|
+ <!-- <if test="orderStatus != null and orderStatus != ''">-->
|
|
|
+ <!-- and iac.orderstatus = #{orderStatus}-->
|
|
|
+ <!-- </if>-->
|
|
|
+ where iac.orderstatus = 3
|
|
|
+ <if test="startDate != null and startDate != ''">
|
|
|
+ and iac.createtime BETWEEN #{startDate} and #{endDate}
|
|
|
+ </if>
|
|
|
GROUP BY
|
|
|
- pa.insurance_company_id, pa.insurance_company
|
|
|
+ pa.insurance_company_id, pa.insurance_company
|
|
|
order by
|
|
|
- sumPremium desc
|
|
|
+ sumPremium desc
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getPtlInsuranceCompany" resultType="com.ydtech.modules.largescreen.model.dto.PtlInsuranceCompanyDTO">
|
|
|
+ SELECT insurance_company_id as insuranceCompanyId,
|
|
|
+ insurance_company as insuranceCompany
|
|
|
+ FROM ptl_agreement
|
|
|
+ GROUP BY insurance_company_id, insurance_company;
|
|
|
</select>
|
|
|
|
|
|
- <select id="getOrderStatusData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="com.ydtech.modules.largescreen.model.OrderStatusData">
|
|
|
+
|
|
|
+ <select id="getOrderStatusData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
|
|
|
+ resultType="com.ydtech.modules.largescreen.model.OrderStatusData">
|
|
|
SELECT
|
|
|
- iac.orderstatus as orderStatusCode,
|
|
|
- COALESCE(SUM(jqpremium), 0) AS jqPremium,
|
|
|
- COALESCE(SUM(sypremium), 0) AS syPremium,
|
|
|
- COALESCE(SUM(taxamount), 0) AS taxPremium,
|
|
|
- COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
|
|
|
- COALESCE(COUNT(iac.id), 0) as sumOrderNum
|
|
|
+ iac.orderstatus as orderStatusCode,
|
|
|
+ COALESCE(SUM(jqpremium), 0) AS jqPremium,
|
|
|
+ COALESCE(SUM(sypremium), 0) AS syPremium,
|
|
|
+ COALESCE(SUM(taxamount), 0) AS taxPremium,
|
|
|
+ COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
|
|
|
+ COALESCE(COUNT(iac.id), 0) as sumOrderNum
|
|
|
FROM
|
|
|
- ins_area_company iac
|
|
|
+ ins_area_company iac
|
|
|
WHERE
|
|
|
- 1=1
|
|
|
+ 1=1
|
|
|
<if test="orderStatus != null and orderStatus != ''">
|
|
|
and iac.orderstatus = #{orderStatus}
|
|
|
</if>
|
|
|
@@ -50,48 +60,50 @@
|
|
|
and iac.company_id = #{companyId}
|
|
|
</if>
|
|
|
GROUP BY
|
|
|
- iac.orderstatus
|
|
|
+ iac.orderstatus
|
|
|
order by
|
|
|
- sumPremium desc
|
|
|
+ sumPremium desc
|
|
|
</select>
|
|
|
|
|
|
- <select id="getMapData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="com.ydtech.modules.largescreen.model.MapData">
|
|
|
+ <select id="getMapData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
|
|
|
+ resultType="com.ydtech.modules.largescreen.model.MapData">
|
|
|
SELECT
|
|
|
- sd.id as deptId,
|
|
|
- sd.NAME as deptName,
|
|
|
- sd.city as areaId,
|
|
|
- COALESCE(SUM(jqpremium), 0) AS jqPremium,
|
|
|
- COALESCE(SUM(sypremium), 0) AS syPremium,
|
|
|
- COALESCE(SUM(taxamount), 0) AS taxPremium,
|
|
|
- COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
|
|
|
- COALESCE(COUNT(iac.id), 0) as sumOrderNum
|
|
|
+ sd.id as deptId,
|
|
|
+ sd.NAME as deptName,
|
|
|
+ sd.city as areaId,
|
|
|
+ COALESCE(SUM(jqpremium), 0) AS jqPremium,
|
|
|
+ COALESCE(SUM(sypremium), 0) AS syPremium,
|
|
|
+ COALESCE(SUM(taxamount), 0) AS taxPremium,
|
|
|
+ COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
|
|
|
+ COALESCE(COUNT(iac.id), 0) as sumOrderNum
|
|
|
FROM
|
|
|
- sys_dept sd
|
|
|
- LEFT JOIN
|
|
|
- ins_orders io on (io.userid like CONCAT(sd.id,'%') or io.operatorid = CONCAT(sd.id,'%')) and orderstatus = 3
|
|
|
- LEFT JOIN
|
|
|
- ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
|
|
|
+ sys_dept sd
|
|
|
+ LEFT JOIN
|
|
|
+ ins_orders io on (io.userid like CONCAT(sd.id,'%') or io.operatorid = CONCAT(sd.id,'%')) and orderstatus = 3
|
|
|
+ LEFT JOIN
|
|
|
+ ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
|
|
|
WHERE
|
|
|
- sd.comlevel = 3
|
|
|
- <if test="startDate != null and startDate != ''">
|
|
|
- and iac.createtime BETWEEN #{startDate} and #{endDate}
|
|
|
- </if>
|
|
|
+ sd.comlevel = 3
|
|
|
+ <if test="startDate != null and startDate != ''">
|
|
|
+ and iac.createtime BETWEEN #{startDate} and #{endDate}
|
|
|
+ </if>
|
|
|
AND
|
|
|
- sd.id != 9991401
|
|
|
+ sd.id != 9991401
|
|
|
group by
|
|
|
- sd.id
|
|
|
+ sd.id
|
|
|
order by
|
|
|
- sumPremium desc
|
|
|
+ sumPremium desc
|
|
|
</select>
|
|
|
|
|
|
|
|
|
- <select id="getOrderNumber" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="Integer">
|
|
|
+ <select id="getOrderNumber" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
|
|
|
+ resultType="Integer">
|
|
|
SELECT
|
|
|
- count( orderno )
|
|
|
+ count( orderno )
|
|
|
FROM
|
|
|
ins_orders
|
|
|
WHERE
|
|
|
- 1=1
|
|
|
+ 1=1
|
|
|
<if test="startDate != null and startDate != ''">
|
|
|
and createtime BETWEEN #{startDate} and #{endDate}
|
|
|
</if>
|
|
|
@@ -99,100 +111,98 @@
|
|
|
|
|
|
|
|
|
<select id="getCompanys" resultType="com.ydtech.modules.largescreen.model.CompanyData">
|
|
|
- SELECT
|
|
|
- insurance_company_id AS company_id,
|
|
|
- insurance_company AS company_name
|
|
|
- FROM
|
|
|
- ptl_agreement
|
|
|
- GROUP BY
|
|
|
- insurance_company_id,
|
|
|
- insurance_company
|
|
|
+ SELECT insurance_company_id AS company_id,
|
|
|
+ insurance_company AS company_name
|
|
|
+ FROM ptl_agreement
|
|
|
+ GROUP BY insurance_company_id,
|
|
|
+ insurance_company
|
|
|
</select>
|
|
|
|
|
|
<select id="getAgreements" resultType="com.ydtech.modules.largescreen.model.Agreement">
|
|
|
- SELECT
|
|
|
- id,
|
|
|
- insurance_company_id as company_id,
|
|
|
- agreement_code,
|
|
|
- agreement_name
|
|
|
- FROM
|
|
|
- ptl_agreement
|
|
|
+ SELECT id,
|
|
|
+ insurance_company_id as company_id,
|
|
|
+ agreement_code,
|
|
|
+ agreement_name
|
|
|
+ FROM ptl_agreement
|
|
|
</select>
|
|
|
|
|
|
<select id="getCompanyDataById" resultType="com.ydtech.modules.largescreen.model.CompanyInfoData">
|
|
|
SELECT
|
|
|
- jqpremium,
|
|
|
- COALESCE ( COUNT( iac.id ), 0 ) AS sumOrderNum ,
|
|
|
- COALESCE ( SUM( jqpremium ), 0 ) AS jqSumPremium,
|
|
|
- COALESCE ( SUM( sypremium ), 0 ) AS sySumPremium,
|
|
|
- COALESCE ( SUM( taxamount ), 0 ) AS taxSumPremium
|
|
|
+ jqpremium,
|
|
|
+ COALESCE ( COUNT( iac.id ), 0 ) AS sumOrderNum ,
|
|
|
+ COALESCE ( SUM( jqpremium ), 0 ) AS jqSumPremium,
|
|
|
+ COALESCE ( SUM( sypremium ), 0 ) AS sySumPremium,
|
|
|
+ COALESCE ( SUM( taxamount ), 0 ) AS taxSumPremium
|
|
|
|
|
|
FROM
|
|
|
- ins_orders io
|
|
|
- left join
|
|
|
- ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
|
|
|
- <if test="startDate != null and startDate != ''">
|
|
|
- and iac.createtime BETWEEN #{startDate} and #{endDate}
|
|
|
- </if>
|
|
|
+ ins_orders io
|
|
|
+ left join
|
|
|
+ ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
|
|
|
+ <if test="startDate != null and startDate != ''">
|
|
|
+ and iac.createtime BETWEEN #{startDate} and #{endDate}
|
|
|
+ </if>
|
|
|
WHERE
|
|
|
- io.company_id = #{companyId}
|
|
|
- AND
|
|
|
- productid= #{productId}
|
|
|
+ io.company_id = #{companyId}
|
|
|
+ AND
|
|
|
+ productid= #{productId}
|
|
|
GROUP BY
|
|
|
- jqpremium
|
|
|
+ jqpremium
|
|
|
ORDER BY
|
|
|
- jqpremium desc
|
|
|
+ jqpremium desc
|
|
|
</select>
|
|
|
|
|
|
- <select id="insuranceCompanyBusinessSituation" resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
|
|
|
+ <select id="insuranceCompanyBusinessSituation"
|
|
|
+ resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
|
|
|
SELECT
|
|
|
- ivs.insurance_id,
|
|
|
- ivs.insurance_name,
|
|
|
- ivs.insurance_dept,
|
|
|
- SUM(ivs.jq_premium) AS jq_premium,
|
|
|
- SUM(ivs.sy_premium) AS sy_premium,
|
|
|
- SUM(ivs.non_car_premium) AS non_car_premium,
|
|
|
- SUM(ivs.jq_premium * ivs.jq_premium_ratio) AS jq_commission,
|
|
|
- SUM(ivs.sy_premium * ivs.sy_premium_ratio) AS sy_commission,
|
|
|
- SUM(ivs.non_car_premium * ivs.non_car_premium_ratio) AS non_car_commission,
|
|
|
- SUM(ivs.jq_premium * ivs.jq_receivable_ratio) AS jq_receivable_commission,
|
|
|
- SUM(ivs.sy_premium * ivs.sy_receivable_ratio) AS sy_receivable_commission,
|
|
|
- SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio) AS non_car_receivable_commission,
|
|
|
- SUM(COALESCE(iss.subsidy_amount, 0)) as subsidy_amount,
|
|
|
- SUM(ivs.jq_premium * iss.compulsory_export_ratio) AS jq_compulsory_premium,
|
|
|
- SUM(ivs.sy_premium * iss.commercial_export_ratio) AS sy_compulsory_premium,
|
|
|
- SUM(ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_compulsory_premium,
|
|
|
- SUM(ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) AS jq_profit,
|
|
|
- SUM(ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) AS sy_profit,
|
|
|
- SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_profit,
|
|
|
- SUM(
|
|
|
- (ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) +
|
|
|
- (ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) +
|
|
|
- (ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) +
|
|
|
- iss.subsidy_amount
|
|
|
- ) AS profit
|
|
|
+ ivs.insurance_id,
|
|
|
+ ivs.insurance_name,
|
|
|
+ ivs.insurance_dept,
|
|
|
+ SUM(ivs.jq_premium) AS jq_premium,
|
|
|
+ SUM(ivs.sy_premium) AS sy_premium,
|
|
|
+ SUM(ivs.non_car_premium) AS non_car_premium,
|
|
|
+ SUM(ivs.jq_premium * ivs.jq_premium_ratio) AS jq_commission,
|
|
|
+ SUM(ivs.sy_premium * ivs.sy_premium_ratio) AS sy_commission,
|
|
|
+ SUM(ivs.non_car_premium * ivs.non_car_premium_ratio) AS non_car_commission,
|
|
|
+ SUM(ivs.jq_premium * ivs.jq_receivable_ratio) AS jq_receivable_commission,
|
|
|
+ SUM(ivs.sy_premium * ivs.sy_receivable_ratio) AS sy_receivable_commission,
|
|
|
+ SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio) AS non_car_receivable_commission,
|
|
|
+ SUM(COALESCE(iss.subsidy_amount, 0)) as subsidy_amount,
|
|
|
+ SUM(ivs.jq_premium * iss.compulsory_export_ratio) AS jq_compulsory_premium,
|
|
|
+ SUM(ivs.sy_premium * iss.commercial_export_ratio) AS sy_compulsory_premium,
|
|
|
+ SUM(ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_compulsory_premium,
|
|
|
+ SUM(ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) AS jq_profit,
|
|
|
+ SUM(ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) AS sy_profit,
|
|
|
+ SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS
|
|
|
+ non_car_profit,
|
|
|
+ SUM(
|
|
|
+ (ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) +
|
|
|
+ (ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) +
|
|
|
+ (ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) +
|
|
|
+ iss.subsidy_amount
|
|
|
+ ) AS profit
|
|
|
FROM
|
|
|
- inv_source ivs
|
|
|
- LEFT JOIN
|
|
|
- inv_settlement_source iss ON iss.licenseno = ivs.licenseno
|
|
|
+ inv_source ivs
|
|
|
+ LEFT JOIN
|
|
|
+ inv_settlement_source iss ON iss.licenseno = ivs.licenseno
|
|
|
WHERE
|
|
|
- 1=1
|
|
|
- <if test="insuranceDept != null and insuranceDept != ''">
|
|
|
- AND ivs.insurance_dept like ('%${insuranceDept}%')
|
|
|
- </if>
|
|
|
- <if test="signStartTime != null and signEndTime != ''">
|
|
|
- and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
|
|
|
- </if>
|
|
|
- <if test="insuranceId != null and insuranceId != ''">
|
|
|
- AND ivs.insurance_id = #{insuranceId}
|
|
|
- </if>
|
|
|
+ 1=1
|
|
|
+ <if test="insuranceDept != null and insuranceDept != ''">
|
|
|
+ AND ivs.insurance_dept like ('%${insuranceDept}%')
|
|
|
+ </if>
|
|
|
+ <if test="signStartTime != null and signEndTime != ''">
|
|
|
+ and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
|
|
|
+ </if>
|
|
|
+ <if test="insuranceId != null and insuranceId != ''">
|
|
|
+ AND ivs.insurance_id = #{insuranceId}
|
|
|
+ </if>
|
|
|
GROUP BY
|
|
|
- ivs.insurance_id,
|
|
|
- ivs.insurance_name,
|
|
|
- ivs.insurance_dept
|
|
|
+ ivs.insurance_id,
|
|
|
+ ivs.insurance_name,
|
|
|
+ ivs.insurance_dept
|
|
|
</select>
|
|
|
|
|
|
- <select id="channelBusinessSituation" resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
|
|
|
+ <select id="channelBusinessSituation"
|
|
|
+ resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
|
|
|
SELECT
|
|
|
ivs.insurance_id,
|
|
|
ivs.insurance_name,
|
|
|
@@ -213,7 +223,8 @@
|
|
|
SUM(ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_compulsory_premium,
|
|
|
SUM(ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) AS jq_profit,
|
|
|
SUM(ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) AS sy_profit,
|
|
|
- SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_profit,
|
|
|
+ SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS
|
|
|
+ non_car_profit,
|
|
|
SUM(
|
|
|
(ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) +
|
|
|
(ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) +
|
|
|
@@ -248,53 +259,63 @@
|
|
|
|
|
|
<select id="channelSettlement" resultType="com.ydtech.modules.largescreen.model.ChannelSettlements">
|
|
|
SELECT
|
|
|
- ivs.insurance_id,
|
|
|
- insurance_name,
|
|
|
- insurance_dept,
|
|
|
- SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN jq_premium * max_jq_receivable_ratio ELSE 0 END ) AS jq_receivable_commission,
|
|
|
- SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN sy_premium * max_sy_receivable_ratio ELSE 0 END ) AS sy_receivable_commission,
|
|
|
- SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN non_car_premium * max_non_car_receivable_ratio ELSE 0 END ) AS non_car_receivable_commission,
|
|
|
- SUM( CASE WHEN clearing_state_over = 1 THEN ivs.jq_premium * iss.compulsory_export_ratio ELSE 0 END ) AS jq_compulsory_premium,
|
|
|
- SUM( CASE WHEN clearing_state_over = 1 THEN ivs.sy_premium * iss.commercial_export_ratio ELSE 0 END ) AS sy_compulsory_premium,
|
|
|
- SUM( CASE WHEN clearing_state_over = 1 THEN ivs.non_car_premium * iss.non_vehicle_export_ratio ELSE 0 END ) AS non_car_compulsory_premium,
|
|
|
- SUM( CASE WHEN clearing_state_over = 0 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS jq_profit,
|
|
|
- SUM( CASE WHEN clearing_state_over = 0 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS sy_profit,
|
|
|
- SUM( CASE WHEN clearing_state_over = 0 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END ) AS non_car_profit,
|
|
|
- SUM( CASE WHEN clearing_state_over = 2 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS jq_orphan_profit,
|
|
|
- SUM( CASE WHEN clearing_state_over = 2 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS sy_orphan_profit,
|
|
|
- SUM( CASE WHEN clearing_state_over = 2 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END ) AS non_car_orphan_profit
|
|
|
+ ivs.insurance_id,
|
|
|
+ insurance_name,
|
|
|
+ insurance_dept,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN jq_premium *
|
|
|
+ max_jq_receivable_ratio ELSE 0 END ) AS jq_receivable_commission,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN sy_premium *
|
|
|
+ max_sy_receivable_ratio ELSE 0 END ) AS sy_receivable_commission,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN
|
|
|
+ non_car_premium * max_non_car_receivable_ratio ELSE 0 END ) AS non_car_receivable_commission,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 1 THEN ivs.jq_premium * iss.compulsory_export_ratio ELSE 0 END ) AS
|
|
|
+ jq_compulsory_premium,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 1 THEN ivs.sy_premium * iss.commercial_export_ratio ELSE 0 END ) AS
|
|
|
+ sy_compulsory_premium,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 1 THEN ivs.non_car_premium * iss.non_vehicle_export_ratio ELSE 0 END ) AS
|
|
|
+ non_car_compulsory_premium,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 0 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS
|
|
|
+ jq_profit,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 0 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS
|
|
|
+ sy_profit,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 0 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END )
|
|
|
+ AS non_car_profit,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 2 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS
|
|
|
+ jq_orphan_profit,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 2 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS
|
|
|
+ sy_orphan_profit,
|
|
|
+ SUM( CASE WHEN clearing_state_over = 2 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END )
|
|
|
+ AS non_car_orphan_profit
|
|
|
FROM
|
|
|
- ( SELECT *, CASE WHEN DATEDIFF( NOW(), signing_time ) > 90 THEN 2 ELSE inv_source.clearing_state END AS clearing_state_over FROM inv_source ) ivs
|
|
|
- LEFT JOIN inv_settlement_source iss ON ivs.licenseno = iss.licenseno
|
|
|
+ ( SELECT *, CASE WHEN DATEDIFF( NOW(), signing_time ) > 90 THEN 2 ELSE inv_source.clearing_state END AS
|
|
|
+ clearing_state_over FROM inv_source ) ivs
|
|
|
+ LEFT JOIN inv_settlement_source iss ON ivs.licenseno = iss.licenseno
|
|
|
WHERE
|
|
|
- 1=1
|
|
|
- <if test="insuranceDept != null and insuranceDept != ''">
|
|
|
- AND ivs.insurance_dept like ('%${insuranceDept}%')
|
|
|
- </if>
|
|
|
- <if test="signStartTime != null and signEndTime != ''">
|
|
|
- and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
|
|
|
- </if>
|
|
|
- <if test="insuranceId != null and insuranceId != ''">
|
|
|
- AND ivs.insurance_id = #{insuranceId}
|
|
|
- </if>
|
|
|
+ 1=1
|
|
|
+ <if test="insuranceDept != null and insuranceDept != ''">
|
|
|
+ AND ivs.insurance_dept like ('%${insuranceDept}%')
|
|
|
+ </if>
|
|
|
+ <if test="signStartTime != null and signEndTime != ''">
|
|
|
+ and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
|
|
|
+ </if>
|
|
|
+ <if test="insuranceId != null and insuranceId != ''">
|
|
|
+ AND ivs.insurance_id = #{insuranceId}
|
|
|
+ </if>
|
|
|
group by ivs.insurance_id,insurance_name,insurance_dept
|
|
|
</select>
|
|
|
|
|
|
- <select id="getTotalReceivableAmount" resultType="com.ydtech.modules.largescreen.model.InvInsuranceCompanySettlements">
|
|
|
- SELECT
|
|
|
- insurance_id,
|
|
|
- insurance_name,
|
|
|
- insurance_dept,
|
|
|
- sum( total_receivable_amount ) AS amount_receivable
|
|
|
- FROM
|
|
|
- inv_source
|
|
|
- WHERE
|
|
|
- signing_time BETWEEN #{startTime}
|
|
|
- AND #{endTime}
|
|
|
- GROUP BY
|
|
|
- insurance_id,
|
|
|
- insurance_name,
|
|
|
- insurance_dept
|
|
|
+ <select id="getTotalReceivableAmount"
|
|
|
+ resultType="com.ydtech.modules.largescreen.model.InvInsuranceCompanySettlements">
|
|
|
+ SELECT insurance_id,
|
|
|
+ insurance_name,
|
|
|
+ insurance_dept,
|
|
|
+ sum(total_receivable_amount) AS amount_receivable
|
|
|
+ FROM inv_source
|
|
|
+ WHERE signing_time BETWEEN #{startTime}
|
|
|
+ AND #{endTime}
|
|
|
+ GROUP BY insurance_id,
|
|
|
+ insurance_name,
|
|
|
+ insurance_dept
|
|
|
</select>
|
|
|
|
|
|
</mapper>
|