feat(core): RecruitLedger/MaintainLedger sumByContract 메서드 추가 (P1 보강)
P1-1-c RegulatoryLimitChecker의 누적 수수료 합산용 TODO 해결. 추가 메서드: - RecruitLedgerMapper.sumByContract(contractId) - RecruitLedgerMapper.sumFirstYearByContract(contractId) — commission_year=1 한정 - MaintainLedgerMapper.sumByContract(contractId) XML: COALESCE(SUM(agent_amount), 0) 패턴 (NULL 안전). 참고: V5 DDL 실제 컬럼명은 agent_amount (commission_amount 아님). api-developer가 RegulatoryLimitChecker에서 이 메서드를 호출하면 TODO 해소.
This commit is contained in:
@@ -26,4 +26,7 @@ public interface MaintainLedgerMapper {
|
||||
BigDecimal sumByMonth(@Param("settleMonth") String settleMonth);
|
||||
BigDecimal sumByAgentMonth(@Param("agentId") Long agentId,
|
||||
@Param("settleMonth") String settleMonth);
|
||||
|
||||
/** 계약별 유지 원장 수수료 합산 (1200%룰 누적 검증용) */
|
||||
BigDecimal sumByContract(@Param("contractId") Long contractId);
|
||||
}
|
||||
|
||||
@@ -30,4 +30,10 @@ public interface RecruitLedgerMapper {
|
||||
/** 정산월 + 설계사 합계 */
|
||||
BigDecimal sumByAgentMonth(@Param("agentId") Long agentId,
|
||||
@Param("settleMonth") String settleMonth);
|
||||
|
||||
/** 계약별 신계약 원장 수수료 합산 (1200%룰 누적 검증용) */
|
||||
BigDecimal sumByContract(@Param("contractId") Long contractId);
|
||||
|
||||
/** 계약별 1차년도 수수료 합산 (1차년도 한도 검증용) */
|
||||
BigDecimal sumFirstYearByContract(@Param("contractId") Long contractId);
|
||||
}
|
||||
|
||||
@@ -112,4 +112,9 @@
|
||||
WHERE agent_id = #{agentId} AND settle_month = #{settleMonth}
|
||||
</select>
|
||||
|
||||
<select id="sumByContract" resultType="java.math.BigDecimal">
|
||||
SELECT COALESCE(SUM(agent_amount), 0) FROM maintain_ledger
|
||||
WHERE contract_id = #{contractId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -129,4 +129,14 @@
|
||||
WHERE agent_id = #{agentId} AND settle_month = #{settleMonth}
|
||||
</select>
|
||||
|
||||
<select id="sumByContract" resultType="java.math.BigDecimal">
|
||||
SELECT COALESCE(SUM(agent_amount), 0) FROM recruit_ledger
|
||||
WHERE contract_id = #{contractId}
|
||||
</select>
|
||||
|
||||
<select id="sumFirstYearByContract" resultType="java.math.BigDecimal">
|
||||
SELECT COALESCE(SUM(agent_amount), 0) FROM recruit_ledger
|
||||
WHERE contract_id = #{contractId} AND commission_year = 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user