Przeglądaj źródła

更新总账勾稽规则,修改多维度审阅页面字段。

zhang_qk 4 dni temu
rodzic
commit
ba20e9aa7e

+ 4 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/calc/service/implement/units/GeneralLedgerUnit.java

@@ -286,7 +286,7 @@ public class GeneralLedgerUnit extends CalcUnit {
             }
 
             BigDecimal RISKEXPOSURE_WEIGHT =BigDecimal.ZERO;
-            if(!riskType.equals("") || ruleListModel.getGlCode().equals("702002")){
+            if((null !=riskType && !riskType.equals("")  ) || ruleListModel.getGlCode().equals("702002")){
                 if(ruleListModel.getGlCode().equals("11303001")){
                     riskType = "R02010000";
                 }else if(ruleListModel.getGlCode().equals("702002")){ // 如果取负风险暴露 没有配权重 20250605
@@ -341,7 +341,7 @@ public class GeneralLedgerUnit extends CalcUnit {
                 //if (differRate.doubleValue() > diffconfigListModel.getLowerLimit().doubleValue() || differRate.doubleValue() < diffconfigListModel.getUpperLimit().doubleValue()) {
                     // 如果 差异率大于上限或小于下限
                     // 处理结果插入平账表中
-                if( differRate.compareTo(BigDecimal.ZERO)  !=0  || ruleListModel.getGlCode().equals("702002")){ // 差异率不为空 或科目是702002
+                if( (differRate.compareTo(BigDecimal.ZERO)  !=0  || ruleListModel.getGlCode().equals("702002")) && null != ruleListModel.getOnoroff() && !ruleListModel.getOnoroff().equals("")){ // 差异率不为空 或科目是702002
                     if(differRate.doubleValue() > diffconfigListModel.getLowerLimit().doubleValue() || differRate.doubleValue() < diffconfigListModel.getUpperLimit().doubleValue()){ // 差异率大于上区间 或 小于下区间
                         isOutDiff = "out_range_tolerance"; // 在偏差范围外
                     }else if(differRate.compareTo(BigDecimal.ZERO) ==0 && ruleListModel.getGlCode().equals("702002")){
@@ -361,7 +361,7 @@ public class GeneralLedgerUnit extends CalcUnit {
                     String RISK_EXPOSURE_LEV03_CODE_NAME = "";
                     String RISK_EXPOSURE_LEV04_CODE = "";
                     String RISK_EXPOSURE_LEV04_CODE_NAME = "";
-                    if(ruleListModel.getOnoroff().equals("ON")) {
+                    if(null != ruleListModel.getOnoroff() && ruleListModel.getOnoroff().equals("ON")) {
                         RiskExposureDefinitionModel riskModel = riskExposureDefinitionModelMap.get(riskType);
                         if (riskModel != null && !riskModel.getRiskExposureNo().contains("00")) {
                             RISK_EXPOSURE_LEV04_CODE = riskModel.getRiskExposureNo();
@@ -393,7 +393,7 @@ public class GeneralLedgerUnit extends CalcUnit {
                             RISK_EXPOSURE_LEV01_CODE_NAME = riskExposureDefinitionModelMap.get(RISK_EXPOSURE_LEV01_CODE).getRiskExposureName();
                         }
                     }
-                    if(ruleListModel.getOnoroff().equals("OFF")){
+                    if(null != ruleListModel.getOnoroff() && ruleListModel.getOnoroff().equals("OFF")){
                         InfoListModel riskModel = infoListModel.get(riskType);
                         if (riskModel != null && !riskModel.getOffobjectNo().contains("00") && riskModel.getOffobjectSuper() != null) {
                             RISK_EXPOSURE_LEV03_CODE = LevelUtil.subAndAdd(riskModel.getOffobjectNo(), 0, "00");

+ 63 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/model/MultiDimensionalCreditRiskModel.java

@@ -70,6 +70,69 @@ public class MultiDimensionalCreditRiskModel {
     private BigDecimal  loanWeightArtificial;   //风险权重%(人工认定)
     private BigDecimal  rwa;   //风险加权资产
     private String type;
+    private String mitigantCoverageRwa; // 缓释覆盖的风险加权资产
+    private String unmitigantRwa; // 未缓释的风险加权资产
+    private String mitigantCoveragePartitionRiskExpose; // 	缓释覆盖部分的风险暴露
+    private String afterExemptionMitigantWeight; // 豁免后缓释权重
+    private String loanWeight; // 债项风险权重
+    private String chargeFee;// 手续费
+    private String reserve; // 计提准备金
+
+    public String getMitigantCoverageRwa() {
+        return mitigantCoverageRwa;
+    }
+
+    public void setMitigantCoverageRwa(String mitigantCoverageRwa) {
+        this.mitigantCoverageRwa = mitigantCoverageRwa;
+    }
+
+    public String getUnmitigantRwa() {
+        return unmitigantRwa;
+    }
+
+    public void setUnmitigantRwa(String unmitigantRwa) {
+        this.unmitigantRwa = unmitigantRwa;
+    }
+
+    public String getMitigantCoveragePartitionRiskExpose() {
+        return mitigantCoveragePartitionRiskExpose;
+    }
+
+    public void setMitigantCoveragePartitionRiskExpose(String mitigantCoveragePartitionRiskExpose) {
+        this.mitigantCoveragePartitionRiskExpose = mitigantCoveragePartitionRiskExpose;
+    }
+
+    public String getAfterExemptionMitigantWeight() {
+        return afterExemptionMitigantWeight;
+    }
+
+    public void setAfterExemptionMitigantWeight(String afterExemptionMitigantWeight) {
+        this.afterExemptionMitigantWeight = afterExemptionMitigantWeight;
+    }
+
+    public String getLoanWeight() {
+        return loanWeight;
+    }
+
+    public void setLoanWeight(String loanWeight) {
+        this.loanWeight = loanWeight;
+    }
+
+    public String getChargeFee() {
+        return chargeFee;
+    }
+
+    public void setChargeFee(String chargeFee) {
+        this.chargeFee = chargeFee;
+    }
+
+    public String getReserve() {
+        return reserve;
+    }
+
+    public void setReserve(String reserve) {
+        this.reserve = reserve;
+    }
 
     public String getType() {
         return type;

+ 31 - 10
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/MultiDimensionalCreditRiskMapper.xml

@@ -112,16 +112,16 @@
     <select id="getselect" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel"
             resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
         select
-        t1.rwa - (t1.UNFINISH_EAD*t2.LOAN_WEIGHT)
-        ,t1.UNFINISH_EAD*t2.LOAN_WEIGHT
-        ,t1.EAD - t1.UNFINISH_EAD
-        ,t3.AFTER_EXEMPTION_MITIGANT_WEIGHT
-        ,t1.UNFINISH_EAD
-        ,t1.LOAN_WEIGHT
-        ,null
-        ,t1.CHARGE_FEE
-        ,t1.this_balance
-        ,t1.RESERVE
+        t1.rwa - (t1.UNFINISH_EAD*t2.LOAN_WEIGHT) as mitigantCoverageRwa -- rwa - 未缓释的rwa
+        ,t1.UNFINISH_EAD*t2.LOAN_WEIGHT  as unmitigantRwa  -- 未缓释的rwa
+        ,t1.EAD - t1.UNFINISH_EAD as mitigantCoveragePartitionRiskExpose -- 缓释前的风险暴露 - 为缓释的风险暴露
+        ,t3.AFTER_EXEMPTION_MITIGANT_WEIGHT as afterExemptionMitigantWeight
+        ,t1.UNFINISH_EAD as unfinishEad
+        ,t1.LOAN_WEIGHT as loanWeight
+        ,null  as ccf
+        ,t1.CHARGE_FEE  as chargeFee
+        ,t1.this_balance as thisBalance
+        ,t1.RESERVE as reserve
         from  RWA_APM_BUS_RS_ONBUSINESSRWA t1
         left join RWA_APM_BUS_RS_ARTIFICIALRESULT t2 -- 风险暴露分类人工认定历史表
         on t1.LOAN_REFERENCE_NO = t2.LOAN_REFERENCE_NO
@@ -131,6 +131,27 @@
         and t3.data_date = #{term}
         where t1.data_date = #{term}
           and t1.LOAN_REFERENCE_NO = #{loanReferenceNo}
+        union all
+        select
+        t1.rwa - (t1.UNFINISH_EAD*t2.LOAN_WEIGHT) as mitigantCoverageRwa -- rwa - 未缓释的rwa
+        ,t1.UNFINISH_EAD*t2.LOAN_WEIGHT  as unmitigantRwa  -- 未缓释的rwa
+        ,t1.EAD - t1.UNFINISH_EAD as mitigantCoveragePartitionRiskExpose -- 缓释前的风险暴露 - 为缓释的风险暴露
+        ,t3.AFTER_EXEMPTION_MITIGANT_WEIGHT as afterExemptionMitigantWeight
+        ,t1.UNFINISH_EAD as unfinishEad
+        ,t1.LOAN_WEIGHT as loanWeight
+        ,t1.ccf  as ccf
+        ,t1.CHARGE_FEE  as chargeFee
+        ,t1.balance as thisBalance
+        ,t1.RESERVE as reserve
+        from  RWA_APM_BUS_RS_OFFBUSINESSRWA t1
+        left join RWA_APM_BUS_RS_ARTIFICIALRESULT t2 -- 风险暴露分类人工认定历史表
+        on t1.LOAN_REFERENCE_NO = t2.LOAN_REFERENCE_NO
+        and  t2.data_date = #{term}
+        left join RWA_TDM_BUS_PROCESS_REGULARRCSWERGHT t3
+        on t1.LOAN_REFERENCE_NO = t3.DEBTITEM_NO
+        and t3.data_date = #{term}
+        where t1.data_date = #{term}
+        and t1.LOAN_REFERENCE_NO = #{loanReferenceNo}
     </select>
 
     <delete id="delete" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">

+ 1 - 1
Procedure/frontend/projectb/src/pages/product/internal/multidimensionalcreditrisk.tsx

@@ -516,7 +516,7 @@ const multidimensionalcreditrisk : React.FC<widowRush> = (prop:widowRush) => {
         } 
         
         );
-        let objs = {key :'summary', term :'合计', 
+        let objs = {key :'summary', loanReferenceNo :'合计', 
         assetBal:objs1,
         receivableInt:objs2,
         accrInt:objs3,

+ 9 - 9
Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportFileShow.tsx

@@ -589,55 +589,55 @@ const ReportFileShow = (model: ReportFileExportModel) => {
   const  columns1: ProColumns<MultiDimensionalCreditRiskModel>[] = [ 
       {
           title: '缓释覆盖的风险加权资产',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'mitigantCoverageRwa',
           search: false,
           width:100,
       },
       {
           title: '未缓释的风险加权资产',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'unmitigantRwa',
           search: false,
           width:100,
       },
       {
           title: '缓释覆盖部分的风险暴露',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'mitigantCoveragePartitionRiskExpose',
           search: false,
           width:100,
       },
       {
           title: '豁免后缓释权重',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'afterExemptionMitigantWeight',
           search: false,
           width:100,
       },
       {
           title: '未缓释风险暴露',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'unfinishEad',
           search: false,
           width:100,
       },
       {
           title: '债项风险权重',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'loanWeight',
           search: false,
           width:100,
       },
       {
           title: '信用转换系数CCF',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'ccf',
           search: false,
           width:100,
       },
       {
           title: '本期余额',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'thisBalance',
           search: false,
           width:100,
       },
       {
           title: '计提准备金',
-          dataIndex: 'loanWeightArtificial',
+          dataIndex: 'reserve',
           search: false,
           width:100,
       },

+ 9 - 9
Procedure/frontend/projectb/src/pages/product/rwa/reportResult/multidimensionalcreditrisk1.tsx

@@ -545,55 +545,55 @@ const columns: ProColumns<MultiDimensionalCreditRiskModel>[] = [
 const  columns1: ProColumns<MultiDimensionalCreditRiskModel>[] = [ 
     {
         title: '缓释覆盖的风险加权资产',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'mitigantCoverageRwa',
         search: false,
         width:100,
     },
     {
         title: '未缓释的风险加权资产',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'unmitigantRwa',
         search: false,
         width:100,
     },
     {
         title: '缓释覆盖部分的风险暴露',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'mitigantCoveragePartitionRiskExpose',
         search: false,
         width:100,
     },
     {
         title: '豁免后缓释权重',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'afterExemptionMitigantWeight',
         search: false,
         width:100,
     },
     {
         title: '未缓释风险暴露',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'unfinishEad',
         search: false,
         width:100,
     },
     {
         title: '债项风险权重',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'loanWeight',
         search: false,
         width:100,
     },
     {
         title: '信用转换系数CCF',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'ccf',
         search: false,
         width:100,
     },
     {
         title: '本期余额',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'thisBalance',
         search: false,
         width:100,
     },
     {
         title: '计提准备金',
-        dataIndex: 'loanWeightArtificial',
+        dataIndex: 'reserve',
         search: false,
         width:100,
     },

+ 14 - 0
Procedure/frontend/projectb/src/services/rwa/product/internal/multidimensionalcreditrisk.ts

@@ -142,6 +142,20 @@ export type MultiDimensionalCreditRiskModel = {
     // 风险加权资产
     rwa: number;
     key:string;
+    //缓释覆盖的风险加权资产
+    mitigantCoverageRwa:string;
+    //未缓释的风险加权资产
+    unmitigantRwa:string;
+    //缓释覆盖部分的风险暴露
+    mitigantCoveragePartitionRiskExpose:string;
+    //豁免后缓释权重
+    afterExemptionMitigantWeight:string;
+    //债项风险权重
+    loanWeight:string;
+    //计提准备金
+    reserve:string;
+
+
 }