select
su.id as "userId",
su.name as "userName",
sd.id as "deptId",
su.leader_name as "leaderName",
IFNULL(a.sumpremium,0) as "sumpremium",
IFNULL(a.jqpremium,0) as "jqpremium",
IFNULL(a.sypremium,0) as "sypremium",
IFNULL(a.taxamount,0) as "taxamount",
IFNULL(a.jypremium,0) as "jypremium",
IFNULL(a.riskCodeJs,0) as "riskCodeJs",
IFNULL(a.riskCodeDj,0) as "riskCodeDj" ,
IFNULL(a.riskCodeJshang,0) as "riskCodeJshang",
IFNULL(a.riskCodeDs,0) as "riskCodeDs",
IFNULL(a.riskCodeDsan,0) as "riskCodeDsan",
sd.management_source as "managementSource",
IFNULL(IFNULL(a.entranceAllFee,0) -IFNULL(a.exportAllFee,0),0) as "distributionAmount",
(IFNULL(IFNULL(a.entranceAllFee,0) -IFNULL(a.exportAllFee,0),0)) / a.sumpremium as "distributionAmountRate"
from sys_user su
left join sys_dept sd on sd.id =su.dept_id
LEFT JOIN sys_user_role sur ON sur.user_id = su.id
left join (
select
io.userid as "userId",
sum(IFNULL(jqpremium, 0) + IFNULL(sypremium, 0)+ IFNULL(jypremium, 0)) as "sumpremium",
IFNULL(sum(jqpremium),0) as "jqpremium",
IFNULL(sum(sypremium),0) as "sypremium",
IFNULL(sum(taxamount),0) as "taxamount",
IFNULL(sum(jypremium),0) as "jypremium",
COUNT( CASE WHEN iac.product = '交三' THEN 1 END ) AS "riskCodeJs",
COUNT( CASE WHEN iac.product = '单交' THEN 1 END ) AS "riskCodeDj",
COUNT( CASE WHEN iac.product = '交商' THEN 1 END ) AS "riskCodeJshang",
COUNT( CASE WHEN iac.product = '单商' THEN 1 END ) AS "riskCodeDs",
COUNT( CASE WHEN iac.product = '单三' THEN 1 END ) AS "riskCodeDsan",
ROUND(sum(IFNULL(ifon.jq_costs_premiums,0) + IFNULL(ifon.sy_costs_premiums,0) + IFNULL
(ifon.no_costs_premiums,0)),2) as "entranceAllFee",
ROUND(sum(IFNULL(jq_export_other_costs_premiums,0) + IFNULL(jq_export_supervise_costs_premiums,0)
+IFNULL(sy_export_other_costs_premiums,0) +IFNULL(sy_export_supervise_costs_premiums,0)
+IFNULL(no_export_other_costs_premiums,0)+IFNULL(no_export_supervise_costs_premiums,0) ),2) as "exportAllFee"
from ins_area_company iac
left join ins_orders io on io.orderno =iac.orderno
left join sys_user su on su.id =io.userid
LEFT JOIN ins_fee_order_new ifon ON iac.id = ifon.ins_order_no
iac.orderstatus = '3'
AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
and su.leader_id in
#{item}
group by io.userid
) a on a.userId =su.id
1=1
and su.id=#{vo.userId}
and su.name=#{vo.userName}
and sd.management_source=#{vo.managementSource}
and su.leader_id in
#{item}
and (sur.role_id = 20 or sur.role_id = 21)
and (sur.role_id = 19 or sur.role_id = 21)
AND sd.id in
#{item}
and sd.id like concat('%',#{vo.deptId},'%')
order by a.sumpremium desc ,su.id
select
COUNT(0)
from sys_user su
left join sys_dept sd on sd.id =su.dept_id
LEFT JOIN sys_user_role sur ON sur.user_id = su.id
1=1
and su.id=#{vo.userId}
and su.leader_id in
#{item}
and su.name=#{vo.userName}
and sd.management_source=#{vo.managementSource}
AND sd.id in
#{item}
and sd.id like concat('%',#{vo.deptId},'%')
and (sur.role_id = 20 or sur.role_id = 21)
and (sur.role_id = 19 or sur.role_id = 21)
select
sum(IFNULL(jqpremium, 0) + IFNULL(sypremium, 0)+ IFNULL(jypremium, 0)) as "sumpremium",
IFNULL(sum(jqpremium),0) as "jqpremium",
IFNULL(sum(sypremium),0) as "sypremium",
IFNULL(sum(taxamount),0) as "taxamount",
IFNULL(sum(jypremium),0) as "jypremium",
ROUND(sum(IFNULL(ifon.jq_costs_premiums,0) + IFNULL(ifon.sy_costs_premiums,0) + IFNULL
(ifon.no_costs_premiums,0)),2) as "entranceAllFee",
ROUND(sum(IFNULL(jq_export_other_costs_premiums,0) + IFNULL(jq_export_supervise_costs_premiums,0)
+IFNULL(sy_export_other_costs_premiums,0) +IFNULL(sy_export_supervise_costs_premiums,0)
+IFNULL(no_export_other_costs_premiums,0)+IFNULL(no_export_supervise_costs_premiums,0) ),2) as "exportAllFee"
from ins_area_company iac
left join ins_orders io on io.orderno =iac.orderno
left join sys_user su on io.userid =su.id
left join sys_dept sd on sd.id =su.dept_id
LEFT JOIN ins_fee_order_new ifon ON iac.id = ifon.ins_order_no
iac.orderstatus = '3'
AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
and iac.createtime >= DATE_SUB(NOW(), INTERVAL #{vo.days} DAY)
and su.name=#{vo.userName}
and su.id=#{vo.userId}
and su.leader_id in
#{item}
and io.deptid like concat('%',#{vo.deptId},'%')
and sd.management_source=#{vo.managementSource}
AND io.deptid in
#{item}
select
sum(IFNULL(iac.jqpremium, 0) + IFNULL(iac.sypremium, 0)+ IFNULL(iac.jypremium, 0)) as "sumpremium"
from ins_area_company iac
left join ins_orders io on io.orderno =iac.orderno
left join sys_user su on io.userid =su.id
left join sys_dept sd on sd.id =su.dept_id
1=1
and iac.orderstatus ='3'
AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
and su.name=#{vo.userName}
and su.id=#{vo.userId}
and su.id in
#{item}
AND io.deptid in
#{item}
select
a.insurance_company as "insuranceCompany",
(IFNULL(a.jqpremium, 0) + IFNULL(a.sypremium, 0)+ IFNULL(a.jypremium, 0)) as "sumpremium",
a.jqpremium as "jqpremium",
a.sypremium as "sypremium",
a.taxamount as "taxamount",
a.jypremium as "jypremium",
eic.namesimple as "partnerCompaniesName",
eic.logo as "logo",
a.userId as "userId",
a.userName as "userName"
from (select pa.insurance_company,
pa.partner_companies_id,
su.id as "userId",
su.name as "userName",
IFNULL(sum(sumpremium), 0) as "sumpremium",
IFNULL(sum(jqpremium), 0) as "jqpremium",
IFNULL(sum(sypremium), 0) as "sypremium",
IFNULL(sum(taxamount), 0) as "taxamount",
IFNULL(sum(jypremium), 0) as "jypremium"
from ins_area_company iac
left join ins_orders io on io.orderno = iac.orderno
left join ptl_agreement pa on pa.id = iac.agreement_id
left join sys_user su on io.userid =su.id
left join sys_dept sd on sd.id =su.dept_id
LEFT JOIN esm_ins_company eic on eic.id = pa.partner_companies_id
iac.orderstatus = '3'
and io.orderstatus = '3'
and su.id=#{vo.userId}
AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
and sd.management_source=#{vo.managementSource}
and su.id in
#{item}
group by pa.insurance_company, pa.partner_companies_id ,su.id,su.name) a
LEFT JOIN esm_ins_company eic ON eic.id = a.partner_companies_id
select
count(0)
from (select pa.insurance_company,
pa.partner_companies_id
from ins_area_company iac
left join ins_orders io on io.orderno = iac.orderno
left join ptl_agreement pa on pa.id = iac.agreement_id
left join sys_user su on io.userid =su.id
iac.orderstatus = '3'
and io.orderstatus = '3'
and su.id=#{vo.userId}
AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
and sd.management_source=#{vo.managementSource}
group by pa.insurance_company, pa.partner_companies_id) a
SELECT
iac.inscompany,
COUNT( CASE WHEN iot.order_status = '0' THEN 1 END ) AS qutationCount,
COUNT( CASE WHEN iot.order_status = '2' THEN 1 END ) AS underwritingCount,
COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) AS qutationInsureCount,
COUNT( CASE WHEN iot.order_status = '4' THEN 1 END ) AS underwritingReturn,
COUNT( CASE WHEN iot.order_status = '2' THEN 1 END ) / COUNT( CASE WHEN iot.order_status = '0' THEN 1 END ) AS "passingRate",
COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) / COUNT( CASE WHEN iot.order_status in ('0','1','2','3','4') THEN 1 END ) AS "closeRate",
(COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) + COUNT( CASE WHEN iot.order_status = '2' THEN 1 END ))/ COUNT(
CASE WHEN iot.order_status in ('0','1','2','3','4') THEN 1 END ) AS "contributionRate",
COUNT( CASE WHEN iot.order_status = '0' THEN 1 END ) / COUNT( CASE WHEN iot.order_status in ('0','1','2','3','4') THEN 1 END ) AS "quotationRate",
COUNT(CASE WHEN io.order_source = 0 and iot.order_status = '0' THEN 1 END) as "pcOrderSource",
COUNT(CASE WHEN io.order_source = 1 and iot.order_status = '0' THEN 1 END) as "appOrderSource",
COUNT( CASE WHEN iot.order_status = '1' THEN 1 END ) AS "auditOrder"
FROM
(
select iot.suborder,iot.order_status from `ins_orders_track` iot
GROUP BY iot.suborder ,iot.order_status
) iot
left join ins_area_company iac ON iac.id = iot.suborder
LEFT JOIN ins_orders io ON io.orderno = iac.orderno
LEFT JOIN sys_dept sd ON sd.id = io.deptid
1=1
and io.deptid like "${taskStatisticsVo.provinceId}%"
and io.deptid like "${taskStatisticsVo.cityId}%"
and io.deptid like "${taskStatisticsVo.countyId}%"
and io.deptid like "${taskStatisticsVo.houseId}%"
and io.userid =#{taskStatisticsVo.userId}
and sd.management_source =#{taskStatisticsVo.managementSource}
AND DATE_FORMAT( ica.signing_time, '%Y-%m-%d') BETWEEN #{taskStatisticsVo.createtimeStart} AND
#{taskStatisticsVo.createtimeEnd}
AND DATE_FORMAT( iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT( #{taskStatisticsVo.beginDate},
'%Y-%m-%d') AND DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
GROUP BY
iac.inscompany
SELECT
io.orderno AS "order_no",
io.licenseno AS "car_num",
su.id AS "user_id",
su.name AS "user_name",
IFNULL(SUM(iac.jqpremium), 0) AS "jq_premium",
IFNULL(SUM(iac.sypremium), 0) AS "sy_premium",
IFNULL(SUM(iac.taxamount), 0) AS "tax_amount",
IFNULL(SUM(iac.jypremium), 0) AS "jy_premium",
(IFNULL(SUM(iac.jqpremium), 0) + IFNULL(SUM(iac.sypremium), 0) + IFNULL(SUM(iac.jypremium), 0)) AS "sum_premium",
SUM(IFNULL(ifon.jq_costs_premiums, 0) + IFNULL(ifon.sy_costs_premiums, 0) + IFNULL(ifon.no_costs_premiums, 0)) AS "entrance_all_fee",
SUM(IFNULL(ifon.jq_export_other_costs_premiums, 0) + IFNULL(ifon.jq_export_supervise_costs_premiums, 0)
+ IFNULL(ifon.sy_export_other_costs_premiums, 0) + IFNULL(ifon.sy_export_supervise_costs_premiums, 0)
+ IFNULL(ifon.no_export_other_costs_premiums, 0) + IFNULL(ifon.no_export_supervise_costs_premiums, 0)) AS "export_all_fee"
FROM ins_area_company iac
LEFT JOIN ins_orders io ON io.orderno = iac.orderno
LEFT JOIN sys_user su ON io.userid = su.id
LEFT JOIN ins_fee_order_new ifon ON iac.id = ifon.ins_order_no
iac.orderstatus = '3'
AND su.id = #{vo.userId}
AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d')
AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d')
AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
GROUP BY
io.orderno
SELECT
COUNT(*) AS `total`,
IFNULL(SUM(a.jq_premium), 0) AS `jq_premium`,
IFNULL(SUM(a.sy_premium), 0) AS `sy_premium`,
IFNULL(SUM(a.jy_premium), 0) AS `jy_premium`,
IFNULL(SUM(a.tax_amount), 0) AS `tax_amount`,
SUM(IFNULL(a.jq_premium, 0) + IFNULL(a.sy_premium, 0) + IFNULL(a.jy_premium, 0)) AS `sum_premium`,
ROUND(IFNULL(SUM(a.entrance_all_fee),0),2) AS `entrance_all_fee`,
ROUND(IFNULL(SUM(a.export_all_fee),0),2) AS `export_all_fee`
FROM (
iac.orderstatus = '3'
AND su.id = #{vo.userId}
AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d')
AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d')
AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
GROUP BY
io.orderno) a