Browse Source

Merge remote-tracking branch 'origin/dev_jzg_lipf_v20260518' into dev_jzg_lipf_v20260518

lipf 4 months ago
parent
commit
c7f413d557
1 changed files with 33 additions and 67 deletions
  1. 33 67
      tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

+ 33 - 67
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -1209,75 +1209,41 @@
 
 
 
 
     <select id="selectAllCompanyReports" resultMap="BaseResultMap">
     <select id="selectAllCompanyReports" resultMap="BaseResultMap">
-
         SELECT
         SELECT
-        eic.id              AS company_id,
-        eic.parent_id       AS parent_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(
-        ipi.jq_other_costs_premiums +
-        ipi.sy_other_costs_premiums +
-        ipi.jy_other_costs_premiums
-        ),0) AS follow_fee,
-
-        COALESCE(SUM(invoice_summary.total_invoice),0)
-        AS 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
-        AND ipi.agreement_type = #{queryVo.agreementType}
-
+            eic.id AS company_id,
+            eic.parent_id AS parent_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( ipi.jq_other_costs_premiums + ipi.sy_other_costs_premiums + ipi.jy_other_costs_premiums ), 0 ) AS follow_fee,
+            COALESCE ( SUM( invoice_summary.total_invoice ), 0 ) AS 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 AND ipi.agreement_type = #{queryVo.agreementType}
         LEFT JOIN (
         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
-
-        GROUP BY ipiil.income_id
-
-        ) invoice_summary
-        ON invoice_summary.income_id = ipi.id
-
-        WHERE 1=1
+            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
+            <where>
+                <if test="queryVo.invoiceTypes != null and queryVo.invoiceTypes.size() > 0">
+                    AND ipii.invoice_type IN
+                    <foreach item="item" collection="queryVo.invoiceTypes" separator="," open="(" close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </where>
+            GROUP BY
+            ipiil.income_id
+        ) invoice_summary ON invoice_summary.income_id = ipi.id
+        WHERE
+        1 =1
 
 
         <if test="queryVo.companyId != null and queryVo.companyId != ''">
         <if test="queryVo.companyId != null and queryVo.companyId != ''">
             AND eic.id = #{queryVo.companyId}
             AND eic.id = #{queryVo.companyId}