|
|
@@ -69,9 +69,19 @@
|
|
|
|
|
|
<select id="getReceivableList" resultType="com.jzg.commons.entity.finance.po.InsPlyIncome">
|
|
|
SELECT
|
|
|
- *
|
|
|
+ *,
|
|
|
+ (ipi.jq_receivable_premium + ipi.sy_receivable_premium + ipi.jy_receivable_premium) as receivableAmount, -- 总应收金额
|
|
|
+ (ipi.jq_supervise_costs_premiums + ipi.sy_supervise_costs_premiums + ipi.jy_supervise_costs_premiums) as superviseCostsPremiums, -- 总应收手续费
|
|
|
+ iocui.name AS insuredPerson,
|
|
|
+ ior1.start_date as jqStartDate,
|
|
|
+ ior2.start_date as syStartDate,
|
|
|
+ io.product_name AS productName
|
|
|
FROM
|
|
|
ins_ply_income ipi
|
|
|
+ LEFT JOIN ins_orders io ON ipi.order_no = io.id
|
|
|
+ LEFT JOIN ins_orders_car_user_info iocui ON ipi.order_no = iocui.order_no and iocui.policy_person_type = '3'
|
|
|
+ LEFT JOIN ins_orders_risk ior1 ON ipi.order_no = ior1.order_no and ior1.risk_code = '0507'
|
|
|
+ LEFT JOIN ins_orders_risk ior2 ON ipi.order_no = ior2.order_no and ior2.risk_code = '0510'
|
|
|
WHERE
|
|
|
1=1
|
|
|
AND NOT EXISTS ( SELECT 1 FROM ins_ply_income_invoice_link ipil WHERE ipil.income_id = ipi.id )
|
|
|
@@ -93,6 +103,12 @@
|
|
|
<if test="receivableQueryVo.orderNo != null and receivableQueryVo.orderNo != ''">
|
|
|
AND ipi.order_no = #{receivableQueryVo.orderNo}
|
|
|
</if>
|
|
|
+ <if test="receivableQueryVo.orderNos != null and receivableQueryVo.orderNos != ''">
|
|
|
+ AND ipi.order_no IN
|
|
|
+ <foreach collection="receivableQueryVo.orderNos" item="orderNo" open="(" separator="," close=")">
|
|
|
+ #{orderNo}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
<if test="receivableQueryVo.agreementId != null and receivableQueryVo.agreementId != ''">
|
|
|
AND ipi.agreement_id = #{receivableQueryVo.agreementId}
|
|
|
</if>
|
|
|
@@ -105,8 +121,471 @@
|
|
|
<if test="receivableQueryVo.signingTimeStart != null and receivableQueryVo.signingTimeStart != ''">
|
|
|
AND ipi.signing_time between #{receivableQueryVo.signingTimeStart} and #{receivableQueryVo.signingTimeEnd}
|
|
|
</if>
|
|
|
+ </select>
|
|
|
|
|
|
+ <select id="getSuperviseJyExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportSuperviseJyExcelDto">
|
|
|
+ SELECT
|
|
|
+ ipi.signing_time as signingTime,
|
|
|
+ ipi.order_no as orderNo,
|
|
|
+ ipi.company_name as companyName,
|
|
|
+ ipi.dept_name as deptName,
|
|
|
+ ipi.agreement_name as agreementName,
|
|
|
+ io.entry_status as entryStatus,
|
|
|
+ ipi.license_no as licenseNo,
|
|
|
+ (ipi.jq_receivable_premium + ipi.sy_receivable_premium + ipi.jy_receivable_premium) as receivableAmount,
|
|
|
+ ipi.product_name as productName,
|
|
|
+ iocui.name AS insuredPerson,
|
|
|
+ ipi.jy_premium as jqPremium,
|
|
|
+ ipi.jy_supervise_costs_proportion as jqSuperviseCostsProportion,
|
|
|
+ ipi.jy_policy_no as jyPolicyNo,
|
|
|
+ ior1.start_date as jqStartDate,
|
|
|
+ ior2.start_date as syStartDate,
|
|
|
+ ipi.create_time as createTime,
|
|
|
+ ipi.contact_person as contactPerson
|
|
|
+ FROM
|
|
|
+ ins_ply_income ipi
|
|
|
+ LEFT JOIN ins_orders io ON ipi.order_no = io.id
|
|
|
+ LEFT JOIN ins_orders_car_user_info iocui ON ipi.order_no = iocui.order_no and iocui.policy_person_type = '3'
|
|
|
+ LEFT JOIN ins_orders_risk ior1 ON ipi.order_no = ior1.order_no and ior1.risk_code = '0507'
|
|
|
+ LEFT JOIN ins_orders_risk ior2 ON ipi.order_no = ior2.order_no and ior2.risk_code = '0510'
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ AND NOT EXISTS ( SELECT 1 FROM ins_ply_income_invoice_link ipil WHERE ipil.income_id = ipi.id )
|
|
|
+ <if test="receivableQueryVo.queryType != null and receivableQueryVo.queryType == 1">
|
|
|
+ AND ipi.supervise_settlement = 0
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.queryType!= null and receivableQueryVo.queryType == 2">
|
|
|
+ AND ipi.other_settlement = 1
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.queryType!= null and (receivableQueryVo.queryType == 3 or receivableQueryVo.queryType == 4)">
|
|
|
+ AND ipi.jy_premium != 0
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.licenseNo != null and receivableQueryVo.licenseNo != ''">
|
|
|
+ AND ipi.license_no LIKE CONCAT('%', #{receivableQueryVo.licenseNo}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.companyId != null and receivableQueryVo.companyId != ''">
|
|
|
+ AND ipi.company_id = #{receivableQueryVo.companyId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.orderNo != null and receivableQueryVo.orderNo != ''">
|
|
|
+ AND ipi.order_no = #{receivableQueryVo.orderNo}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.orderNos != null and receivableQueryVo.orderNos != ''">
|
|
|
+ AND ipi.order_no IN
|
|
|
+ <foreach collection="receivableQueryVo.orderNos" item="orderNo" open="(" separator="," close=")">
|
|
|
+ #{orderNo}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.agreementId != null and receivableQueryVo.agreementId != ''">
|
|
|
+ AND ipi.agreement_id = #{receivableQueryVo.agreementId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.deptId != null and receivableQueryVo.deptId != ''">
|
|
|
+ AND ipi.dept_id = #{receivableQueryVo.deptId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.productId!= null and receivableQueryVo.productId!= ''">
|
|
|
+ AND ipi.product_id = #{receivableQueryVo.productId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.signingTimeStart != null and receivableQueryVo.signingTimeStart != ''">
|
|
|
+ AND ipi.signing_time between #{receivableQueryVo.signingTimeStart} and #{receivableQueryVo.signingTimeEnd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
|
|
|
+ <select id="getSuperviseSettlementExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportSuperviseSettlementExcelDto">
|
|
|
+ select
|
|
|
+ ipiis.id as settlementId,
|
|
|
+ ipiis.invoice_id as invoiceId,
|
|
|
+ ipi.company_name as companyName,
|
|
|
+ ipii.invoice_type as invoiceType,
|
|
|
+ ipii.invoice_party as invoiceParty,
|
|
|
+ ipii.tax_point as taxPoint,
|
|
|
+ ipiis.actual_received_amount as actualReceivedAmount,
|
|
|
+ ipiis.receive_payment_date as receivePaymentDate,
|
|
|
+ ipiis.create_by as createBy,
|
|
|
+ ipiis.create_time as createTime
|
|
|
+ FROM
|
|
|
+ ins_ply_income_invoice_settlement ipiis
|
|
|
+ LEFT JOIN ins_ply_income_invoice ipii ON ipii.id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income_invoice_link ipil ON ipil.invoice_id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income ipi ON ipi.id = ipil.income_id
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
|
|
|
+ AND ipiis.id IN
|
|
|
+ <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">
|
|
|
+ #{settlementId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceTypes != null and settlementQueryVo.invoiceTypes != ''">
|
|
|
+ AND ipi.invoice_type IN
|
|
|
+ <foreach collection="settlementQueryVo.invoiceTypes" item="invoiceType" open="(" separator="," close=")">
|
|
|
+ #{invoiceType}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getSuperviseSettlementDetailExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportSuperviseSettlementDetailExcelDto">
|
|
|
+ select
|
|
|
+ ipiis.id as settlementId, -- 结算记录编号
|
|
|
+ ipiis.invoice_id as invoiceId, -- 开票记录编号
|
|
|
+ ipi.company_name as companyName, -- 保险公司
|
|
|
+ ipi.signing_time as signingTime, -- 签单时间
|
|
|
+ ipii.status as status, -- 状态
|
|
|
+ ipi.license_no as licenseNo, -- 车牌号
|
|
|
+ io.product_name as productName, -- 险种
|
|
|
+ ipii.invoice_type as invoiceType, -- 应收项
|
|
|
+ ipii.invoice_party as invoiceParty, -- 开票方
|
|
|
+ ipii.tax_point as taxPoint, -- 税点
|
|
|
+ (ipi.jq_supervise_costs_premiums + ipi.sy_supervise_costs_premiums + ipi.jy_supervise_costs_premiums) as receivableSuperviseCosts, -- 应收手续费
|
|
|
+ ipi.jq_premium as jqPremium, -- 交强保费
|
|
|
+ ipi.jq_supervise_costs_proportion as jqSuperviseCostsProportion, -- 交强手续费比例
|
|
|
+ ipi.jq_policy_no as jqPolicyNo, -- 交强保单号
|
|
|
+ ipi.sy_premium as syPremium, -- 商业保费
|
|
|
+ ipi.sy_supervise_costs_proportion as sySuperviseCostsProportion, -- 商业手续费比例
|
|
|
+ ipi.sy_policy_no as syPolicyNo, -- 商业保单号
|
|
|
+ ipi.tax_premium as taxPremium, -- 车船税
|
|
|
+ ipii.create_by as invoicePerson, -- 开票人
|
|
|
+ ipii.create_time as invoiceTime, -- 开票时间
|
|
|
+ ipiis.create_by as settlementPerson, -- 结算人
|
|
|
+ ipiis.create_time as settlementTime -- 结算时间
|
|
|
+ FROM
|
|
|
+ ins_ply_income_invoice ipii
|
|
|
+ LEFT JOIN ins_ply_income_invoice_settlement ipiis ON ipiis.invoice_id = ipiis.id
|
|
|
+ LEFT JOIN ins_ply_income_invoice_link ipil ON ipil.invoice_id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income ipi ON ipi.id = ipil.income_id
|
|
|
+ LEFT JOIN ins_orders io ON ipi.order_no = io.id
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
|
|
|
+ AND ipiis.id IN
|
|
|
+ <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">
|
|
|
+ #{settlementId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceTypes != null and settlementQueryVo.invoiceTypes != ''">
|
|
|
+ AND ipi.invoice_type IN
|
|
|
+ <foreach collection="settlementQueryVo.invoiceTypes" item="invoiceType" open="(" separator="," close=")">
|
|
|
+ #{invoiceType}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceId != null and settlementQueryVo.invoiceId != ''">
|
|
|
+ AND ipiis.invoice_id = #{settlementQueryVo.invoiceId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.companyId != null and settlementQueryVo.companyId != ''">
|
|
|
+ AND ipi.company_id = #{settlementQueryVo.companyId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceParty != null and settlementQueryVo.invoiceParty != ''">
|
|
|
+ AND ipi.invoice_party = #{settlementQueryVo.invoiceParty}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementPerson != null and settlementQueryVo.settlementPerson != ''">
|
|
|
+ AND ipiis.create_by = #{settlementQueryVo.settlementPerson}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementTimeStart != null and settlementQueryVo.settlementTimeStart != ''">
|
|
|
+ AND ipiis.create_time between #{settlementQueryVo.signingTimeStart} and #{settlementQueryVo.signingTimeEnd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getSuperviseSettlementDetailJyExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportSuperviseSettlementDetailJyExcelDto">
|
|
|
+ select
|
|
|
+ ipiis.id as settlementId, -- 结算记录编号
|
|
|
+ ipiis.invoice_id as invoiceId, -- 开票记录编号
|
|
|
+ ipi.company_name as companyName, -- 保险公司
|
|
|
+ ipi.signing_time as signingTime, -- 签单时间
|
|
|
+ ipii.status as status, -- 状态
|
|
|
+ ipi.license_no as licenseNo, -- 车牌号
|
|
|
+ io.product_name as productName, -- 险种
|
|
|
+ ipii.invoice_type as invoiceType, -- 应收项
|
|
|
+ ipii.invoice_party as invoiceParty, -- 开票方
|
|
|
+ ipii.tax_point as taxPoint, -- 税点
|
|
|
+ (ipi.jq_supervise_costs_premiums + ipi.sy_supervise_costs_premiums + ipi.jy_supervise_costs_premiums) as receivableSuperviseCosts, -- 应收手续费
|
|
|
+ ipi.jy_premium as jqPremium, -- 驾意保费
|
|
|
+ ipi.jy_supervise_costs_proportion as jySuperviseCostsProportion, -- 驾意险手续费比例
|
|
|
+ ipi.jy_policy_no as jqPolicyNo, -- 交强保单号
|
|
|
+ ipi.sy_policy_no as syPolicyNo, -- 商业保单号
|
|
|
+ ipii.create_by as invoicePerson, -- 开票人
|
|
|
+ ipii.create_time as invoiceTime, -- 开票时间
|
|
|
+ ipiis.create_by as settlementPerson, -- 结算人
|
|
|
+ ipiis.create_time as settlementTime -- 结算时间
|
|
|
+ FROM
|
|
|
+ ins_ply_income_invoice ipii
|
|
|
+ LEFT JOIN ins_ply_income_invoice_settlement ipiis ON ipiis.invoice_id = ipiis.id
|
|
|
+ LEFT JOIN ins_ply_income_invoice_link ipil ON ipil.invoice_id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income ipi ON ipi.id = ipil.income_id
|
|
|
+ LEFT JOIN ins_orders io ON ipi.order_no = io.id
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
|
|
|
+ AND ipiis.id IN
|
|
|
+ <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">
|
|
|
+ #{settlementId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceTypes != null and settlementQueryVo.invoiceTypes != ''">
|
|
|
+ AND ipi.invoice_type IN
|
|
|
+ <foreach collection="settlementQueryVo.invoiceTypes" item="invoiceType" open="(" separator="," close=")">
|
|
|
+ #{invoiceType}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceId != null and settlementQueryVo.invoiceId != ''">
|
|
|
+ AND ipiis.invoice_id = #{settlementQueryVo.invoiceId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.companyId != null and settlementQueryVo.companyId != ''">
|
|
|
+ AND ipi.company_id = #{settlementQueryVo.companyId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceParty != null and settlementQueryVo.invoiceParty != ''">
|
|
|
+ AND ipi.invoice_party = #{settlementQueryVo.invoiceParty}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementPerson != null and settlementQueryVo.settlementPerson != ''">
|
|
|
+ AND ipiis.create_by = #{settlementQueryVo.settlementPerson}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementTimeStart != null and settlementQueryVo.settlementTimeStart != ''">
|
|
|
+ AND ipiis.create_time between #{settlementQueryVo.signingTimeStart} and #{settlementQueryVo.signingTimeEnd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getOtherExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportOtherExcelDto">
|
|
|
+ SELECT
|
|
|
+ ipi.signing_time as signingTime,
|
|
|
+ ipi.order_no as orderNo,
|
|
|
+ ipi.company_name as companyName,
|
|
|
+ ipi.dept_name as deptName,
|
|
|
+ ipi.agreement_name as agreementName,
|
|
|
+ io.entry_status as entryStatus,
|
|
|
+ ipi.license_no as licenseNo,
|
|
|
+ (ipi.jq_other_costs_premiums + ipi.sy_other_costs_premiums + ipi.jy_other_costs_premiums) as receivableAmount,
|
|
|
+ ipi.product_name as productName,
|
|
|
+ iocui.name AS insuredPerson,
|
|
|
+ ipi.jq_premium as jqPremium,
|
|
|
+ ipi.jq_other_costs_proportion as jqSuperviseCostsProportion,
|
|
|
+ ipi.jq_policy_no as jqPolicyNo,
|
|
|
+ ior1.start_date as jqStartDate,
|
|
|
+ ipi.sy_premium as syPremium,
|
|
|
+ ipi.sy_other_costs_proportion as syqSuperviseCostsProportion,
|
|
|
+ ipi.sy_policy_no as syPolicyNo,
|
|
|
+ ior2.start_date as syStartDate,
|
|
|
+ ipi.tax_premium as taxPremium,
|
|
|
+ ipi.create_time as createTime,
|
|
|
+ ipi.contact_person as contactPerson
|
|
|
+ FROM ins_ply_income ipi
|
|
|
+ LEFT JOIN ins_order io ON ipi.order_no = io.order_no
|
|
|
+ LEFT JOIN ins_orders_car_user_info iocui ON ipi.order_no = iocui.order_no and iocui.policy_person_type = '3'
|
|
|
+ LEFT JOIN ins_orders_risk ior1 ON ipi.order_no = ior1.order_no and ior1.risk_code = '0507'
|
|
|
+ LEFT JOIN ins_orders_risk ior2 ON ipi.order_no = ior2.order_no and ior2.risk_code = '0510'
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="receivableQueryVo.licenseNo != null and receivableQueryVo.licenseNo != ''">
|
|
|
+ and ipi.licenseNo = #{receivableQueryVo.licenseNo}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.orderNo != null and receivableQueryVo.orderNo != ''">
|
|
|
+ and ipi.order_no = #{receivableQueryVo.orderNo}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.companyId != null and receivableQueryVo.companyId != ''">
|
|
|
+ and ipi.company_id = #{receivableQueryVo.companyId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.deptId != null and receivableQueryVo.deptId != ''">
|
|
|
+ and ipi.dept_id = #{receivableQueryVo.deptId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.agreementId != null and receivableQueryVo.agreementId != ''">
|
|
|
+ and ipi.agreement_id = #{receivableQueryVo.agreementId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.signingTimeStart != null and receivableQueryVo.signingTimeStart != ''">
|
|
|
+ and ipi.signing_time between #{receivableQueryVo.signingTimeStart} and #{receivableQueryVo.signingTimeEnd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getOtherJyExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportOtherJyExcelDto">
|
|
|
+ SELECT
|
|
|
+ ipi.signing_time as signingTime,
|
|
|
+ ipi.order_no as orderNo,
|
|
|
+ ipi.company_name as companyName,
|
|
|
+ ipi.dept_name as deptName,
|
|
|
+ ipi.agreement_name as agreementName,
|
|
|
+ io.entry_status as entryStatus,
|
|
|
+ ipi.license_no as licenseNo,
|
|
|
+ (ipi.jq_other_costs_premiums + ipi.sy_other_costs_premiums + ipi.jy_other_costs_premiums) as receivableAmount,
|
|
|
+ ipi.product_name as productName,
|
|
|
+ iocui.name AS insuredPerson,
|
|
|
+ ipi.jy_premium as jyPremium,
|
|
|
+ ipi.jy_other_costs_proportion as jySuperviseCostsProportion,
|
|
|
+ ipi.jy_policy_no as jyPolicyNo,
|
|
|
+ ior1.start_date as jqStartDate,
|
|
|
+ ior2.start_date as syStartDate,
|
|
|
+ ipi.create_time as createTime
|
|
|
+ FROM ins_ply_income ipi
|
|
|
+ LEFT JOIN ins_order io ON ipi.order_no = io.order_no
|
|
|
+ LEFT JOIN ins_orders_car_user_info iocui ON ipi.order_no = iocui.order_no and iocui.policy_person_type = '3'
|
|
|
+ LEFT JOIN ins_orders_risk ior1 ON ipi.order_no = ior1.order_no and ior1.risk_code = '0507'
|
|
|
+ LEFT JOIN ins_orders_risk ior2 ON ipi.order_no = ior2.order_no and ior2.risk_code = '0510'
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="receivableQueryVo.licenseNo != null and receivableQueryVo.licenseNo != ''">
|
|
|
+ and ipi.licenseNo = #{receivableQueryVo.licenseNo}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.orderNo != null and receivableQueryVo.orderNo != ''">
|
|
|
+ and ipi.order_no = #{receivableQueryVo.orderNo}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.companyId != null and receivableQueryVo.companyId != ''">
|
|
|
+ and ipi.company_id = #{receivableQueryVo.companyId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.deptId != null and receivableQueryVo.deptId != ''">
|
|
|
+ and ipi.dept_id = #{receivableQueryVo.deptId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.agreementId != null and receivableQueryVo.agreementId != ''">
|
|
|
+ and ipi.agreement_id = #{receivableQueryVo.agreementId}
|
|
|
+ </if>
|
|
|
+ <if test="receivableQueryVo.signingTimeStart != null and receivableQueryVo.signingTimeStart != ''">
|
|
|
+ and ipi.signing_time between #{receivableQueryVo.signingTimeStart} and #{receivableQueryVo.signingTimeEnd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getOtherSettlementExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportOtherSettlementExcelDto">
|
|
|
+ select
|
|
|
+ ipiis.id as settlementId,
|
|
|
+ ipiis.invoice_id as invoiceId,
|
|
|
+ ipi.company_name as companyName,
|
|
|
+ ipii.invoice_type as invoiceType,
|
|
|
+ ipii.invoice_party as invoiceParty,
|
|
|
+ ipii.tax_point as taxPoint,
|
|
|
+ ipiis.actual_received_amount as actualReceivedAmount,
|
|
|
+ ipiis.receive_payment_date as receivePaymentDate,
|
|
|
+ ipiis.create_by as createBy,
|
|
|
+ ipiis.create_time as createTime
|
|
|
+ FROM
|
|
|
+ ins_ply_income_invoice_settlement ipiis
|
|
|
+ LEFT JOIN ins_ply_income_invoice ipii ON ipii.id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income_invoice_link ipil ON ipil.invoice_id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income ipi ON ipi.id = ipil.income_id
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
|
|
|
+ AND ipiis.id IN
|
|
|
+ <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">
|
|
|
+ #{settlementId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceTypes != null and settlementQueryVo.invoiceTypes != ''">
|
|
|
+ AND ipi.invoice_type IN
|
|
|
+ <foreach collection="settlementQueryVo.invoiceTypes" item="invoiceType" open="(" separator="," close=")">
|
|
|
+ #{invoiceType}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getOtherSettlementDetailExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportOtherSettlementDetailExcelDto">
|
|
|
+ select
|
|
|
+ ipiis.id as settlementId, -- 结算记录编号
|
|
|
+ ipiis.invoice_id as invoiceId, -- 开票记录编号
|
|
|
+ ipi.company_name as companyName, -- 保险公司
|
|
|
+ ipi.signing_time as signingTime, -- 签单时间
|
|
|
+ ipii.status as status, -- 状态
|
|
|
+ ipi.license_no as licenseNo, -- 车牌号
|
|
|
+ io.product_name as productName, -- 险种
|
|
|
+ ipii.invoice_type as invoiceType, -- 应收项
|
|
|
+ ipii.invoice_party as invoiceParty, -- 开票方
|
|
|
+ ipii.tax_point as taxPoint, -- 税点
|
|
|
+ (ipi.jq_other_costs_premiums + ipi.sy_other_costs_premiums + ipi.jy_other_costs_premiums) as receivableOtherCosts, -- 应收跟单费
|
|
|
+ ipi.jq_premium as jqPremium, -- 交强保费
|
|
|
+ ipi.jq_other_costs_proportion as jqOtherCostsProportion, -- 交强手续费比例
|
|
|
+ ipi.jq_policy_no as jqPolicyNo, -- 交强保单号
|
|
|
+ ipi.sy_premium as syPremium, -- 商业保费
|
|
|
+ ipi.sy_other_costs_proportion as syOtherCostsProportion, -- 商业手续费比例
|
|
|
+ ipi.sy_policy_no as syPolicyNo, -- 商业保单号
|
|
|
+ ipi.tax_premium as taxPremium, -- 车船税
|
|
|
+ ipii.create_by as invoicePerson, -- 开票人
|
|
|
+ ipii.create_time as invoiceTime, -- 开票时间
|
|
|
+ ipiis.create_by as settlementPerson, -- 结算人
|
|
|
+ ipiis.create_time as settlementTime -- 结算时间
|
|
|
+ FROM
|
|
|
+ ins_ply_income_invoice ipii
|
|
|
+ LEFT JOIN ins_ply_income_invoice_settlement ipiis ON ipiis.invoice_id = ipiis.id
|
|
|
+ LEFT JOIN ins_ply_income_invoice_link ipil ON ipil.invoice_id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income ipi ON ipi.id = ipil.income_id
|
|
|
+ LEFT JOIN ins_orders io ON ipi.order_no = io.id
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
|
|
|
+ AND ipiis.id IN
|
|
|
+ <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">
|
|
|
+ #{settlementId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceTypes != null and settlementQueryVo.invoiceTypes != ''">
|
|
|
+ AND ipi.invoice_type IN
|
|
|
+ <foreach collection="settlementQueryVo.invoiceTypes" item="invoiceType" open="(" separator="," close=")">
|
|
|
+ #{invoiceType}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceId != null and settlementQueryVo.invoiceId != ''">
|
|
|
+ AND ipiis.invoice_id = #{settlementQueryVo.invoiceId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.companyId != null and settlementQueryVo.companyId != ''">
|
|
|
+ AND ipi.company_id = #{settlementQueryVo.companyId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceParty != null and settlementQueryVo.invoiceParty != ''">
|
|
|
+ AND ipi.invoice_party = #{settlementQueryVo.invoiceParty}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementPerson != null and settlementQueryVo.settlementPerson != ''">
|
|
|
+ AND ipiis.create_by = #{settlementQueryVo.settlementPerson}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementTimeStart != null and settlementQueryVo.settlementTimeStart != ''">
|
|
|
+ AND ipiis.create_time between #{receivableQueryVo.signingTimeStart} and #{receivableQueryVo.signingTimeEnd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getOtherSettlementDetailJyExcelDtos" resultType="com.jzg.commons.entity.finance.dto.ExportOtherSettlementDetailJyExcelDto">
|
|
|
+ select
|
|
|
+ ipiis.id as settlementId, -- 结算记录编号
|
|
|
+ ipiis.invoice_id as invoiceId, -- 开票记录编号
|
|
|
+ ipi.company_name as companyName, -- 保险公司
|
|
|
+ ipi.signing_time as signingTime, -- 签单时间
|
|
|
+ ipii.status as status, -- 状态
|
|
|
+ ipi.license_no as licenseNo, -- 车牌号
|
|
|
+ io.product_name as productName, -- 险种
|
|
|
+ ipii.invoice_type as invoiceType, -- 应收项
|
|
|
+ ipii.invoice_party as invoiceParty, -- 开票方
|
|
|
+ ipii.tax_point as taxPoint, -- 税点
|
|
|
+ (ipi.jq_other_costs_premiums + ipi.sy_other_costs_premiums + ipi.jy_other_costs_premiums) as receivableSuperviseCosts, -- 应收手续费
|
|
|
+ ipi.jy_premium as jqPremium, -- 驾意保费
|
|
|
+ ipi.jy_other_costs_proportion as jqOtherCostsProportion, -- 驾意险跟单费比例
|
|
|
+ ipi.jy_policy_no as jqPolicyNo, -- 交强保单号
|
|
|
+ ipi.sy_policy_no as syPolicyNo, -- 商业保单号
|
|
|
+ ipii.create_by as invoicePerson, -- 开票人
|
|
|
+ ipii.create_time as invoiceTime, -- 开票时间
|
|
|
+ ipiis.create_by as settlementPerson, -- 结算人
|
|
|
+ ipiis.create_time as settlementTime -- 结算时间
|
|
|
+ FROM
|
|
|
+ ins_ply_income_invoice ipii
|
|
|
+ LEFT JOIN ins_ply_income_invoice_settlement ipiis ON ipiis.invoice_id = ipiis.id
|
|
|
+ LEFT JOIN ins_ply_income_invoice_link ipil ON ipil.invoice_id = ipiis.invoice_id
|
|
|
+ LEFT JOIN ins_ply_income ipi ON ipi.id = ipil.income_id
|
|
|
+ LEFT JOIN ins_orders io ON ipi.order_no = io.id
|
|
|
+ WHERE
|
|
|
+ 1=1
|
|
|
+ <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
|
|
|
+ AND ipiis.id IN
|
|
|
+ <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">
|
|
|
+ #{settlementId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceTypes != null and settlementQueryVo.invoiceTypes != ''">
|
|
|
+ AND ipi.invoice_type IN
|
|
|
+ <foreach collection="settlementQueryVo.invoiceTypes" item="invoiceType" open="(" separator="," close=")">
|
|
|
+ #{invoiceType}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceId != null and settlementQueryVo.invoiceId != ''">
|
|
|
+ AND ipiis.invoice_id = #{settlementQueryVo.invoiceId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.companyId != null and settlementQueryVo.companyId != ''">
|
|
|
+ AND ipi.company_id = #{settlementQueryVo.companyId}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.invoiceParty != null and settlementQueryVo.invoiceParty != ''">
|
|
|
+ AND ipi.invoice_party = #{settlementQueryVo.invoiceParty}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementPerson != null and settlementQueryVo.settlementPerson != ''">
|
|
|
+ AND ipiis.create_by = #{settlementQueryVo.settlementPerson}
|
|
|
+ </if>
|
|
|
+ <if test="settlementQueryVo.settlementTimeStart != null and settlementQueryVo.settlementTimeStart != ''">
|
|
|
+ AND ipiis.create_time between #{settlementQueryVo.signingTimeStart} and #{settlementQueryVo.signingTimeEnd}
|
|
|
+ </if>
|
|
|
</select>
|
|
|
|
|
|
<select id="getReceivableCompany" resultType="com.jzg.commons.entity.po.EsmInsCompany">
|
|
|
@@ -140,4 +619,125 @@
|
|
|
</foreach>
|
|
|
</select>
|
|
|
|
|
|
+ <!-- 基础结果集映射 -->
|
|
|
+ <resultMap id="BaseResultMap" type="com.jzg.commons.entity.finance.dto.CompanySuperviseSettlementReportDto">
|
|
|
+ <result column="company_id" property="companyId"/>
|
|
|
+ <result column="company_name" property="companyName"/>
|
|
|
+ <result column="total_receivable" property="totalReceivable"/>
|
|
|
+ <result column="supervise_fee" property="superviseFee"/>
|
|
|
+ <result column="invoiced_amount" property="invoicedAmount"/>
|
|
|
+ <result column="settled_amount" property="settledAmount"/>
|
|
|
+ <result column="un_invoiced_amount" property="unInvoicedAmount"/>
|
|
|
+ <result column="un_settled_amount" property="unSettledAmount"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+ <!-- 获取根级保险公司(parent_id为0) -->
|
|
|
+ <select id="selectRootCompanies" resultMap="BaseResultMap">
|
|
|
+ SELECT
|
|
|
+ eic.id as company_id,
|
|
|
+ eic.name as company_name,
|
|
|
+ COALESCE(SUM(ipi.jq_receivable_premium + ipi.sy_receivable_premium + ipi.jy_receivable_premium), 0) as total_receivable,
|
|
|
+ COALESCE(SUM(ipi.jq_supervise_costs_premiums + ipi.sy_supervise_costs_premiums + ipi.jy_supervise_costs_premiums), 0) as supervise_fee,
|
|
|
+-- COALESCE(SUM(fee_summary.total_commission), 0) as 佣金总和,
|
|
|
+ COALESCE(SUM(invoice_summary.total_invoice), 0) as invoiced_amount,
|
|
|
+-- COALESCE(SUM(fee_summary.total_commission) - SUM(invoice_summary.total_invoice), 0) as un_invoiced_amount,
|
|
|
+ COALESCE(SUM(invoice_summary.settled_invoice), 0) as settled_amount,
|
|
|
+ COALESCE(SUM(invoice_summary.unsettled_invoice), 0) as un_settled_amount
|
|
|
+ FROM
|
|
|
+ esm_ins_company eic
|
|
|
+ LEFT JOIN ins_ply_income ipi ON eic.id = ipi.company_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ ipiil.income_id,
|
|
|
+ SUM(ipii.receivable_supervise_premium) as total_invoice,
|
|
|
+ SUM(CASE WHEN ipii.status = 1 THEN ipii.receivable_supervise_premium ELSE 0 END) as settled_invoice,
|
|
|
+ SUM(CASE WHEN ipii.status = 0 THEN ipii.receivable_supervise_premium ELSE 0 END) as unsettled_invoice
|
|
|
+ FROM ins_ply_income_invoice_link ipiil
|
|
|
+ LEFT JOIN ins_ply_income_invoice ipii
|
|
|
+ ON ipii.id = ipiil.invoice_id
|
|
|
+ AND ipii.invoice_type IN
|
|
|
+ <if test="settlementReportQueryVo.invoiceTypes != null and settlementReportQueryVo.invoiceTypes.size() > 0">
|
|
|
+ <foreach item="item" collection="settlementReportQueryVo.invoiceTypes" separator="," open="(" close=")" index="">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ GROUP BY ipiil.income_id
|
|
|
+ ) invoice_summary ON invoice_summary.income_id = ipi.id
|
|
|
+-- LEFT JOIN (
|
|
|
+-- SELECT
|
|
|
+-- ifo.order_no,
|
|
|
+-- SUM(DISTINCT (ifo.jq_commission_premium + ifo.sy_commission_premium + ifo.jy_commission_premium)) as total_commission
|
|
|
+-- FROM ins_fee_orders ifo
|
|
|
+-- GROUP BY ifo.order_no
|
|
|
+-- ) fee_summary ON ipi.order_no = fee_summary.order_no
|
|
|
+ WHERE
|
|
|
+ eic.parent_id = 0
|
|
|
+ GROUP BY
|
|
|
+ eic.id,
|
|
|
+ eic.name;
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 获取子公司 -->
|
|
|
+ <select id="selectChildrenByParentId" resultMap="BaseResultMap">
|
|
|
+ SELECT
|
|
|
+ eic.id as company_id,
|
|
|
+ eic.name as company_name,
|
|
|
+ COALESCE(SUM(ipi.jq_receivable_premium + ipi.sy_receivable_premium + ipi.jy_receivable_premium), 0) as total_receivable,
|
|
|
+ COALESCE(SUM(ipi.jq_supervise_costs_premiums + ipi.sy_supervise_costs_premiums + ipi.jy_supervise_costs_premiums), 0) as supervise_fee,
|
|
|
+ COALESCE(SUM(invoice_summary.total_invoice), 0) as invoiced_amount,
|
|
|
+-- COALESCE(SUM(fee_summary.total_commission) - SUM(invoice_summary.total_invoice), 0) as un_invoiced_amount,
|
|
|
+ COALESCE(SUM(invoice_summary.settled_invoice), 0) as settled_amount,
|
|
|
+ COALESCE(SUM(invoice_summary.unsettled_invoice), 0) as un_settled_amount
|
|
|
+ FROM
|
|
|
+ esm_ins_company eic
|
|
|
+ LEFT JOIN ins_ply_income ipi ON eic.id = ipi.company_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ ipiil.income_id,
|
|
|
+ SUM(ipii.receivable_supervise_premium) as total_invoice,
|
|
|
+ SUM(CASE WHEN ipii.status = 1 THEN ipii.receivable_supervise_premium ELSE 0 END) as settled_invoice,
|
|
|
+ SUM(CASE WHEN ipii.status = 0 THEN ipii.receivable_supervise_premium ELSE 0 END) as unsettled_invoice
|
|
|
+ FROM ins_ply_income_invoice_link ipiil
|
|
|
+ LEFT JOIN ins_ply_income_invoice ipii
|
|
|
+ ON ipii.id = ipiil.invoice_id
|
|
|
+ AND ipii.invoice_type IN
|
|
|
+ <if test="invoiceTypes != null and !invoiceTypes.isEmpty()">
|
|
|
+ <foreach item="item" collection="invoiceTypes" open="(" separator="," close=")">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ GROUP BY ipiil.income_id
|
|
|
+ ) invoice_summary ON invoice_summary.income_id = ipi.id
|
|
|
+-- LEFT JOIN (
|
|
|
+-- SELECT
|
|
|
+-- ifo.order_no,
|
|
|
+-- SUM(DISTINCT (ifo.jq_commission_premium + ifo.sy_commission_premium + ifo.jy_commission_premium)) as total_commission
|
|
|
+-- FROM ins_fee_orders ifo
|
|
|
+-- GROUP BY ifo.order_no
|
|
|
+-- ) fee_summary ON ipi.order_no = fee_summary.order_no
|
|
|
+ WHERE
|
|
|
+ eic.parent_id = #{parentId}
|
|
|
+ GROUP BY
|
|
|
+ eic.id,
|
|
|
+ eic.name;
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <select id="getSuperviseAmount" resultType="com.jzg.commons.entity.finance.dto.InvoiceAmountDto">
|
|
|
+ SELECT
|
|
|
+ eic.id AS companyId,
|
|
|
+ eic.name AS companyName,
|
|
|
+ COALESCE(SUM(ifo.jq_commission_premium + ifo.sy_commission_premium + ifo.jy_commission_premium), 0) AS superviseAmount
|
|
|
+ FROM
|
|
|
+ esm_ins_company eic
|
|
|
+ LEFT JOIN
|
|
|
+ ptl_agreement pa ON pa.company_id = CAST(eic.id AS CHAR) COLLATE utf8mb4_general_ci -- 统一为pa的排序规则
|
|
|
+ LEFT JOIN
|
|
|
+ ins_fee_orders ifo ON pa.id = ifo.agreement_id
|
|
|
+ GROUP BY
|
|
|
+ eic.id, eic.name
|
|
|
+ ORDER BY
|
|
|
+ eic.id;
|
|
|
+ </select>
|
|
|
+
|
|
|
</mapper>
|