diff --git a/ga-core/src/main/java/com/ga/core/enums/AgentStatus.java b/ga-core/src/main/java/com/ga/core/enums/AgentStatus.java new file mode 100644 index 0000000..8bbb9be --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/enums/AgentStatus.java @@ -0,0 +1,13 @@ +package com.ga.core.enums; + +/** 설계사 상태 (V1.agent.status, 코드그룹 AGENT_STATUS) */ +public enum AgentStatus { + ACTIVE, // 재직 + LEAVE, // 휴직 + SUSPEND; // 정지 + + public static AgentStatus parse(String s) { + if (s == null) return null; + try { return AgentStatus.valueOf(s); } catch (Exception e) { return null; } + } +} diff --git a/ga-core/src/main/java/com/ga/core/enums/BatchJobStatus.java b/ga-core/src/main/java/com/ga/core/enums/BatchJobStatus.java new file mode 100644 index 0000000..83898c2 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/enums/BatchJobStatus.java @@ -0,0 +1,15 @@ +package com.ga.core.enums; + +/** 배치 잡 상태 (V7.batch_job_log.status) */ +public enum BatchJobStatus { + STARTED, + RUNNING, + COMPLETED, + FAILED, + STOPPED; + + public static BatchJobStatus parse(String s) { + if (s == null) return null; + try { return BatchJobStatus.valueOf(s); } catch (Exception e) { return null; } + } +} diff --git a/ga-core/src/main/java/com/ga/core/enums/ContractStatus.java b/ga-core/src/main/java/com/ga/core/enums/ContractStatus.java new file mode 100644 index 0000000..dc898ff --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/enums/ContractStatus.java @@ -0,0 +1,16 @@ +package com.ga.core.enums; + +/** 계약 상태 (V2.contract.status, 코드그룹 CONTRACT_STATUS) */ +public enum ContractStatus { + NEW, // 신규 + ACTIVE, // 정상 + LAPSED, // 실효 + REVIVED, // 부활 + CANCELLED, // 해지 + EXPIRED; // 만기 + + public static ContractStatus parse(String s) { + if (s == null) return null; + try { return ContractStatus.valueOf(s); } catch (Exception e) { return null; } + } +} diff --git a/ga-core/src/main/java/com/ga/core/enums/ParseStatus.java b/ga-core/src/main/java/com/ga/core/enums/ParseStatus.java new file mode 100644 index 0000000..36a9ea3 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/enums/ParseStatus.java @@ -0,0 +1,13 @@ +package com.ga.core.enums; + +/** 수신 데이터 파싱 상태 (V4.raw_commission_data.parse_status) */ +public enum ParseStatus { + PENDING, // 대기 + OK, // 성공 + ERROR; // 실패 + + public static ParseStatus parse(String s) { + if (s == null) return null; + try { return ParseStatus.valueOf(s); } catch (Exception e) { return null; } + } +} diff --git a/ga-core/src/main/java/com/ga/core/enums/PaymentStatus.java b/ga-core/src/main/java/com/ga/core/enums/PaymentStatus.java new file mode 100644 index 0000000..d289d02 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/enums/PaymentStatus.java @@ -0,0 +1,14 @@ +package com.ga.core.enums; + +/** 지급 상태 (V6.payment.pay_status, 코드그룹 PAY_STATUS) */ +public enum PaymentStatus { + PENDING, // 대기 + SENT, // 송신 + DONE, // 완료 + FAIL; // 실패 + + public static PaymentStatus parse(String s) { + if (s == null) return null; + try { return PaymentStatus.valueOf(s); } catch (Exception e) { return null; } + } +} diff --git a/ga-core/src/main/java/com/ga/core/enums/SettleStatus.java b/ga-core/src/main/java/com/ga/core/enums/SettleStatus.java new file mode 100644 index 0000000..3fb2fc3 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/enums/SettleStatus.java @@ -0,0 +1,16 @@ +package com.ga.core.enums; + +/** 정산 상태 (V6.settle_master.status, 코드그룹 SETTLE_STATUS) */ +public enum SettleStatus { + DRAFT, // 산출중 + CALCULATED, // 계산완료 + REVIEW, // 검토 + CONFIRMED, // 확정 + HOLD, // 보류 + PAID; // 지급완료 + + public static SettleStatus parse(String s) { + if (s == null) return null; + try { return SettleStatus.valueOf(s); } catch (Exception e) { return null; } + } +} diff --git a/ga-core/src/main/java/com/ga/core/mapper/org/GradeMapper.java b/ga-core/src/main/java/com/ga/core/mapper/org/GradeMapper.java index 2897a0b..42576b2 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/org/GradeMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/org/GradeMapper.java @@ -1,5 +1,7 @@ package com.ga.core.mapper.org; +import com.ga.core.vo.org.GradeResp; +import com.ga.core.vo.org.GradeSearchParam; import com.ga.core.vo.org.GradeVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -14,4 +16,9 @@ public interface GradeMapper { int insert(GradeVO vo); int update(GradeVO vo); int deleteById(@Param("gradeId") Long gradeId); + + /** 신규: 화면용 Resp + SearchParam */ + List selectRespList(GradeSearchParam param); + GradeResp selectRespById(@Param("gradeId") Long gradeId); + int countAgents(@Param("gradeId") Long gradeId); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/org/OrganizationMapper.java b/ga-core/src/main/java/com/ga/core/mapper/org/OrganizationMapper.java index 813e3d0..5dac033 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/org/OrganizationMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/org/OrganizationMapper.java @@ -1,6 +1,7 @@ package com.ga.core.mapper.org; import com.ga.core.vo.org.OrganizationResp; +import com.ga.core.vo.org.OrganizationSearchParam; import com.ga.core.vo.org.OrganizationVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,6 +14,8 @@ public interface OrganizationMapper { List selectList(@Param("keyword") String keyword, @Param("orgType") String orgType, @Param("isActive") String isActive); + /** 신규: SearchParam 기반 페이징 검색 */ + List selectByParam(OrganizationSearchParam param); OrganizationVO selectById(@Param("orgId") Long orgId); /** 자기 자신 + 모든 하위 조직 ID (CTE 재귀) */ List selectDescendantIds(@Param("orgId") Long orgId); diff --git a/ga-core/src/main/java/com/ga/core/mapper/product/InsuranceCompanyMapper.java b/ga-core/src/main/java/com/ga/core/mapper/product/InsuranceCompanyMapper.java index bf4c8bc..44c4c60 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/product/InsuranceCompanyMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/product/InsuranceCompanyMapper.java @@ -1,5 +1,7 @@ package com.ga.core.mapper.product; +import com.ga.core.vo.product.InsuranceCompanyResp; +import com.ga.core.vo.product.InsuranceCompanySearchParam; import com.ga.core.vo.product.InsuranceCompanyVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -15,4 +17,9 @@ public interface InsuranceCompanyMapper { int insert(InsuranceCompanyVO vo); int update(InsuranceCompanyVO vo); int deleteById(@Param("companyId") Long companyId); + + /** 신규 */ + List selectRespList(InsuranceCompanySearchParam param); + InsuranceCompanyResp selectRespById(@Param("companyId") Long companyId); + int existsByCode(@Param("companyCode") String companyCode); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/product/ProductMapper.java b/ga-core/src/main/java/com/ga/core/mapper/product/ProductMapper.java index 951954b..c24ebf2 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/product/ProductMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/product/ProductMapper.java @@ -19,4 +19,7 @@ public interface ProductMapper { int insert(ProductVO vo); int update(ProductVO vo); int deleteById(@Param("productId") Long productId); + + /** 신규: SearchParam 기반 페이징 검색 */ + List selectByParam(com.ga.core.vo.product.ProductSearchParam param); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/receive/ReceiveMapper.java b/ga-core/src/main/java/com/ga/core/mapper/receive/ReceiveMapper.java index 1e6e8ac..0fdc096 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/receive/ReceiveMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/receive/ReceiveMapper.java @@ -51,4 +51,17 @@ public interface ReceiveMapper { @Param("status") String status, @Param("note") String note, @Param("userId") Long userId); + + // ===================== 신규: Resp + SearchParam ===================== + List selectProfileResp(CompanyProfileSearchParam param); + CompanyProfileResp selectProfileRespByCode(@Param("companyCode") String companyCode); + + List selectFieldMappingResp(@Param("companyCode") String companyCode, + @Param("targetTable") String targetTable); + + List selectCodeMappingResp(CodeMappingSearchParam param); + + List selectRawResp(RawCommissionDataSearchParam param); + + List selectErrorResp(ParseErrorLogSearchParam param); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/rule/RuleMapper.java b/ga-core/src/main/java/com/ga/core/mapper/rule/RuleMapper.java index 48c2bc3..8a3f51e 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/rule/RuleMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/rule/RuleMapper.java @@ -57,4 +57,11 @@ public interface RuleMapper { ExceptionTypeCodeVO selectExceptionCode(@Param("exceptionCode") String exceptionCode); int insertExceptionCode(ExceptionTypeCodeVO vo); int updateExceptionCode(ExceptionTypeCodeVO vo); + + // ===================== 신규: Resp + SearchParam ===================== + List selectCommissionRateResp(CommissionRateSearchParam param); + List selectPayoutRuleResp(PayoutRuleSearchParam param); + List selectOverrideRuleResp(OverrideRuleSearchParam param); + List selectChargebackRuleResp(ChargebackRuleSearchParam param); + List selectExceptionTypeCodeResp(ExceptionTypeCodeSearchParam param); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/settle/BatchJobLogMapper.java b/ga-core/src/main/java/com/ga/core/mapper/settle/BatchJobLogMapper.java index d4fb945..9d00623 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/settle/BatchJobLogMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/settle/BatchJobLogMapper.java @@ -15,4 +15,7 @@ public interface BatchJobLogMapper { List selectList(@Param("jobName") String jobName, @Param("settleMonth") String settleMonth); int isRunning(@Param("jobName") String jobName); + + /** 신규 */ + List selectRespList(com.ga.core.vo.settle.BatchJobLogSearchParam param); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/settle/ChargebackMapper.java b/ga-core/src/main/java/com/ga/core/mapper/settle/ChargebackMapper.java index 9f87bf6..37b04af 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/settle/ChargebackMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/settle/ChargebackMapper.java @@ -20,4 +20,7 @@ public interface ChargebackMapper { List> aggregateByAgent(@Param("settleMonth") String settleMonth); BigDecimal sumByMonth(@Param("settleMonth") String settleMonth); + + /** 신규 */ + List selectRespList(com.ga.core.vo.settle.ChargebackSearchParam param); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/settle/OverrideSettleMapper.java b/ga-core/src/main/java/com/ga/core/mapper/settle/OverrideSettleMapper.java index c816291..f176ba5 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/settle/OverrideSettleMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/settle/OverrideSettleMapper.java @@ -18,4 +18,7 @@ public interface OverrideSettleMapper { /** 정산월 + 상위설계사별 override 합계 */ List> aggregateByUpper(@Param("settleMonth") String settleMonth); BigDecimal sumByMonth(@Param("settleMonth") String settleMonth); + + /** 신규 */ + List selectRespList(com.ga.core.vo.settle.OverrideSettleSearchParam param); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/settle/PaymentMapper.java b/ga-core/src/main/java/com/ga/core/mapper/settle/PaymentMapper.java index 5f20a5f..08f109e 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/settle/PaymentMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/settle/PaymentMapper.java @@ -19,4 +19,8 @@ public interface PaymentMapper { @Param("failReason") String failReason); int updateTransferFile(@Param("paymentIds") List paymentIds, @Param("transferFileId") Long transferFileId); + + /** 신규: PaymentSearchParam 기반 */ + List selectByParam(com.ga.core.vo.settle.PaymentSearchParam param); + PaymentResp selectRespById(@Param("paymentId") Long paymentId); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/settle/ReconciliationMapper.java b/ga-core/src/main/java/com/ga/core/mapper/settle/ReconciliationMapper.java index 4ceeb8e..8f63290 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/settle/ReconciliationMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/settle/ReconciliationMapper.java @@ -13,4 +13,7 @@ public interface ReconciliationMapper { int resolve(@Param("reconId") Long reconId, @Param("note") String note, @Param("userId") Long userId); + + /** 신규 */ + List selectRespList(com.ga.core.vo.settle.ReconciliationSearchParam param); } diff --git a/ga-core/src/main/java/com/ga/core/mapper/user/RoleMapper.java b/ga-core/src/main/java/com/ga/core/mapper/user/RoleMapper.java index 64ce5bd..803b378 100644 --- a/ga-core/src/main/java/com/ga/core/mapper/user/RoleMapper.java +++ b/ga-core/src/main/java/com/ga/core/mapper/user/RoleMapper.java @@ -21,4 +21,9 @@ public interface RoleMapper { @Param("menuId") Long menuId, @Param("permCode") String permCode, @Param("isGranted") String isGranted); + + /** 신규 */ + List selectRespList(com.ga.core.vo.user.RoleSearchParam param); + com.ga.core.vo.user.RoleResp selectRespById(@Param("roleId") Long roleId); + int existsByCode(@Param("roleCode") String roleCode); } diff --git a/ga-core/src/main/java/com/ga/core/mapstruct/LedgerMapStruct.java b/ga-core/src/main/java/com/ga/core/mapstruct/LedgerMapStruct.java new file mode 100644 index 0000000..fd1c259 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/mapstruct/LedgerMapStruct.java @@ -0,0 +1,13 @@ +package com.ga.core.mapstruct; + +import com.ga.core.vo.ledger.ExceptionLedgerSaveReq; +import com.ga.core.vo.ledger.ExceptionLedgerVO; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.ReportingPolicy; + +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface LedgerMapStruct { + ExceptionLedgerVO toVO(ExceptionLedgerSaveReq req); + void copyToVO(ExceptionLedgerSaveReq req, @MappingTarget ExceptionLedgerVO vo); +} diff --git a/ga-core/src/main/java/com/ga/core/mapstruct/OrgMapStruct.java b/ga-core/src/main/java/com/ga/core/mapstruct/OrgMapStruct.java new file mode 100644 index 0000000..208f415 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/mapstruct/OrgMapStruct.java @@ -0,0 +1,30 @@ +package com.ga.core.mapstruct; + +import com.ga.core.vo.org.AgentSaveReq; +import com.ga.core.vo.org.AgentVO; +import com.ga.core.vo.org.GradeSaveReq; +import com.ga.core.vo.org.GradeVO; +import com.ga.core.vo.org.OrganizationSaveReq; +import com.ga.core.vo.org.OrganizationVO; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.ReportingPolicy; + +/** + * org 도메인 SaveReq ↔ VO 변환. + *

+ * INSERT 시: toVO() 로 새 VO 생성 + * UPDATE 시: copyToVO(req, vo) 로 기존 VO에 머지 (PK/감사필드 보존) + */ +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface OrgMapStruct { + + AgentVO toVO(AgentSaveReq req); + void copyToVO(AgentSaveReq req, @MappingTarget AgentVO vo); + + GradeVO toVO(GradeSaveReq req); + void copyToVO(GradeSaveReq req, @MappingTarget GradeVO vo); + + OrganizationVO toVO(OrganizationSaveReq req); + void copyToVO(OrganizationSaveReq req, @MappingTarget OrganizationVO vo); +} diff --git a/ga-core/src/main/java/com/ga/core/mapstruct/ProductMapStruct.java b/ga-core/src/main/java/com/ga/core/mapstruct/ProductMapStruct.java new file mode 100644 index 0000000..da3f9f3 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/mapstruct/ProductMapStruct.java @@ -0,0 +1,24 @@ +package com.ga.core.mapstruct; + +import com.ga.core.vo.product.ContractSaveReq; +import com.ga.core.vo.product.ContractVO; +import com.ga.core.vo.product.InsuranceCompanySaveReq; +import com.ga.core.vo.product.InsuranceCompanyVO; +import com.ga.core.vo.product.ProductSaveReq; +import com.ga.core.vo.product.ProductVO; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.ReportingPolicy; + +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface ProductMapStruct { + + ContractVO toVO(ContractSaveReq req); + void copyToVO(ContractSaveReq req, @MappingTarget ContractVO vo); + + InsuranceCompanyVO toVO(InsuranceCompanySaveReq req); + void copyToVO(InsuranceCompanySaveReq req, @MappingTarget InsuranceCompanyVO vo); + + ProductVO toVO(ProductSaveReq req); + void copyToVO(ProductSaveReq req, @MappingTarget ProductVO vo); +} diff --git a/ga-core/src/main/java/com/ga/core/mapstruct/RuleMapStruct.java b/ga-core/src/main/java/com/ga/core/mapstruct/RuleMapStruct.java new file mode 100644 index 0000000..9c9dbea --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/mapstruct/RuleMapStruct.java @@ -0,0 +1,25 @@ +package com.ga.core.mapstruct; + +import com.ga.core.vo.rule.*; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.ReportingPolicy; + +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface RuleMapStruct { + + CommissionRateVO toVO(CommissionRateSaveReq req); + void copyToVO(CommissionRateSaveReq req, @MappingTarget CommissionRateVO vo); + + PayoutRuleVO toVO(PayoutRuleSaveReq req); + void copyToVO(PayoutRuleSaveReq req, @MappingTarget PayoutRuleVO vo); + + OverrideRuleVO toVO(OverrideRuleSaveReq req); + void copyToVO(OverrideRuleSaveReq req, @MappingTarget OverrideRuleVO vo); + + ChargebackRuleVO toVO(ChargebackRuleSaveReq req); + void copyToVO(ChargebackRuleSaveReq req, @MappingTarget ChargebackRuleVO vo); + + ExceptionTypeCodeVO toVO(ExceptionTypeCodeSaveReq req); + void copyToVO(ExceptionTypeCodeSaveReq req, @MappingTarget ExceptionTypeCodeVO vo); +} diff --git a/ga-core/src/main/java/com/ga/core/mapstruct/SettleMapStruct.java b/ga-core/src/main/java/com/ga/core/mapstruct/SettleMapStruct.java new file mode 100644 index 0000000..d177a42 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/mapstruct/SettleMapStruct.java @@ -0,0 +1,13 @@ +package com.ga.core.mapstruct; + +import com.ga.core.vo.settle.PaymentSaveReq; +import com.ga.core.vo.settle.PaymentVO; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.ReportingPolicy; + +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface SettleMapStruct { + PaymentVO toVO(PaymentSaveReq req); + void copyToVO(PaymentSaveReq req, @MappingTarget PaymentVO vo); +} diff --git a/ga-core/src/main/java/com/ga/core/mapstruct/UserMapStruct.java b/ga-core/src/main/java/com/ga/core/mapstruct/UserMapStruct.java new file mode 100644 index 0000000..e4de390 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/mapstruct/UserMapStruct.java @@ -0,0 +1,24 @@ +package com.ga.core.mapstruct; + +import com.ga.core.vo.user.RoleSaveReq; +import com.ga.core.vo.user.RoleVO; +import com.ga.core.vo.user.UserSaveReq; +import com.ga.core.vo.user.UserVO; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.MappingTarget; +import org.mapstruct.ReportingPolicy; + +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface UserMapStruct { + + /** UserSaveReq → UserVO. password는 Service에서 BCrypt 인코딩 후 별도 set. */ + @Mapping(target = "password", ignore = true) + UserVO toVO(UserSaveReq req); + + @Mapping(target = "password", ignore = true) + void copyToVO(UserSaveReq req, @MappingTarget UserVO vo); + + RoleVO toVO(RoleSaveReq req); + void copyToVO(RoleSaveReq req, @MappingTarget RoleVO vo); +} diff --git a/ga-core/src/main/java/com/ga/core/vo/ledger/ExceptionLedgerSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/ledger/ExceptionLedgerSearchParam.java new file mode 100644 index 0000000..cceee4f --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/ledger/ExceptionLedgerSearchParam.java @@ -0,0 +1,17 @@ +package com.ga.core.vo.ledger; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class ExceptionLedgerSearchParam extends SearchParam { + private Long agentId; + private Long orgId; + private String settleMonth; + private String exceptionCode; + private String approveStatus; // PENDING / APPROVED / REJECTED + private String direction; // PLUS / MINUS + private Boolean recurringOnly; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/org/AgentOrgHistoryResp.java b/ga-core/src/main/java/com/ga/core/vo/org/AgentOrgHistoryResp.java new file mode 100644 index 0000000..5a4e7a2 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/org/AgentOrgHistoryResp.java @@ -0,0 +1,26 @@ +package com.ga.core.vo.org; + +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +public class AgentOrgHistoryResp { + private Long historyId; + private Long agentId; + private String agentName; + private Long fromOrgId; + private String fromOrgName; + private Long toOrgId; + private String toOrgName; + private Long fromGradeId; + private String fromGradeName; + private Long toGradeId; + private String toGradeName; + private String changeType; + private String changeTypeName; + private LocalDate changeDate; + private String changeReason; + private LocalDateTime createdAt; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/org/GradeResp.java b/ga-core/src/main/java/com/ga/core/vo/org/GradeResp.java new file mode 100644 index 0000000..4683748 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/org/GradeResp.java @@ -0,0 +1,15 @@ +package com.ga.core.vo.org; + +import lombok.Data; + +@Data +public class GradeResp { + private Long gradeId; + private String gradeName; + private Integer gradeLevel; + private String gradeGroup; + private String description; + private String isActive; + private Integer sortOrder; + private Integer agentCount; // 직급 보유 설계사 수 +} diff --git a/ga-core/src/main/java/com/ga/core/vo/org/GradeSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/org/GradeSaveReq.java new file mode 100644 index 0000000..812046c --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/org/GradeSaveReq.java @@ -0,0 +1,21 @@ +package com.ga.core.vo.org; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@Data +public class GradeSaveReq { + @NotBlank(message = "직급명은 필수입니다") + @Size(max = 30) + private String gradeName; + + @NotNull(message = "직급 레벨은 필수입니다") + private Integer gradeLevel; + + private String gradeGroup; + private String description; + private String isActive; + private Integer sortOrder; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/org/GradeSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/org/GradeSearchParam.java new file mode 100644 index 0000000..dfea6a5 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/org/GradeSearchParam.java @@ -0,0 +1,12 @@ +package com.ga.core.vo.org; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class GradeSearchParam extends SearchParam { + private String gradeGroup; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/org/OrganizationSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/org/OrganizationSaveReq.java new file mode 100644 index 0000000..9c6f8e1 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/org/OrganizationSaveReq.java @@ -0,0 +1,24 @@ +package com.ga.core.vo.org; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class OrganizationSaveReq { + private Long parentOrgId; + + @NotBlank(message = "조직명은 필수입니다") + @Size(max = 100) + private String orgName; + + @NotBlank(message = "조직 유형은 필수입니다") + private String orgType; // HQ / BR / TM + + private String region; + private LocalDate effectiveFrom; + private LocalDate effectiveTo; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/org/OrganizationSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/org/OrganizationSearchParam.java new file mode 100644 index 0000000..9204525 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/org/OrganizationSearchParam.java @@ -0,0 +1,15 @@ +package com.ga.core.vo.org; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class OrganizationSearchParam extends SearchParam { + private Long parentOrgId; + private String orgType; + private String region; + private String isActive; + private Boolean includeSubOrgs; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/product/ContractExcelVO.java b/ga-core/src/main/java/com/ga/core/vo/product/ContractExcelVO.java new file mode 100644 index 0000000..3add957 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/product/ContractExcelVO.java @@ -0,0 +1,51 @@ +package com.ga.core.vo.product; + +import com.ga.common.annotation.ExcelColumn; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * 계약 엑셀 다운로드/업로드용. 어노테이션 기반 자동 매핑. + * 마스킹/코드그룹 변환은 ExcelService가 처리. + */ +@Data +public class ContractExcelVO { + + @ExcelColumn(header = "증권번호", order = 1, width = 22, required = true) + private String policyNo; + + @ExcelColumn(header = "설계사명", order = 2, width = 14) + private String agentName; + + @ExcelColumn(header = "보험사", order = 3, width = 14) + private String companyName; + + @ExcelColumn(header = "상품명", order = 4, width = 24) + private String productName; + + @ExcelColumn(header = "보종", order = 5, width = 12, codeGroup = "INSURANCE_TYPE") + private String insuranceType; + + @ExcelColumn(header = "계약자", order = 6, width = 14) + private String contractorName; + + @ExcelColumn(header = "피보험자", order = 7, width = 14) + private String insuredName; + + @ExcelColumn(header = "보험료", order = 8, width = 14) + private BigDecimal premium; + + @ExcelColumn(header = "납주기", order = 9, width = 8, codeGroup = "PAY_CYCLE") + private String payCycle; + + @ExcelColumn(header = "상태", order = 10, width = 10, codeGroup = "CONTRACT_STATUS") + private String status; + + @ExcelColumn(header = "체결일", order = 11, width = 12, format = "yyyy-MM-dd") + private LocalDate contractDate; + + @ExcelColumn(header = "효력일", order = 12, width = 12, format = "yyyy-MM-dd") + private LocalDate effectiveDate; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanyResp.java b/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanyResp.java new file mode 100644 index 0000000..6426c03 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanyResp.java @@ -0,0 +1,18 @@ +package com.ga.core.vo.product; + +import lombok.Data; + +@Data +public class InsuranceCompanyResp { + private Long companyId; + private String companyCode; + private String companyName; + private String companyType; + private String companyTypeName; + private String bizNo; + private String contactName; + private String contactPhone; + private String contactEmail; + private String isActive; + private Integer productCount; // 상품 수 +} diff --git a/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanySaveReq.java b/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanySaveReq.java new file mode 100644 index 0000000..94322ea --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanySaveReq.java @@ -0,0 +1,23 @@ +package com.ga.core.vo.product; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@Data +public class InsuranceCompanySaveReq { + @NotBlank(message = "보험사 코드는 필수입니다") + @Size(max = 20) + private String companyCode; + + @NotBlank(message = "보험사명은 필수입니다") + @Size(max = 100) + private String companyName; + + private String companyType; + private String bizNo; + private String contactName; + private String contactPhone; + private String contactEmail; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanySearchParam.java b/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanySearchParam.java new file mode 100644 index 0000000..f825293 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/product/InsuranceCompanySearchParam.java @@ -0,0 +1,12 @@ +package com.ga.core.vo.product; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class InsuranceCompanySearchParam extends SearchParam { + private String companyType; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/product/ProductSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/product/ProductSaveReq.java new file mode 100644 index 0000000..3a84c32 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/product/ProductSaveReq.java @@ -0,0 +1,31 @@ +package com.ga.core.vo.product; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class ProductSaveReq { + @NotNull(message = "보험사를 선택해주세요") + private Long companyId; + + @NotBlank(message = "상품 코드는 필수입니다") + @Size(max = 30) + private String productCode; + + @NotBlank(message = "상품명은 필수입니다") + @Size(max = 100) + private String productName; + + @NotBlank(message = "보험 종목은 필수입니다") + private String insuranceType; + + private String productGroup; + private String payPeriodType; + private String isActive; + private LocalDate launchDate; + private LocalDate endDate; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/product/ProductSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/product/ProductSearchParam.java new file mode 100644 index 0000000..4445e30 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/product/ProductSearchParam.java @@ -0,0 +1,14 @@ +package com.ga.core.vo.product; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class ProductSearchParam extends SearchParam { + private Long companyId; + private String insuranceType; + private String productGroup; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingResp.java b/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingResp.java new file mode 100644 index 0000000..3674019 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingResp.java @@ -0,0 +1,17 @@ +package com.ga.core.vo.receive; + +import lombok.Data; + +@Data +public class CodeMappingResp { + private Long codeId; + private String companyCode; + private String companyName; + private String codeType; + private String codeTypeName; + private String sourceCode; + private String sourceName; + private String targetCode; + private String targetName; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingSaveReq.java new file mode 100644 index 0000000..72c11d4 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingSaveReq.java @@ -0,0 +1,15 @@ +package com.ga.core.vo.receive; + +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +@Data +public class CodeMappingSaveReq { + @NotBlank private String companyCode; + @NotBlank private String codeType; + @NotBlank private String sourceCode; + private String sourceName; + @NotBlank private String targetCode; + private String targetName; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingSearchParam.java new file mode 100644 index 0000000..b594720 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CodeMappingSearchParam.java @@ -0,0 +1,13 @@ +package com.ga.core.vo.receive; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class CodeMappingSearchParam extends SearchParam { + private String companyCode; + private String codeType; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CompanyFieldMappingResp.java b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyFieldMappingResp.java new file mode 100644 index 0000000..b628222 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyFieldMappingResp.java @@ -0,0 +1,23 @@ +package com.ga.core.vo.receive; + +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class CompanyFieldMappingResp { + private Long mappingId; + private String companyCode; + private String companyName; + private String sourceField; + private Integer sourceColIndex; + private String targetTable; + private String targetField; + private String dataType; + private String transformRule; + private String defaultValue; + private String isRequired; + private Integer sortOrder; + private Integer version; + private LocalDate effectiveFrom; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CompanyFieldMappingSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyFieldMappingSaveReq.java new file mode 100644 index 0000000..5cde2c7 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyFieldMappingSaveReq.java @@ -0,0 +1,34 @@ +package com.ga.core.vo.receive; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class CompanyFieldMappingSaveReq { + @NotBlank + private String companyCode; + + @NotBlank + private String sourceField; + + private Integer sourceColIndex; + + @NotBlank + private String targetTable; + + @NotBlank + private String targetField; + + private String dataType; + private String transformRule; + private String defaultValue; + private String isRequired; + + @NotNull + private Integer sortOrder; + private Integer version; + private LocalDate effectiveFrom; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileResp.java b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileResp.java new file mode 100644 index 0000000..343ca8b --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileResp.java @@ -0,0 +1,26 @@ +package com.ga.core.vo.receive; + +import lombok.Data; + +@Data +public class CompanyProfileResp { + private String companyCode; + private String companyName; + private String dataFormat; + private String dataFormatName; + private String receiveMethod; + private String receiveMethodName; + private String fileEncoding; + private String delimiter; + private Integer headerRow; + private Integer dataStartRow; + private String sheetName; + private String dateFormat; + private String amountFormat; + private String apiUrl; + private String ftpHost; + private String ftpPath; + private String receiveSchedule; + private String isActive; + private Integer fieldMappingCount; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileSaveReq.java new file mode 100644 index 0000000..38062fe --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileSaveReq.java @@ -0,0 +1,29 @@ +package com.ga.core.vo.receive; + +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +@Data +public class CompanyProfileSaveReq { + @NotBlank + private String companyCode; + + @NotBlank + private String dataFormat; // EXCEL / CSV / EDI / API + + @NotBlank + private String receiveMethod; // MANUAL / FTP / API / SFTP + + private String fileEncoding; + private String delimiter; + private Integer headerRow; + private Integer dataStartRow; + private String sheetName; + private String dateFormat; + private String amountFormat; + private String apiUrl; + private String ftpHost; + private String ftpPath; + private String receiveSchedule; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileSearchParam.java new file mode 100644 index 0000000..94f9ef5 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/CompanyProfileSearchParam.java @@ -0,0 +1,13 @@ +package com.ga.core.vo.receive; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class CompanyProfileSearchParam extends SearchParam { + private String dataFormat; + private String receiveMethod; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/ParseErrorLogResp.java b/ga-core/src/main/java/com/ga/core/vo/receive/ParseErrorLogResp.java new file mode 100644 index 0000000..30a8af0 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/ParseErrorLogResp.java @@ -0,0 +1,25 @@ +package com.ga.core.vo.receive; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class ParseErrorLogResp { + private Long errorId; + private Long rawId; + private String companyCode; + private String companyName; + private String errorType; + private String errorTypeName; + private String errorField; + private String errorValue; + private String errorMessage; + private String resolveStatus; + private String resolveStatusName; + private Long resolvedBy; + private String resolvedByName; + private String resolveNote; + private LocalDateTime resolvedAt; + private LocalDateTime createdAt; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/ParseErrorLogSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/receive/ParseErrorLogSearchParam.java new file mode 100644 index 0000000..a0103f8 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/ParseErrorLogSearchParam.java @@ -0,0 +1,13 @@ +package com.ga.core.vo.receive; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class ParseErrorLogSearchParam extends SearchParam { + private String companyCode; + private String errorType; + private String resolveStatus; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/RawCommissionDataResp.java b/ga-core/src/main/java/com/ga/core/vo/receive/RawCommissionDataResp.java new file mode 100644 index 0000000..64be28b --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/RawCommissionDataResp.java @@ -0,0 +1,23 @@ +package com.ga.core.vo.receive; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class RawCommissionDataResp { + private Long rawId; + private String companyCode; + private String companyName; + private String batchId; + private String settleMonth; + private String dataType; + private String parseStatus; + private String parseStatusName; + private Long mappedLedgerId; + private String mappedTable; + private String fileName; + private Integer rowNumber; + private LocalDateTime receivedAt; + private LocalDateTime parsedAt; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/receive/RawCommissionDataSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/receive/RawCommissionDataSearchParam.java new file mode 100644 index 0000000..b1f3a00 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/receive/RawCommissionDataSearchParam.java @@ -0,0 +1,14 @@ +package com.ga.core.vo.receive; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class RawCommissionDataSearchParam extends SearchParam { + private String companyCode; + private String settleMonth; + private String parseStatus; + private String batchId; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleResp.java b/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleResp.java new file mode 100644 index 0000000..ee259d4 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleResp.java @@ -0,0 +1,23 @@ +package com.ga.core.vo.rule; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class ChargebackRuleResp { + private Long cbRuleId; + private String companyCode; + private String companyName; + private String insuranceType; + private String insuranceTypeName; + private Integer lapseMonthFrom; + private Integer lapseMonthTo; + private BigDecimal cbRate; + private String includeOverride; + private String installmentAllowed; + private Integer maxInstallments; + private LocalDate effectiveFrom; + private LocalDate effectiveTo; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleSaveReq.java new file mode 100644 index 0000000..976769d --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleSaveReq.java @@ -0,0 +1,30 @@ +package com.ga.core.vo.rule; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PositiveOrZero; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class ChargebackRuleSaveReq { + @NotBlank private String companyCode; + @NotBlank private String insuranceType; + + @NotNull private Integer lapseMonthFrom; + @NotNull private Integer lapseMonthTo; + + @NotNull + @PositiveOrZero + private BigDecimal cbRate; + + private String includeOverride; + private String installmentAllowed; + private Integer maxInstallments; + + @NotNull + private LocalDate effectiveFrom; + private LocalDate effectiveTo; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleSearchParam.java new file mode 100644 index 0000000..c35b1e1 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/ChargebackRuleSearchParam.java @@ -0,0 +1,15 @@ +package com.ga.core.vo.rule; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDate; + +@Data +@EqualsAndHashCode(callSuper = true) +public class ChargebackRuleSearchParam extends SearchParam { + private String companyCode; + private String insuranceType; + private LocalDate effectiveDate; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateResp.java b/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateResp.java new file mode 100644 index 0000000..5f8d328 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateResp.java @@ -0,0 +1,25 @@ +package com.ga.core.vo.rule; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +public class CommissionRateResp { + private Long rateId; + private Long productId; + private String productCode; + private String productName; + private String companyName; + private Integer commissionYear; + private BigDecimal ratePct; + private String payMethodCond; + private BigDecimal minPremium; + private LocalDate effectiveFrom; + private LocalDate effectiveTo; + private Integer version; + private LocalDateTime createdAt; + private String createdByName; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateSaveReq.java new file mode 100644 index 0000000..5114d9f --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateSaveReq.java @@ -0,0 +1,27 @@ +package com.ga.core.vo.rule; + +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PositiveOrZero; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class CommissionRateSaveReq { + @NotNull private Long productId; + + @NotNull(message = "수수료 연차는 필수입니다") + private Integer commissionYear; + + @NotNull(message = "수수료율은 필수입니다") + @PositiveOrZero + private BigDecimal ratePct; + + private String payMethodCond; + private BigDecimal minPremium; + + @NotNull + private LocalDate effectiveFrom; + private LocalDate effectiveTo; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateSearchParam.java new file mode 100644 index 0000000..9dde71e --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/CommissionRateSearchParam.java @@ -0,0 +1,16 @@ +package com.ga.core.vo.rule; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDate; + +@Data +@EqualsAndHashCode(callSuper = true) +public class CommissionRateSearchParam extends SearchParam { + private Long productId; + private Long companyId; + private Integer commissionYear; + private LocalDate effectiveDate; // 해당일에 유효한 규정만 +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeResp.java b/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeResp.java new file mode 100644 index 0000000..8eb27d5 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeResp.java @@ -0,0 +1,18 @@ +package com.ga.core.vo.rule; + +import lombok.Data; + +@Data +public class ExceptionTypeCodeResp { + private String exceptionCode; + private String exceptionName; + private String category; + private String categoryName; + private String direction; + private String directionName; + private String autoCalcYn; + private String approvalRequired; + private String taxIncluded; + private String description; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeSaveReq.java new file mode 100644 index 0000000..a4918e2 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeSaveReq.java @@ -0,0 +1,28 @@ +package com.ga.core.vo.rule; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@Data +public class ExceptionTypeCodeSaveReq { + @NotBlank + @Size(max = 30) + private String exceptionCode; + + @NotBlank + @Size(max = 100) + private String exceptionName; + + @NotBlank + private String category; + + @NotBlank + private String direction; // PLUS / MINUS + + private String autoCalcYn; + private String approvalRequired; + private String taxIncluded; + private String description; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeSearchParam.java new file mode 100644 index 0000000..9ecafb1 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/ExceptionTypeCodeSearchParam.java @@ -0,0 +1,13 @@ +package com.ga.core.vo.rule; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class ExceptionTypeCodeSearchParam extends SearchParam { + private String category; + private String direction; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleResp.java b/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleResp.java new file mode 100644 index 0000000..6a9c2b0 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleResp.java @@ -0,0 +1,22 @@ +package com.ga.core.vo.rule; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class OverrideRuleResp { + private Long overrideId; + private Long fromGrade; + private String fromGradeName; + private Long toGrade; + private String toGradeName; + private BigDecimal overridePct; + private String calcType; + private String calcTypeName; + private String insuranceTypeCond; + private BigDecimal capAmount; + private LocalDate effectiveFrom; + private LocalDate effectiveTo; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleSaveReq.java new file mode 100644 index 0000000..7dcb700 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleSaveReq.java @@ -0,0 +1,26 @@ +package com.ga.core.vo.rule; + +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PositiveOrZero; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class OverrideRuleSaveReq { + @NotNull private Long fromGrade; + @NotNull private Long toGrade; + + @NotNull + @PositiveOrZero + private BigDecimal overridePct; + + private String calcType; + private String insuranceTypeCond; + private BigDecimal capAmount; + + @NotNull + private LocalDate effectiveFrom; + private LocalDate effectiveTo; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleSearchParam.java new file mode 100644 index 0000000..8b95fa1 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/OverrideRuleSearchParam.java @@ -0,0 +1,15 @@ +package com.ga.core.vo.rule; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDate; + +@Data +@EqualsAndHashCode(callSuper = true) +public class OverrideRuleSearchParam extends SearchParam { + private Long fromGrade; + private Long toGrade; + private LocalDate effectiveDate; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleResp.java b/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleResp.java new file mode 100644 index 0000000..ca8982f --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleResp.java @@ -0,0 +1,25 @@ +package com.ga.core.vo.rule; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +public class PayoutRuleResp { + private Long ruleId; + private Long gradeId; + private String gradeName; + private String insuranceType; + private String insuranceTypeName; + private Integer commissionYear; + private BigDecimal payoutPct; + private String payMethodCond; + private String performanceGrade; + private LocalDate effectiveFrom; + private LocalDate effectiveTo; + private Integer version; + private LocalDateTime createdAt; + private String createdByName; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleSaveReq.java new file mode 100644 index 0000000..b443a44 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleSaveReq.java @@ -0,0 +1,31 @@ +package com.ga.core.vo.rule; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PositiveOrZero; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class PayoutRuleSaveReq { + @NotNull private Long gradeId; + + @NotBlank(message = "보종은 필수입니다") + private String insuranceType; + + @NotNull + private Integer commissionYear; + + @NotNull + @PositiveOrZero + private BigDecimal payoutPct; + + private String payMethodCond; + private String performanceGrade; + + @NotNull + private LocalDate effectiveFrom; + private LocalDate effectiveTo; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleSearchParam.java new file mode 100644 index 0000000..130e416 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/rule/PayoutRuleSearchParam.java @@ -0,0 +1,16 @@ +package com.ga.core.vo.rule; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDate; + +@Data +@EqualsAndHashCode(callSuper = true) +public class PayoutRuleSearchParam extends SearchParam { + private Long gradeId; + private String insuranceType; + private Integer commissionYear; + private LocalDate effectiveDate; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/BatchJobLogResp.java b/ga-core/src/main/java/com/ga/core/vo/settle/BatchJobLogResp.java new file mode 100644 index 0000000..320a861 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/BatchJobLogResp.java @@ -0,0 +1,27 @@ +package com.ga.core.vo.settle; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class BatchJobLogResp { + private Long jobId; + private String jobName; + private String jobNameDisplay; + private String jobParams; + private String settleMonth; + private String status; + private String statusName; + private String currentStep; + private Integer progressPct; + private Integer totalCount; + private Integer processedCount; + private Integer errorCount; + private String errorMessage; + private LocalDateTime startedAt; + private LocalDateTime finishedAt; + private Integer durationSec; + private Long triggeredBy; + private String triggeredByName; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/BatchJobLogSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/settle/BatchJobLogSearchParam.java new file mode 100644 index 0000000..c34b3e1 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/BatchJobLogSearchParam.java @@ -0,0 +1,13 @@ +package com.ga.core.vo.settle; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class BatchJobLogSearchParam extends SearchParam { + private String jobName; + private String settleMonth; + private String batchJobStatus; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/ChargebackResp.java b/ga-core/src/main/java/com/ga/core/vo/settle/ChargebackResp.java new file mode 100644 index 0000000..b3665e1 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/ChargebackResp.java @@ -0,0 +1,27 @@ +package com.ga.core.vo.settle; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class ChargebackResp { + private Long cbId; + private Long contractId; + private Long agentId; + private String agentName; + private String policyNo; + private String productName; + private Integer lapseMonth; + private BigDecimal cbRate; + private BigDecimal cbAmount; + private BigDecimal paidAmount; + private BigDecimal remainAmount; + private String settleMonth; + private Integer installmentNo; + private Integer maxInstallments; + private String status; + private String statusName; + private LocalDateTime createdAt; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/ChargebackSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/settle/ChargebackSearchParam.java new file mode 100644 index 0000000..c94b8ce --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/ChargebackSearchParam.java @@ -0,0 +1,16 @@ +package com.ga.core.vo.settle; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class ChargebackSearchParam extends SearchParam { + private Long agentId; + private Long contractId; + private String policyNo; + private String settleMonth; + private String chargebackStatus; + private Boolean remainOnly; // 잔액 있는 것만 +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/OverrideSettleResp.java b/ga-core/src/main/java/com/ga/core/vo/settle/OverrideSettleResp.java new file mode 100644 index 0000000..6cc1727 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/OverrideSettleResp.java @@ -0,0 +1,23 @@ +package com.ga.core.vo.settle; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class OverrideSettleResp { + private Long osId; + private Long settleId; + private Long upperAgentId; + private String upperAgentName; + private String upperOrgName; + private String upperGradeName; + private Long lowerAgentId; + private String lowerAgentName; + private String settleMonth; + private BigDecimal baseAmount; + private BigDecimal overridePct; + private BigDecimal overrideAmount; + private LocalDateTime calcDate; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/OverrideSettleSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/settle/OverrideSettleSearchParam.java new file mode 100644 index 0000000..9ed096a --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/OverrideSettleSearchParam.java @@ -0,0 +1,14 @@ +package com.ga.core.vo.settle; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class OverrideSettleSearchParam extends SearchParam { + private Long upperAgentId; + private Long lowerAgentId; + private Long settleId; + private String settleMonth; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/PaymentSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/settle/PaymentSaveReq.java new file mode 100644 index 0000000..5a8ac14 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/PaymentSaveReq.java @@ -0,0 +1,27 @@ +package com.ga.core.vo.settle; + +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Positive; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class PaymentSaveReq { + @NotNull + private Long settleId; + + @NotNull + private Long agentId; + + @NotNull + @Positive + private BigDecimal payAmount; + + private String bankCode; + private String accountNo; // 입력 시 평문 → EncryptTypeHandler 가 저장 시 암호화 + + @NotNull + private LocalDate payDate; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/PaymentSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/settle/PaymentSearchParam.java new file mode 100644 index 0000000..eaf8cef --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/PaymentSearchParam.java @@ -0,0 +1,17 @@ +package com.ga.core.vo.settle; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDate; + +@Data +@EqualsAndHashCode(callSuper = true) +public class PaymentSearchParam extends SearchParam { + private Long agentId; + private Long settleId; + private String payStatus; + private LocalDate payDateFrom; + private LocalDate payDateTo; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/ReconciliationResp.java b/ga-core/src/main/java/com/ga/core/vo/settle/ReconciliationResp.java new file mode 100644 index 0000000..4b18e63 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/ReconciliationResp.java @@ -0,0 +1,25 @@ +package com.ga.core.vo.settle; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class ReconciliationResp { + private Long reconId; + private String companyCode; + private String companyName; + private String settleMonth; + private BigDecimal companyTotal; + private BigDecimal systemTotal; + private BigDecimal diffAmount; + private Integer diffCount; + private String status; + private String statusName; + private String resolveNote; + private Long resolvedBy; + private String resolvedByName; + private LocalDateTime resolvedAt; + private LocalDateTime createdAt; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/settle/ReconciliationSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/settle/ReconciliationSearchParam.java new file mode 100644 index 0000000..a3d1e99 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/settle/ReconciliationSearchParam.java @@ -0,0 +1,14 @@ +package com.ga.core.vo.settle; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class ReconciliationSearchParam extends SearchParam { + private String companyCode; + private String settleMonth; + private String reconcileStatus; + private Boolean diffOnly; // 차이 있는 것만 +} diff --git a/ga-core/src/main/java/com/ga/core/vo/user/RoleResp.java b/ga-core/src/main/java/com/ga/core/vo/user/RoleResp.java new file mode 100644 index 0000000..8d2f9a4 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/user/RoleResp.java @@ -0,0 +1,16 @@ +package com.ga.core.vo.user; + +import lombok.Data; + +@Data +public class RoleResp { + private Long roleId; + private String roleCode; + private String roleName; + private String roleDesc; + private Integer roleLevel; + private String isSystem; + private String isActive; + private Integer userCount; // 해당 역할 보유 사용자 수 + private Integer permissionCount; // 부여된 메뉴-권한 수 +} diff --git a/ga-core/src/main/java/com/ga/core/vo/user/RoleSaveReq.java b/ga-core/src/main/java/com/ga/core/vo/user/RoleSaveReq.java new file mode 100644 index 0000000..9d5a5c7 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/user/RoleSaveReq.java @@ -0,0 +1,20 @@ +package com.ga.core.vo.user; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@Data +public class RoleSaveReq { + @NotBlank + @Size(max = 30) + private String roleCode; + + @NotBlank + @Size(max = 50) + private String roleName; + + private String roleDesc; + private Integer roleLevel; + private String isActive; +} diff --git a/ga-core/src/main/java/com/ga/core/vo/user/RoleSearchParam.java b/ga-core/src/main/java/com/ga/core/vo/user/RoleSearchParam.java new file mode 100644 index 0000000..e3d19b4 --- /dev/null +++ b/ga-core/src/main/java/com/ga/core/vo/user/RoleSearchParam.java @@ -0,0 +1,12 @@ +package com.ga.core.vo.user; + +import com.ga.common.model.SearchParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class RoleSearchParam extends SearchParam { + private String isSystem; + private String isActive; +} diff --git a/ga-core/src/main/resources/mapper/org/GradeMapper.xml b/ga-core/src/main/resources/mapper/org/GradeMapper.xml index adbdb4a..604f850 100644 --- a/ga-core/src/main/resources/mapper/org/GradeMapper.xml +++ b/ga-core/src/main/resources/mapper/org/GradeMapper.xml @@ -35,4 +35,33 @@ DELETE FROM grade WHERE grade_id = #{gradeId} + + + + + + + + + diff --git a/ga-core/src/main/resources/mapper/org/OrganizationMapper.xml b/ga-core/src/main/resources/mapper/org/OrganizationMapper.xml index 7742af8..a15afcd 100644 --- a/ga-core/src/main/resources/mapper/org/OrganizationMapper.xml +++ b/ga-core/src/main/resources/mapper/org/OrganizationMapper.xml @@ -34,6 +34,41 @@ ORDER BY o.org_level, o.sort_order, o.org_id + + + diff --git a/ga-core/src/main/resources/mapper/product/InsuranceCompanyMapper.xml b/ga-core/src/main/resources/mapper/product/InsuranceCompanyMapper.xml index df6db5c..af640d5 100644 --- a/ga-core/src/main/resources/mapper/product/InsuranceCompanyMapper.xml +++ b/ga-core/src/main/resources/mapper/product/InsuranceCompanyMapper.xml @@ -48,4 +48,36 @@ DELETE FROM insurance_company WHERE company_id = #{companyId} + + + + + c.company_id, c.company_code, c.company_name, c.company_type, + (SELECT cc.code_name FROM common_code cc WHERE cc.group_code='COMPANY_TYPE' AND cc.code=c.company_type) AS company_type_name, + c.biz_no, c.contact_name, c.contact_phone, c.contact_email, c.is_active, + (SELECT COUNT(*) FROM product p WHERE p.company_id = c.company_id) AS product_count + + + + + + + + diff --git a/ga-core/src/main/resources/mapper/product/ProductMapper.xml b/ga-core/src/main/resources/mapper/product/ProductMapper.xml index c6063df..237570e 100644 --- a/ga-core/src/main/resources/mapper/product/ProductMapper.xml +++ b/ga-core/src/main/resources/mapper/product/ProductMapper.xml @@ -65,4 +65,26 @@ DELETE FROM product WHERE product_id = #{productId} + + + diff --git a/ga-core/src/main/resources/mapper/receive/ReceiveMapper.xml b/ga-core/src/main/resources/mapper/receive/ReceiveMapper.xml index 4869ad9..1f86351 100644 --- a/ga-core/src/main/resources/mapper/receive/ReceiveMapper.xml +++ b/ga-core/src/main/resources/mapper/receive/ReceiveMapper.xml @@ -168,4 +168,112 @@ WHERE error_id = #{errorId} + + + + + + + + + + + + + + + + + + + diff --git a/ga-core/src/main/resources/mapper/rule/RuleMapper.xml b/ga-core/src/main/resources/mapper/rule/RuleMapper.xml index 69d5560..145ea29 100644 --- a/ga-core/src/main/resources/mapper/rule/RuleMapper.xml +++ b/ga-core/src/main/resources/mapper/rule/RuleMapper.xml @@ -193,4 +193,116 @@ WHERE exception_code = #{exceptionCode} + + + + + + + + + + + + + + + + + diff --git a/ga-core/src/main/resources/mapper/settle/BatchJobLogMapper.xml b/ga-core/src/main/resources/mapper/settle/BatchJobLogMapper.xml index 4244680..2d0fd4a 100644 --- a/ga-core/src/main/resources/mapper/settle/BatchJobLogMapper.xml +++ b/ga-core/src/main/resources/mapper/settle/BatchJobLogMapper.xml @@ -52,4 +52,27 @@ WHERE job_name = #{jobName} AND status IN ('STARTED','RUNNING') + + + + + diff --git a/ga-core/src/main/resources/mapper/settle/ChargebackMapper.xml b/ga-core/src/main/resources/mapper/settle/ChargebackMapper.xml index fdaa0a3..f263a16 100644 --- a/ga-core/src/main/resources/mapper/settle/ChargebackMapper.xml +++ b/ga-core/src/main/resources/mapper/settle/ChargebackMapper.xml @@ -48,4 +48,31 @@ SELECT COALESCE(SUM(cb_amount), 0) FROM chargeback WHERE settle_month = #{settleMonth} + + + + + diff --git a/ga-core/src/main/resources/mapper/settle/OverrideSettleMapper.xml b/ga-core/src/main/resources/mapper/settle/OverrideSettleMapper.xml index 321a061..d8605ad 100644 --- a/ga-core/src/main/resources/mapper/settle/OverrideSettleMapper.xml +++ b/ga-core/src/main/resources/mapper/settle/OverrideSettleMapper.xml @@ -42,4 +42,27 @@ SELECT COALESCE(SUM(override_amount), 0) FROM override_settle WHERE settle_month = #{settleMonth} + + + + + diff --git a/ga-core/src/main/resources/mapper/settle/PaymentMapper.xml b/ga-core/src/main/resources/mapper/settle/PaymentMapper.xml index 8f72eb1..0486244 100644 --- a/ga-core/src/main/resources/mapper/settle/PaymentMapper.xml +++ b/ga-core/src/main/resources/mapper/settle/PaymentMapper.xml @@ -75,4 +75,36 @@ #{id} + + + + + diff --git a/ga-core/src/main/resources/mapper/settle/ReconciliationMapper.xml b/ga-core/src/main/resources/mapper/settle/ReconciliationMapper.xml index b14f622..02c0d07 100644 --- a/ga-core/src/main/resources/mapper/settle/ReconciliationMapper.xml +++ b/ga-core/src/main/resources/mapper/settle/ReconciliationMapper.xml @@ -23,4 +23,26 @@ WHERE recon_id = #{reconId} + + + + + diff --git a/ga-core/src/main/resources/mapper/user/RoleMapper.xml b/ga-core/src/main/resources/mapper/user/RoleMapper.xml index 2408acc..98e3faa 100644 --- a/ga-core/src/main/resources/mapper/user/RoleMapper.xml +++ b/ga-core/src/main/resources/mapper/user/RoleMapper.xml @@ -48,4 +48,35 @@ VALUES (#{roleId}, #{menuId}, #{permCode}, COALESCE(#{isGranted},'Y')) + + + + + r.role_id, r.role_code, r.role_name, r.role_desc, r.role_level, r.is_system, r.is_active, + (SELECT COUNT(*) FROM user_role ur WHERE ur.role_id = r.role_id) AS user_count, + (SELECT COUNT(*) FROM role_menu_permission rmp WHERE rmp.role_id = r.role_id AND rmp.is_granted = 'Y') AS permission_count + + + + + + + +