Commit a132bdb6 by zhangxingmin

push

parent 19ea2ab8
...@@ -69,18 +69,19 @@ ...@@ -69,18 +69,19 @@
<!-- ==================== 应收款报表分页查询(完全对齐 getQueryWrapper) ==================== --> <!-- ==================== 应收款报表分页查询(完全对齐 getQueryWrapper) ==================== -->
<select id="receivableReportPage" resultType="com.yd.csf.service.vo.ReceivableReportVO"> <select id="receivableReportPage" resultType="com.yd.csf.service.vo.ReceivableReportVO">
<!--
根据 commissionBizType 动态选择查询方式:
- 若指定了 'R' 或 'U',只查询对应类型;
- 否则 UNION ALL 两种类型。
-->
<choose> <choose>
<when test="query.commissionBizType != null and query.commissionBizType != ''"> <when test="query.commissionBizType != null and query.commissionBizType != ''">
<if test="query.commissionBizType == 'R'"> <if test="query.commissionBizType == 'R'">
SELECT * FROM (
<include refid="receivableReportRSql"/> <include refid="receivableReportRSql"/>
) t
<include refid="receivableReportOrderBy"/>
</if> </if>
<if test="query.commissionBizType == 'U'"> <if test="query.commissionBizType == 'U'">
SELECT * FROM (
<include refid="receivableReportUSql"/> <include refid="receivableReportUSql"/>
) u
<include refid="receivableReportOrderBy"/>
</if> </if>
</when> </when>
<otherwise> <otherwise>
...@@ -88,13 +89,13 @@ ...@@ -88,13 +89,13 @@
<include refid="receivableReportRSql"/> <include refid="receivableReportRSql"/>
UNION ALL UNION ALL
<include refid="receivableReportUSql"/> <include refid="receivableReportUSql"/>
) t ) tmp
<include refid="receivableReportOrderBy"/> <include refid="receivableReportOrderBy"/>
</otherwise> </otherwise>
</choose> </choose>
</select> </select>
<!-- ==================== R 类型(关联保单应收单)完整查询 ==================== --> <!-- R 类型完整查询(不含 ORDER BY) -->
<sql id="receivableReportRSql"> <sql id="receivableReportRSql">
SELECT SELECT
NULL AS receivableNo, NULL AS receivableNo,
...@@ -138,10 +139,9 @@ ...@@ -138,10 +139,9 @@
<include refid="receivableReportTeamBizIdFilter"/> <include refid="receivableReportTeamBizIdFilter"/>
) t ) t
GROUP BY t.policyNo, t.commission_period GROUP BY t.policyNo, t.commission_period
<include refid="receivableReportOrderBy"/>
</sql> </sql>
<!-- ==================== U 类型(非关联保单应收单)完整查询 ==================== --> <!-- U 类型完整查询(不含 ORDER BY) -->
<sql id="receivableReportUSql"> <sql id="receivableReportUSql">
SELECT SELECT
receivableNo, receivableNo,
...@@ -184,7 +184,6 @@ ...@@ -184,7 +184,6 @@
<include refid="receivableReportWhereCommon"/> <include refid="receivableReportWhereCommon"/>
<include refid="receivableReportTeamBizIdFilter"/> <include refid="receivableReportTeamBizIdFilter"/>
) u ) u
<include refid="receivableReportOrderBy"/>
</sql> </sql>
<!-- ==================== R 类型基础查询(不含聚合,不含 WHERE 条件) ==================== --> <!-- ==================== R 类型基础查询(不含聚合,不含 WHERE 条件) ==================== -->
...@@ -271,69 +270,69 @@ ...@@ -271,69 +270,69 @@
<!-- ==================== 公共 WHERE 条件(完全对应 getQueryWrapper) ==================== --> <!-- ==================== 公共 WHERE 条件(完全对应 getQueryWrapper) ==================== -->
<sql id="receivableReportWhereCommon"> <sql id="receivableReportWhereCommon">
<!-- 1. 空结果处理:queryFlag=true 且 policyNoList 为空 --> <!-- 空结果处理:queryFlag=true 且 policyNoList 为空 -->
<if test="query.queryFlag != null and query.queryFlag and (query.policyNoList == null or query.policyNoList.size == 0)"> <if test="query.queryFlag != null and query.queryFlag and (query.policyNoList == null or query.policyNoList.size == 0)">
AND 1=0 AND 1=0
</if> </if>
<!-- 2. receivableNo --> <!-- receivableNo -->
<if test="query.receivableNo != null and query.receivableNo != ''"> <if test="query.receivableNo != null and query.receivableNo != ''">
AND ce.receivable_no = #{query.receivableNo} AND ce.receivable_no = #{query.receivableNo}
</if> </if>
<!-- 3. policyNo (精确) --> <!-- policyNo (精确) -->
<if test="query.policyNo != null and query.policyNo != ''"> <if test="query.policyNo != null and query.policyNo != ''">
AND ce.policy_no = #{query.policyNo} AND ce.policy_no = #{query.policyNo}
</if> </if>
<!-- 4. policyNoList (IN) --> <!-- policyNoList (IN) -->
<if test="query.policyNoList != null and query.policyNoList.size > 0"> <if test="query.policyNoList != null and query.policyNoList.size > 0">
AND ce.policy_no IN AND ce.policy_no IN
<foreach collection="query.policyNoList" item="no" open="(" close=")" separator=","> <foreach collection="query.policyNoList" item="no" open="(" close=")" separator=",">
#{no} #{no}
</foreach> </foreach>
</if> </if>
<!-- 5. statusList --> <!-- statusList -->
<if test="query.statusList != null and query.statusList.size > 0"> <if test="query.statusList != null and query.statusList.size > 0">
AND ce.status IN AND ce.status IN
<foreach collection="query.statusList" item="status" open="(" close=")" separator=","> <foreach collection="query.statusList" item="status" open="(" close=")" separator=",">
#{status} #{status}
</foreach> </foreach>
</if> </if>
<!-- 6. commissionDateStart --> <!-- commissionDateStart -->
<if test="query.commissionDateStart != null"> <if test="query.commissionDateStart != null">
AND ce.commission_date >= #{query.commissionDateStart} AND ce.commission_date >= #{query.commissionDateStart}
</if> </if>
<!-- 7. commissionDateEnd --> <!-- commissionDateEnd -->
<if test="query.commissionDateEnd != null"> <if test="query.commissionDateEnd != null">
AND ce.commission_date &lt;= #{query.commissionDateEnd} AND ce.commission_date &lt;= #{query.commissionDateEnd}
</if> </if>
<!-- 8. commissionPeriod --> <!-- commissionPeriod -->
<if test="query.commissionPeriod != null"> <if test="query.commissionPeriod != null">
AND ce.commission_period = #{query.commissionPeriod} AND ce.commission_period = #{query.commissionPeriod}
</if> </if>
<!-- 9. commissionType --> <!-- commissionType -->
<if test="query.commissionType != null and query.commissionType != ''"> <if test="query.commissionType != null and query.commissionType != ''">
AND ce.commission_type = #{query.commissionType} AND ce.commission_type = #{query.commissionType}
</if> </if>
<!-- 10. reconciliationCompanyBizIdList --> <!-- reconciliationCompanyBizIdList -->
<if test="query.reconciliationCompanyBizIdList != null and query.reconciliationCompanyBizIdList.size > 0"> <if test="query.reconciliationCompanyBizIdList != null and query.reconciliationCompanyBizIdList.size > 0">
AND ce.reconciliation_company_biz_id IN AND ce.reconciliation_company_biz_id IN
<foreach collection="query.reconciliationCompanyBizIdList" item="id" open="(" close=")" separator=","> <foreach collection="query.reconciliationCompanyBizIdList" item="id" open="(" close=")" separator=",">
#{id} #{id}
</foreach> </foreach>
</if> </if>
<!-- 11. insurerCompanyBizIdList --> <!-- insurerCompanyBizIdList -->
<if test="query.insurerCompanyBizIdList != null and query.insurerCompanyBizIdList.size > 0"> <if test="query.insurerCompanyBizIdList != null and query.insurerCompanyBizIdList.size > 0">
AND ce.insurance_company_biz_id IN AND ce.insurance_company_biz_id IN
<foreach collection="query.insurerCompanyBizIdList" item="id" open="(" close=")" separator=","> <foreach collection="query.insurerCompanyBizIdList" item="id" open="(" close=")" separator=",">
#{id} #{id}
</foreach> </foreach>
</if> </if>
<!-- 12. productLaunchBizId --> <!-- productLaunchBizId -->
<if test="query.productLaunchBizId != null and query.productLaunchBizId != ''"> <if test="query.productLaunchBizId != null and query.productLaunchBizId != ''">
AND ce.product_launch_biz_id = #{query.productLaunchBizId} AND ce.product_launch_biz_id = #{query.productLaunchBizId}
</if> </if>
</sql> </sql>
<!-- ==================== teamBizId 过滤(使用 EXISTS 子查询,与 getQueryWrapper 一致) ==================== --> <!-- ==================== teamBizId 过滤(EXISTS 子查询,与 getQueryWrapper 完全一致) ==================== -->
<sql id="receivableReportTeamBizIdFilter"> <sql id="receivableReportTeamBizIdFilter">
<if test="query.teamBizId != null and query.teamBizId != ''"> <if test="query.teamBizId != null and query.teamBizId != ''">
AND EXISTS ( AND EXISTS (
...@@ -346,14 +345,13 @@ ...@@ -346,14 +345,13 @@
<!-- ==================== 排序(支持传入 sortField 和 sortOrder) ==================== --> <!-- ==================== 排序(支持传入 sortField 和 sortOrder) ==================== -->
<sql id="receivableReportOrderBy"> <sql id="receivableReportOrderBy">
ORDER BY
<choose> <choose>
<when test="query.sortField != null and query.sortField != '' and query.sortOrder != null"> <when test="query.sortField != null and query.sortField != '' and query.sortOrder != null">
ORDER BY
<if test="query.sortField == 'reconciliation_company'">reconciliationCompany</if> <if test="query.sortField == 'reconciliation_company'">reconciliationCompany</if>
<if test="query.sortField == 'commission_name'">commissionName</if> <if test="query.sortField == 'commission_name'">commissionName</if>
<if test="query.sortField == 'commission_period'">commissionPeriod</if> <if test="query.sortField == 'commission_period'">commissionPeriod</if>
<if test="query.sortField == 'amount'">amount</if> <if test="query.sortField == 'amount'">amount</if>
<!-- 其他字段默认按 commissionDate 排序 -->
<if test="query.sortField != 'reconciliation_company' and query.sortField != 'commission_name' and query.sortField != 'commission_period' and query.sortField != 'amount'"> <if test="query.sortField != 'reconciliation_company' and query.sortField != 'commission_name' and query.sortField != 'commission_period' and query.sortField != 'amount'">
commissionDate commissionDate
</if> </if>
...@@ -361,7 +359,7 @@ ...@@ -361,7 +359,7 @@
<if test="query.sortOrder != 'asc'">DESC</if> <if test="query.sortOrder != 'asc'">DESC</if>
</when> </when>
<otherwise> <otherwise>
ORDER BY commissionDate DESC, policyNo, commissionPeriod commissionDate DESC, policyNo, commissionPeriod
</otherwise> </otherwise>
</choose> </choose>
</sql> </sql>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment