소스 검색

更新内管报表钻取功能。

zhang_qk 6 일 전
부모
커밋
1b74b642e7
61개의 변경된 파일2524개의 추가작업 그리고 1005개의 파일을 삭제
  1. 1 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/BondInvestmentMapper.xml
  2. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/CollateralTableMapper.xml
  3. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/CustomerTableMapper.xml
  4. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/DiscountTableMapper.xml
  5. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/GuaranteeTableMapper.xml
  6. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/InterbankDepositOrLendingTableMapper.xml
  7. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/NonStandardInvestmentMapper.xml
  8. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/OffCreditCardMapper.xml
  9. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/OnCreditCardMapper.xml
  10. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/PledgeRelatedTableMapper.xml
  11. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/RepoRelatedTableMapper.xml
  12. 11 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/CapitalOccupyMonitorAction.java
  13. 7 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/CorporateLoansCustomersAction.java
  14. 41 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/MultiDimensionalCreditRiskAction.java
  15. 8 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/ProductCreditRiskListAction.java
  16. 7 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/ProductTypeCreditRiskListAction.java
  17. 7 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/WithinTableCorporateLoansAction.java
  18. 2 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/CapitalOccupyMonitorMapper.java
  19. 3 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/CorporateLoansCustomersMapper.java
  20. 6 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/MultiDimensionalCreditRiskMapper.java
  21. 3 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/ProductCreditRiskListMapper.java
  22. 3 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/ProductTypeCreditRiskListMapper.java
  23. 2 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/WithinTableCorporateLoansMapper.java
  24. 320 353
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/model/MultiDimensionalCreditRiskModel.java
  25. 52 20
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/AccountManageListMapper.xml
  26. 240 170
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/CapitalOccupyMonitorMapper.xml
  27. 82 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/CorporateLoansCustomersMapper.xml
  28. 119 165
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/MultiDimensionalCreditRiskMapper.xml
  29. 131 22
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/ProductCreditRiskListMapper.xml
  30. 130 22
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/ProductTypeCreditRiskListMapper.xml
  31. 81 1
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/WithinTableCorporateLoansMapper.xml
  32. 4 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/CapitalOccupyMonitorService.java
  33. 8 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/CorporateLoansCustomersService.java
  34. 68 1
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/MultiDimensionalCreditRiskService.java
  35. 6 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/ProductCreditRiskListService.java
  36. 5 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/ProductTypeCreditRiskListService.java
  37. 6 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/WithinTableCorporateLoansService.java
  38. 0 2
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FaGlBalanceSheetMapper.xml
  39. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FcCommitmentMapper.xml
  40. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FcLoanMapper.xml
  41. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FcOffSheetMapper.xml
  42. 0 4
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FfRepoMapper.xml
  43. 0 2
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/ItItfRateMapper.xml
  44. 4 0
      Procedure/backend/project/src/main/java/com/sundata/product/taskBatch/StartRiskInvestigation1.java
  45. 2 2
      Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/mybatis/TmpTaskBussinessflowinfoMapper.xml
  46. 1 1
      Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/mybatis/TmpTaskBussinessinfoMapper.xml
  47. 23 22
      Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/service/ImportTaskBussinessService.java
  48. 2 0
      Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/utils/TmpTaskUtil.java
  49. 1 0
      Procedure/frontend/projectb/config/config.ts
  50. 1 0
      Procedure/frontend/projectb/src/pages/product/internal/accountmanagercreditriskoccupy.tsx
  51. 90 6
      Procedure/frontend/projectb/src/pages/product/internal/capitaloccupymonitor.tsx
  52. 201 64
      Procedure/frontend/projectb/src/pages/product/internal/multidimensionalcreditrisk.tsx
  53. 8 9
      Procedure/frontend/projectb/src/pages/product/internal/productcreditriskcapitaloccupy.tsx
  54. 2 0
      Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportFileShow.tsx
  55. 731 0
      Procedure/frontend/projectb/src/pages/product/rwa/reportResult/multidimensionalcreditrisk1.tsx
  56. 25 20
      Procedure/frontend/projectb/src/services/rwa/product/internal/capitaloccupymonitor.ts
  57. 1 1
      Procedure/frontend/projectb/src/services/rwa/product/internal/corporateloanscustomerstop10.ts
  58. 76 59
      Procedure/frontend/projectb/src/services/rwa/product/internal/multidimensionalcreditrisk.ts
  59. 1 1
      Procedure/frontend/projectb/src/services/rwa/product/internal/productcreditriskcapitaloccupy.ts
  60. 1 1
      Procedure/frontend/projectb/src/services/rwa/product/internal/producttypecreditriskcapitaloccupy.ts
  61. 1 1
      Procedure/frontend/projectb/src/services/rwa/product/internal/withintablecorporateloans.ts

+ 1 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/BondInvestmentMapper.xml

@@ -7,8 +7,7 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.BondInvestmentModel">
         select
-        SDATE                              AS    sDate,
-        EDATE                              AS    eDate,
+
         DATA_DATE                          AS    dataDate,
         DEBTITEM_NO                        AS    debtitemNo,
         PROD_NO                         AS    productNo,
@@ -82,8 +81,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.CollateralTableModel">
         select
-        SDATE                              AS    sDate,
-        EDATE                              AS    eDate,
         TERM                               AS    term,
         DATA_DATE                          AS    dataDate,
         DEBTITEM_NO                        AS    debtitemNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/CollateralTableMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.CollateralTableModel">
         select
-        SDATE                                                 AS   sDate,
-        EDATE                                                 AS   eDate,
         DATA_DATE                                             AS   dataDate,
         MITIGATION_PROD_NO                                    AS   mitigationProdNo,
         RISK_MITIGANT_CONTRACT_NO                             AS   riskMitigantContractNo,
@@ -60,8 +58,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.CollateralTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.CollateralTableModel">
         select
-        SDATE                                                 AS   sDate,
-        EDATE                                                 AS   eDate,
         DATA_DATE                                             AS   dataDate,
         MITIGATION_PROD_NO                                    AS   mitigationProdNo,
         RISK_MITIGANT_CONTRACT_NO                             AS   riskMitigantContractNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/CustomerTableMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.CustomerTableModel">
         select
-        SDATE                                                 AS     sDate,
-        EDATE                                                 AS     eDate,
         DATA_DATE                                             AS     dataDate,
         TRADE_CNTRPTY_NAME                                    AS     tradeCntrptyName,
         TRADE_CNTRPTY_DIVISION                                AS     tradeCntrptyDivision,
@@ -68,8 +66,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.CustomerTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.CustomerTableModel">
         select
-        SDATE                                                 AS     sDate,
-        EDATE                                                 AS     eDate,
         DATA_DATE                                             AS     dataDate,
         TRADE_CNTRPTY_NAME                                    AS     tradeCntrptyName,
         TRADE_CNTRPTY_DIVISION                                AS     tradeCntrptyDivision,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/DiscountTableMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.DiscountTableModel">
         select
-        SDATE                                          AS    sDate,
-        EDATE                                          AS    eDate,
         DATA_DATE                                      AS    dataDate,
         DEBTITEM_NO                                    AS    debtitemNo,
         CONTRACT_NO                                    AS    contractNo,
@@ -84,8 +82,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.DiscountTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.DiscountTableModel">
         select
-        SDATE                                          AS    sdate,
-        EDATE                                          AS    edate,
         DATA_DATE                                      AS    dataDate,
         DEBTITEM_NO                                    AS    debtitemNo,
         CONTRACT_NO                                    AS    contractNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/GuaranteeTableMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.GuaranteeTableModel">
         select
-        T1.SDATE                               AS   sDate,
-        T1.EDATE                               AS   eDate,
         T1.DATA_DATE                           AS   dataDate,
         T1.MITIGATION_PROD_NO                  AS   mitigationProdNo,
         T1.MITIGATION_PROD_NAME                AS   mitigationProdName,
@@ -60,8 +58,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.GuaranteeTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.GuaranteeTableModel">
         select
-        SDATE                               AS   sDate,
-        EDATE                               AS   eDate,
         DATA_DATE                           AS   dataDate,
         MITIGATION_PROD_NO                  AS   mitigationProdNo,
         MITIGATION_PROD_NAME                AS   mitigationProdName,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/InterbankDepositOrLendingTableMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.InterbankDepositOrLendingTableModel">
         select
-        SDATE                                   AS     sDate,
-        EDATE                                   AS     eDate,
         DATA_DATE                               AS     dataDate,
         DEBTITEM_NO                             AS     debtitemNo,
         CONTRACT_NO                             AS     contractNo,
@@ -68,8 +66,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.InterbankDepositOrLendingTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.InterbankDepositOrLendingTableModel">
         select
-        SDATE                                   AS     sDate,
-        EDATE                                   AS     eDate,
         DATA_DATE                               AS     dataDate,
         DEBTITEM_NO                             AS     debtitemNo,
         CONTRACT_NO                             AS     contractNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/NonStandardInvestmentMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.NonStandardInvestmentModel">
         select
-        SDATE                                        AS      sdate,
-        EDATE                                        AS      edate,
         DATA_DATE                                    AS      dataDate,
         DEBTITEM_NO                                  AS      debtitemNo,
         PROD_NO                                      AS      productNo,
@@ -74,8 +72,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.NonStandardInvestmentModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.NonStandardInvestmentModel">
         select
-        SDATE                                        AS      sdate,
-        EDATE                                        AS      edate,
         DATA_DATE                                    AS      dataDate,
         DEBTITEM_NO                                  AS      debtitemNo,
         PROD_NO                                      AS      productNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/OffCreditCardMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.OffCreditCardModel">
         select
-        SDATE                                          AS    sDate,
-        EDATE                                          AS    eDate,
         DATA_DATE                                      AS    dataDate,
         ACCOUNT_ORGN_NO                                AS    accountOrgnNo,
         ACCOUNT_ORGN_NAME                              AS    accountOrgnName,
@@ -79,8 +77,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.OffCreditCardModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.OffCreditCardModel">
         select
-        SDATE                                          AS    sDate,
-        EDATE                                          AS    eDate,
         DATA_DATE                                      AS    dataDate,
         ACCOUNT_ORGN_NO                                AS    accountOrgnNo,
         ACCOUNT_ORGN_NAME                              AS    accountOrgnName,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/OnCreditCardMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.OnCreditCardModel">
         select
-        SDATE                                           AS   sDate,
-        EDATE                                           AS   eDate,
         DATA_DATE                                       AS   dataDate,
         DEBTITEM_NO                                     AS   debtitemNo,
         CONTRACT_NO                                     AS   contractNo,
@@ -77,8 +75,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.DiscountTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.DiscountTableModel">
         select
-        SDATE                                           AS   sDate,
-        EDATE                                           AS   eDate,
         DATA_DATE                                       AS   dataDate,
         DEBTITEM_NO                                     AS   debtitemNo,
         CONTRACT_NO                                     AS   contractNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/PledgeRelatedTableMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.PledgeRelatedTableModel">
         select
-        SDATE                          AS   sDate,
-        EDATE                          AS   eDate,
         DATA_DATE                      AS   dataDate,
         MITIGATION_PROD_NO             AS   mitigationProdNo,
         GUARANTEE_AMT                  AS   guaranteeAmt,
@@ -40,8 +38,6 @@
 
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.PledgeRelatedTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.PledgeRelatedTableModel">
         select
-        SDATE                          AS   sDate,
-        EDATE                          AS   eDate,
         DATA_DATE                      AS   dataDate,
         MITIGATION_PROD_NO             AS   mitigationProdNo,
         GUARANTEE_AMT                  AS   guaranteeAmt,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/interfacedatasheet/mybatis/RepoRelatedTableMapper.xml

@@ -7,8 +7,6 @@
     <!-- 初始化 -->
     <select id="selectDataList"  resultType="com.sundata.product.rwa.interfacedatasheet.model.RepoRelatedTableModel">
         select
-        SDATE                                  AS    sDate,
-        EDATE                                  AS    eDate,
         DATA_DATE                              AS    dataDate,
         DEBTITEM_NO                            AS    debtitemNo,
         PLEDGE_BONDS_SECURITY_CODE             AS    pledgeBondsSecurityCode,
@@ -50,8 +48,6 @@
     <!-- 查询当前行 -->
     <select id="selectRowData" resultType="com.sundata.product.rwa.interfacedatasheet.model.RepoRelatedTableModel" parameterType="com.sundata.product.rwa.interfacedatasheet.model.RepoRelatedTableModel">
         select
-        SDATE                                  AS    sDate,
-        EDATE                                  AS    eDate,
         DATA_DATE                              AS    dataDate,
         DEBTITEM_NO                            AS    debtitemNo,
         PLEDGE_BONDS_SECURITY_CODE             AS    pledgeBondsSecurityCode,

+ 11 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/CapitalOccupyMonitorAction.java

@@ -53,6 +53,17 @@ public class CapitalOccupyMonitorAction extends BaseAction {
         // 页面初始化
         sendData(response, capitalOccupyMonitorService.getDetailDataList(model));
     }
+
+
+    @RequestMapping("/getDetailDataList1")
+    public void getDetailDataList1 (HttpServletRequest request, HttpServletResponse response,
+                                   @RequestBody CapitalOccupyMonitorModel model,@RequestParam String sDate,@RequestParam String eDate) {
+        model.setsDate(sDate);
+        model.seteDate(eDate);
+        System.out.println(model);
+        // 页面初始化
+        sendData(response, capitalOccupyMonitorService.getDetailDataList1(model));
+    }
     @RequestMapping("/exportExcelModel")
     public void exportExcelModel (HttpServletRequest request,
                                   HttpServletResponse response, @RequestParam String fileName, @RequestBody List<CapitalOccupyMonitorModel> fcLoanModelDemoFr) throws IOException {

+ 7 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/CorporateLoansCustomersAction.java

@@ -39,6 +39,13 @@ public class CorporateLoansCustomersAction extends BaseAction {
         sendData(response, corporateLoansCustomersService.getDataList(model));
     }
 
+    @RequestMapping("/getDetailDataList")
+    public void getDetailDataList (HttpServletRequest request, HttpServletResponse response,
+                                   @RequestBody CorporateLoansCustomersModel model) {
+        // 页面初始化
+        sendData(response, corporateLoansCustomersService.getDetailDataList(model));
+    }
+
     @RequestMapping("/exportExcelModel")
     public void exportExcelModel (HttpServletRequest request,
                                   HttpServletResponse response, @RequestParam String fileName, @RequestBody List<CorporateLoansCustomersModel> fcLoanModelDemoFr) throws IOException {

+ 41 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/MultiDimensionalCreditRiskAction.java

@@ -1,7 +1,10 @@
 package com.sundata.product.rwa.internal.action;
 
 
+import com.sundata.admin.AdminUtil;
+import com.sundata.common.base.ActiveUserService;
 import com.sundata.common.base.BaseAction;
+import com.sundata.product.rwa.internal.model.AccountManageListModel;
 import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import com.sundata.product.rwa.internal.service.MultiDimensionalCreditRiskService;
 import jakarta.servlet.http.HttpServletRequest;
@@ -9,8 +12,12 @@ import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.io.IOException;
+import java.util.List;
+
 @RestController
 @RequestMapping("product/rwa/internal/MultiDimensionalCreditRiskAction")
 // 各产品大类信用风险资本占用综合监控表
@@ -33,4 +40,38 @@ public class MultiDimensionalCreditRiskAction extends BaseAction {
         // 页面初始化
         sendData(response, multiDimensionalCreditRiskService.getDataList(model));
     }
+    @RequestMapping("/selectname")
+    public void selectname (HttpServletRequest request, HttpServletResponse response,
+                             @RequestParam  String riskExposureCodeArtificial) {
+        // 页面初始化
+        sendData(response, multiDimensionalCreditRiskService.selectname(riskExposureCodeArtificial));
+    }
+
+    @RequestMapping("/exportExcelModel")
+    public void exportExcelModel (HttpServletRequest request,
+                                  HttpServletResponse response, @RequestParam String fileName, @RequestBody List<MultiDimensionalCreditRiskModel> fcLoanModelDemoFr) throws IOException {
+        response.setCharacterEncoding("UTF-8");
+        response.setContentType("text/html; charset=UTF-8");
+        String fileNameModel=fileName+"Model";
+        // 更新数据前行
+        multiDimensionalCreditRiskService.exportExcelModel(fileName,response,fcLoanModelDemoFr,fileNameModel);
+    }
+
+    @RequestMapping("/getselect")
+    public void getselect (HttpServletRequest request, HttpServletResponse response,
+                            @RequestParam  String loanReferenceNo,@RequestParam  String term) {
+        // 页面初始化
+        System.out.println(loanReferenceNo);
+        sendData(response, multiDimensionalCreditRiskService.getselect(loanReferenceNo,term));
+    }
+    @RequestMapping("/update")
+    public void update (HttpServletRequest request, HttpServletResponse response,
+                             @RequestBody MultiDimensionalCreditRiskModel model) {
+        // 页面初始化
+        System.out.println(model);
+        String account = ActiveUserService.readActiveUser().getAccount();
+        String workDate = AdminUtil.queryWorkDateStr();
+        sendData(response, multiDimensionalCreditRiskService.update(model,account,workDate));
+    }
+
 }

+ 8 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/ProductCreditRiskListAction.java

@@ -37,6 +37,14 @@ public class ProductCreditRiskListAction extends BaseAction {
         // 页面初始化
         sendData(response, productCreditRiskListService.getDataList(model));
     }
+
+    @RequestMapping("/getDetailDataList")
+    public void getDetailDataList (HttpServletRequest request, HttpServletResponse response,
+                                   @RequestBody ProductCreditRiskListModel model) {
+        // 页面初始化
+        sendData(response, productCreditRiskListService.getDetailDataList(model));
+    }
+
     @RequestMapping("/exportExcelModel")
     public void exportExcelModel (HttpServletRequest request,
                                   HttpServletResponse response, @RequestParam String fileName, @RequestBody List<ProductCreditRiskListModel> fcLoanModelDemoFr) throws IOException {

+ 7 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/ProductTypeCreditRiskListAction.java

@@ -39,6 +39,13 @@ public class ProductTypeCreditRiskListAction extends BaseAction {
         sendData(response, productTypeCreditRiskListService.getDataList(model));
     }
 
+    @RequestMapping("/getDetailDataList")
+    public void getDetailDataList (HttpServletRequest request, HttpServletResponse response,
+                                   @RequestBody ProductTypeCreditRiskListModel model) {
+        // 页面初始化
+        sendData(response, productTypeCreditRiskListService.getDetailDataList(model));
+    }
+
     @RequestMapping("/exportExcelModel")
     public void exportExcelModel (HttpServletRequest request,
                                   HttpServletResponse response, @RequestParam String fileName, @RequestBody List<ProductTypeCreditRiskListModel> fcLoanModelDemoFr) throws IOException {

+ 7 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/action/WithinTableCorporateLoansAction.java

@@ -40,6 +40,13 @@ public class WithinTableCorporateLoansAction extends BaseAction {
         // 页面初始化
         sendData(response, withinTableCorporateLoansService.getDataList(model));
     }
+    @RequestMapping("/getDetailDataList")
+    public void getDetailDataList (HttpServletRequest request, HttpServletResponse response,
+                                   @RequestBody CorporateLoansListModel model) {
+        // 页面初始化
+        sendData(response, withinTableCorporateLoansService.getDetailDataList(model));
+    }
+
     @RequestMapping("/exportExcelModel")
     public void exportExcelModel (HttpServletRequest request,
                                   HttpServletResponse response, @RequestParam String fileName, @RequestBody List<CorporateLoansListModel> fcLoanModelDemoFr) throws IOException {

+ 2 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/CapitalOccupyMonitorMapper.java

@@ -10,4 +10,6 @@ public interface CapitalOccupyMonitorMapper {
     List<CapitalOccupyMonitorModel> getDataList(@Param("model") CapitalOccupyMonitorModel model);
 
     List<MultiDimensionalCreditRiskModel> getDetailDataList(@Param("model")  CapitalOccupyMonitorModel model);
+
+    List<MultiDimensionalCreditRiskModel> getDetailDataList1(@Param("model")  CapitalOccupyMonitorModel model);
 }

+ 3 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/CorporateLoansCustomersMapper.java

@@ -1,10 +1,13 @@
 package com.sundata.product.rwa.internal.mapper;
 
+import com.sundata.product.rwa.internal.model.CapitalOccupyMonitorModel;
 import com.sundata.product.rwa.internal.model.CorporateLoansCustomersModel;
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 public interface CorporateLoansCustomersMapper {
     List<CorporateLoansCustomersModel> getDataList(@Param("model") CorporateLoansCustomersModel model);
+    List<MultiDimensionalCreditRiskModel> getDetailDataList(@Param("model") CorporateLoansCustomersModel model);
 }

+ 6 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/MultiDimensionalCreditRiskMapper.java

@@ -7,4 +7,10 @@ import java.util.List;
 
 public interface MultiDimensionalCreditRiskMapper {
     List<MultiDimensionalCreditRiskModel> getDataList(@Param("model") MultiDimensionalCreditRiskModel model);
+
+    List<MultiDimensionalCreditRiskModel> getselect(@Param("loanReferenceNo") String loanReferenceNo,@Param("term") String term);
+    boolean delete(@Param("model") MultiDimensionalCreditRiskModel model);
+    boolean insert(@Param("model") MultiDimensionalCreditRiskModel model,@Param("workDate") String workDate,@Param("account") String  account);
+    boolean update(@Param("model") MultiDimensionalCreditRiskModel model);
+
 }

+ 3 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/ProductCreditRiskListMapper.java

@@ -1,5 +1,7 @@
 package com.sundata.product.rwa.internal.mapper;
 
+import com.sundata.product.rwa.internal.model.CorporateLoansCustomersModel;
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import com.sundata.product.rwa.internal.model.ProductCreditRiskListModel;
 import org.apache.ibatis.annotations.Param;
 
@@ -7,4 +9,5 @@ import java.util.List;
 
 public interface ProductCreditRiskListMapper {
     List<ProductCreditRiskListModel> getDataList(@Param("model") ProductCreditRiskListModel model);
+    List<MultiDimensionalCreditRiskModel> getDetailDataList(@Param("model") ProductCreditRiskListModel model);
 }

+ 3 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/ProductTypeCreditRiskListMapper.java

@@ -1,5 +1,7 @@
 package com.sundata.product.rwa.internal.mapper;
 
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
+import com.sundata.product.rwa.internal.model.ProductCreditRiskListModel;
 import com.sundata.product.rwa.internal.model.ProductTypeCreditRiskListModel;
 import org.apache.ibatis.annotations.Param;
 
@@ -7,4 +9,5 @@ import java.util.List;
 
 public interface ProductTypeCreditRiskListMapper {
     List<ProductTypeCreditRiskListModel> getDataList(@Param("model") ProductTypeCreditRiskListModel model);
+    List<MultiDimensionalCreditRiskModel> getDetailDataList(@Param("model") ProductTypeCreditRiskListModel model);
 }

+ 2 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mapper/WithinTableCorporateLoansMapper.java

@@ -1,10 +1,12 @@
 package com.sundata.product.rwa.internal.mapper;
 
 import com.sundata.product.rwa.internal.model.CorporateLoansListModel;
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 public interface WithinTableCorporateLoansMapper {
     List<CorporateLoansListModel> getDataList(@Param("model") CorporateLoansListModel model);
+    List<MultiDimensionalCreditRiskModel> getDetailDataList(@Param("model") CorporateLoansListModel model);
 }

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

@@ -1,138 +1,89 @@
 package com.sundata.product.rwa.internal.model;
 
+import java.math.BigDecimal;
+
 public class MultiDimensionalCreditRiskModel {
 
-    //报表日期
-    private String reportDate;
-    // 债项编号
-    private String loanReferenceNo;
-    // 合同编号
-    private String contNo;
-    // 经营机构
-    private String mgmtBranchNo;
-    // 客户编号
-    private String custNo;
-    // 客户名称
-    private String custName;
-    // 交易对手大类
-    private String busType;
-    // 是否小微企业
-    private String micro;
-    // 是否中小企业
-    private String medium;
-    // 是否监管零售
-    private String regulatoryRetail;
-    // 产品大类
-    private String productType;
-    // 产品名称
-    private String productName;
-    // 表内外标识
-    private String onOffFlag;
-    // 贴现类型
-    private String discType;
-    // 票据类型
-    private String vouchTypeCd;
-    // 是否我行承兑
-    private String isMybankSetFlag;
-    // 承兑人
-    private String acceptorNo;
-    // 承兑人客户名
-    private String acceptorName;
-    // 证券类型
-    private String secTypeCd;
-    // 一般专项标志
-    private String purposeFlag;
-    // 币种
-    private String ccyCd;
-    // 生效日
-    private String startDt;
-    // 到期日
-    private String matDt;
-    // 原始期限(月)
-    private String originalTerm;
-    // 剩余期限(月)
-    private String residualterm;
-    // 五级分类
-    private String fiveClassCd;
-    // 逾期天数(天)
-    private String overdueDays;
-    // 投向行业
-    private String investIndustryCd;
-    // 质押买断类型
-    private String zhiyaMaiduanCd;
-    // 回购类型
-    private String repoTypeCd;
-    // 回购期限(天)
-    private String repoDays;
-    // 债券代码
-    private String billNo;
-    // 核心市场参与者标识
-    private String coreMarketPartFlag;
-    // 资产余额
-    private String balance;
-    // 本金科目号
-    private String glAccountId;
-    // 应收利息
-    private String recInt;
-    // 应收利息科目号
-    private String recIntAccount;
-    // 应计利息
-    private String accrInt;
-    // 应计利息科目号
-    private String accrIntAccount;
-    // 利息调整
-    private String intAdj;
-    // 利息调整科目号
-    private String intAdjAccount;
-    // 公允价值变动
-    private String fairValueChange;
-    // 公允价值变动科目号
-    private String fairValAccount;
-    // 手续费
-    private String chargeFee;
-    // 手续费科目号
-    private String chargeFeeAccount;
-    // 所属条线
-    private String busLine;
-    // 承诺类型
-    private String commType;
-    // 计提准备金
-    private String reserve;
-    // 准备金科目号
-    private String reserveAccount;
-    // 本期余额
-    private String balanceAll;
-    // 缓释覆盖部分的风险暴露-现金类资产(0%)
-    private String cashRisk;
-    // 缓释覆盖部分的风险暴露-我国中央政府(0%)
-    private String governmentRisk;
-    // 缓释覆盖部分的风险暴露-我国开发性金融机构和政策性银行(0%)
-    private String financeRisk;
-    // 缓释覆盖部分的风险暴露-境内外商业银行(短期)(20%)
-    private String dfBank;
-    // 缓释覆盖部分的风险暴露-境内商业银行(0%)
-    private String dBank;
-    // 缓释覆盖部分的风险暴露-其他缓释类型
-    private String otherRiskSum;
-    // 未缓释风险暴露
-    private String unfinishEad;
-    // 风险暴露分类(系统认定)
-    private String riskExposureCode;
-    // 风险权重%(系统认定)
-    private String loanWeight;
-    // 风险暴露分类(人工认定)
-    private String riskExposureCodeArtificial;
-    // 风险权重%(人工认定)
-    private String loanWeightArtificial;
-    // 风险加权资产
-    private String rwa;
-
-    public String getReportDate() {
-        return reportDate;
-    }
-
-    public void setReportDate(String reportDate) {
-        this.reportDate = reportDate;
+    private String  term;   //报表日期
+    private String  dataDate;   //数据日期
+    private String  loanReferenceNo;   //债项编号
+    private String  contractNo;   //合同编号
+    private String  manageOrgnNo;   //经营机构
+    private String  clientNo;   //客户编号
+    private String  clientName;   //客户名称
+    private String  tradeCntrptyDivision;   //交易对手大类
+    private String  smallandmicro;   //是否小微企业
+    private String  smallandmedium;   //是否中小企业
+    private String  regulatedretail;   //是否监管零售
+    private String  prodType;   //产品大类
+    private String  prodName;   //产品名称
+    private String  onbalshOffbalshFlag;   //表内外标识
+    private String  discountingType;   //贴现类型
+    private String  billType;   //票据类型
+    private String  ifSelfbankAcceptance;   //是否我行承兑
+    private String  acceptorClientNo;   //承兑人
+    private String  acceptorClientName;   //承兑人客户名
+    private String  securityType;   //证券类型
+    private String  generalSpecialFlag;   //一般专项标志
+    private String  ccy;   //币种
+    private String  effectDate;   //生效日
+    private String  expiryDate;   //到期日
+    private BigDecimal  origTerm;   //原始期限(月)
+    private BigDecimal  residualTerm;   //剩余期限(月)
+    private String  fiveClass;   //五级分类
+    private BigDecimal overdueDays;   //逾期天数(天)
+    private String  industryInvestClass;   //投向行业
+    private String  pledgeBuyoutType;   //质押买断类型
+    private String  repoType;   //回购类型
+    private BigDecimal  repoTerm;   //回购期限(天)
+    private String  bondCode;   //债券代码
+    private String  coreMarketParticipantFlag;   //核心市场参与者标识
+    private BigDecimal  assetBal;   //资产余额
+    private String  prinAccountNo;   //本金科目号
+    private BigDecimal  receivableInt;   //应收利息
+    private String  receivableIntAccountNo;   //应收利息科目号
+    private BigDecimal  accrInt;   //应计利息
+    private String  accrIntAccountNo;   //应计利息科目号
+    private BigDecimal  intAdj;   //利息调整
+    private String  intAdjAccountNo;   //利息调整科目号
+    private BigDecimal  fairValueChange;   //公允价值变动
+    private String  fairValueChangeAccountNo;   //公允价值变动科目号
+    private BigDecimal  charge;   //手续费
+    private String  chargeAccountNo;   //手续费科目号
+    private String  belongLine;   //所属条线
+    private String  commitmentType;   //承诺类型
+    private BigDecimal  provisionReserve;   //计提准备金
+    private String  reserveAccountNo;   //准备金科目号
+    private BigDecimal  thisBalance;   //本期余额
+    private BigDecimal  coverageRisk0;   //缓释覆盖部分的风险暴露-现金类资产(0%)
+    private BigDecimal  coverageRisk1;   //缓释覆盖部分的风险暴露-我国中央政府(0%)
+    private BigDecimal  coverageRisk2;   //缓释覆盖部分的风险暴露-我国开发性金融机构和政策性银行(0%)
+    private BigDecimal  coverageRisk3;   //缓释覆盖部分的风险暴露-境内外商业银行(短期)(20%)
+    private BigDecimal  coverageRisk4;   //缓释覆盖部分的风险暴露-境内商业银行(0%)
+    private BigDecimal  coverageRisk5;   //缓释覆盖部分的风险暴露-其他缓释类型
+    private BigDecimal  unfinishEad;   //未缓释风险暴露
+    private String  offbalshProjectName;   //表外项目分类
+    private BigDecimal  ccf;   //信用转换系数%
+    private String  riskExposeClassRecognizedResult;   //风险暴露分类(系统认定)
+    private BigDecimal  debtitemRiskWeight;   //风险权重%(系统认定)
+    private String  riskExposureCodeArtificial;   //风险暴露分类(人工认定)
+    private BigDecimal  loanWeightArtificial;   //风险权重%(人工认定)
+    private BigDecimal  rwa;   //风险加权资产
+
+    public String getTerm() {
+        return term;
+    }
+
+    public void setTerm(String term) {
+        this.term = term;
+    }
+
+    public String getDataDate() {
+        return dataDate;
+    }
+
+    public void setDataDate(String dataDate) {
+        this.dataDate = dataDate;
     }
 
     public String getLoanReferenceNo() {
@@ -143,460 +94,476 @@ public class MultiDimensionalCreditRiskModel {
         this.loanReferenceNo = loanReferenceNo;
     }
 
-    public String getContNo() {
-        return contNo;
+    public String getContractNo() {
+        return contractNo;
     }
 
-    public void setContNo(String contNo) {
-        this.contNo = contNo;
+    public void setContractNo(String contractNo) {
+        this.contractNo = contractNo;
     }
 
-    public String getMgmtBranchNo() {
-        return mgmtBranchNo;
+    public String getManageOrgnNo() {
+        return manageOrgnNo;
     }
 
-    public void setMgmtBranchNo(String mgmtBranchNo) {
-        this.mgmtBranchNo = mgmtBranchNo;
+    public void setManageOrgnNo(String manageOrgnNo) {
+        this.manageOrgnNo = manageOrgnNo;
     }
 
-    public String getCustNo() {
-        return custNo;
+    public String getClientNo() {
+        return clientNo;
     }
 
-    public void setCustNo(String custNo) {
-        this.custNo = custNo;
+    public void setClientNo(String clientNo) {
+        this.clientNo = clientNo;
     }
 
-    public String getCustName() {
-        return custName;
+    public String getClientName() {
+        return clientName;
     }
 
-    public void setCustName(String custName) {
-        this.custName = custName;
+    public void setClientName(String clientName) {
+        this.clientName = clientName;
     }
 
-    public String getBusType() {
-        return busType;
+    public String getTradeCntrptyDivision() {
+        return tradeCntrptyDivision;
     }
 
-    public void setBusType(String busType) {
-        this.busType = busType;
+    public void setTradeCntrptyDivision(String tradeCntrptyDivision) {
+        this.tradeCntrptyDivision = tradeCntrptyDivision;
     }
 
-    public String getMicro() {
-        return micro;
+    public String getSmallandmicro() {
+        return smallandmicro;
     }
 
-    public void setMicro(String micro) {
-        this.micro = micro;
+    public void setSmallandmicro(String smallandmicro) {
+        this.smallandmicro = smallandmicro;
     }
 
-    public String getMedium() {
-        return medium;
+    public String getSmallandmedium() {
+        return smallandmedium;
     }
 
-    public void setMedium(String medium) {
-        this.medium = medium;
+    public void setSmallandmedium(String smallandmedium) {
+        this.smallandmedium = smallandmedium;
     }
 
-    public String getRegulatoryRetail() {
-        return regulatoryRetail;
+    public String getRegulatedretail() {
+        return regulatedretail;
     }
 
-    public void setRegulatoryRetail(String regulatoryRetail) {
-        this.regulatoryRetail = regulatoryRetail;
+    public void setRegulatedretail(String regulatedretail) {
+        this.regulatedretail = regulatedretail;
     }
 
-    public String getProductType() {
-        return productType;
+    public String getProdType() {
+        return prodType;
     }
 
-    public void setProductType(String productType) {
-        this.productType = productType;
+    public void setProdType(String prodType) {
+        this.prodType = prodType;
     }
 
-    public String getProductName() {
-        return productName;
+    public String getProdName() {
+        return prodName;
     }
 
-    public void setProductName(String productName) {
-        this.productName = productName;
+    public void setProdName(String prodName) {
+        this.prodName = prodName;
     }
 
-    public String getOnOffFlag() {
-        return onOffFlag;
+    public String getOnbalshOffbalshFlag() {
+        return onbalshOffbalshFlag;
     }
 
-    public void setOnOffFlag(String onOffFlag) {
-        this.onOffFlag = onOffFlag;
+    public void setOnbalshOffbalshFlag(String onbalshOffbalshFlag) {
+        this.onbalshOffbalshFlag = onbalshOffbalshFlag;
     }
 
-    public String getDiscType() {
-        return discType;
+    public String getDiscountingType() {
+        return discountingType;
     }
 
-    public void setDiscType(String discType) {
-        this.discType = discType;
+    public void setDiscountingType(String discountingType) {
+        this.discountingType = discountingType;
     }
 
-    public String getVouchTypeCd() {
-        return vouchTypeCd;
+    public String getBillType() {
+        return billType;
     }
 
-    public void setVouchTypeCd(String vouchTypeCd) {
-        this.vouchTypeCd = vouchTypeCd;
+    public void setBillType(String billType) {
+        this.billType = billType;
     }
 
-    public String getIsMybankSetFlag() {
-        return isMybankSetFlag;
+    public String getIfSelfbankAcceptance() {
+        return ifSelfbankAcceptance;
     }
 
-    public void setIsMybankSetFlag(String isMybankSetFlag) {
-        this.isMybankSetFlag = isMybankSetFlag;
+    public void setIfSelfbankAcceptance(String ifSelfbankAcceptance) {
+        this.ifSelfbankAcceptance = ifSelfbankAcceptance;
     }
 
-    public String getAcceptorNo() {
-        return acceptorNo;
+    public String getAcceptorClientNo() {
+        return acceptorClientNo;
     }
 
-    public void setAcceptorNo(String acceptorNo) {
-        this.acceptorNo = acceptorNo;
+    public void setAcceptorClientNo(String acceptorClientNo) {
+        this.acceptorClientNo = acceptorClientNo;
     }
 
-    public String getAcceptorName() {
-        return acceptorName;
+    public String getAcceptorClientName() {
+        return acceptorClientName;
     }
 
-    public void setAcceptorName(String acceptorName) {
-        this.acceptorName = acceptorName;
+    public void setAcceptorClientName(String acceptorClientName) {
+        this.acceptorClientName = acceptorClientName;
     }
 
-    public String getSecTypeCd() {
-        return secTypeCd;
+    public String getSecurityType() {
+        return securityType;
     }
 
-    public void setSecTypeCd(String secTypeCd) {
-        this.secTypeCd = secTypeCd;
+    public void setSecurityType(String securityType) {
+        this.securityType = securityType;
     }
 
-    public String getPurposeFlag() {
-        return purposeFlag;
+    public String getGeneralSpecialFlag() {
+        return generalSpecialFlag;
     }
 
-    public void setPurposeFlag(String purposeFlag) {
-        this.purposeFlag = purposeFlag;
+    public void setGeneralSpecialFlag(String generalSpecialFlag) {
+        this.generalSpecialFlag = generalSpecialFlag;
     }
 
-    public String getCcyCd() {
-        return ccyCd;
+    public String getCcy() {
+        return ccy;
     }
 
-    public void setCcyCd(String ccyCd) {
-        this.ccyCd = ccyCd;
+    public void setCcy(String ccy) {
+        this.ccy = ccy;
     }
 
-    public String getStartDt() {
-        return startDt;
+    public String getEffectDate() {
+        return effectDate;
     }
 
-    public void setStartDt(String startDt) {
-        this.startDt = startDt;
+    public void setEffectDate(String effectDate) {
+        this.effectDate = effectDate;
     }
 
-    public String getMatDt() {
-        return matDt;
+    public String getExpiryDate() {
+        return expiryDate;
     }
 
-    public void setMatDt(String matDt) {
-        this.matDt = matDt;
+    public void setExpiryDate(String expiryDate) {
+        this.expiryDate = expiryDate;
     }
 
-    public String getOriginalTerm() {
-        return originalTerm;
+    public BigDecimal getOrigTerm() {
+        return origTerm;
     }
 
-    public void setOriginalTerm(String originalTerm) {
-        this.originalTerm = originalTerm;
+    public void setOrigTerm(BigDecimal origTerm) {
+        this.origTerm = origTerm;
     }
 
-    public String getResidualterm() {
-        return residualterm;
+    public BigDecimal getResidualTerm() {
+        return residualTerm;
     }
 
-    public void setResidualterm(String residualterm) {
-        this.residualterm = residualterm;
+    public void setResidualTerm(BigDecimal residualTerm) {
+        this.residualTerm = residualTerm;
     }
 
-    public String getFiveClassCd() {
-        return fiveClassCd;
+    public String getFiveClass() {
+        return fiveClass;
     }
 
-    public void setFiveClassCd(String fiveClassCd) {
-        this.fiveClassCd = fiveClassCd;
+    public void setFiveClass(String fiveClass) {
+        this.fiveClass = fiveClass;
     }
 
-    public String getOverdueDays() {
+    public BigDecimal getOverdueDays() {
         return overdueDays;
     }
 
-    public void setOverdueDays(String overdueDays) {
+    public void setOverdueDays(BigDecimal overdueDays) {
         this.overdueDays = overdueDays;
     }
 
-    public String getInvestIndustryCd() {
-        return investIndustryCd;
+    public String getIndustryInvestClass() {
+        return industryInvestClass;
     }
 
-    public void setInvestIndustryCd(String investIndustryCd) {
-        this.investIndustryCd = investIndustryCd;
+    public void setIndustryInvestClass(String industryInvestClass) {
+        this.industryInvestClass = industryInvestClass;
     }
 
-    public String getZhiyaMaiduanCd() {
-        return zhiyaMaiduanCd;
+    public String getPledgeBuyoutType() {
+        return pledgeBuyoutType;
     }
 
-    public void setZhiyaMaiduanCd(String zhiyaMaiduanCd) {
-        this.zhiyaMaiduanCd = zhiyaMaiduanCd;
+    public void setPledgeBuyoutType(String pledgeBuyoutType) {
+        this.pledgeBuyoutType = pledgeBuyoutType;
     }
 
-    public String getRepoTypeCd() {
-        return repoTypeCd;
+    public String getRepoType() {
+        return repoType;
     }
 
-    public void setRepoTypeCd(String repoTypeCd) {
-        this.repoTypeCd = repoTypeCd;
+    public void setRepoType(String repoType) {
+        this.repoType = repoType;
     }
 
-    public String getRepoDays() {
-        return repoDays;
+    public BigDecimal getRepoTerm() {
+        return repoTerm;
     }
 
-    public void setRepoDays(String repoDays) {
-        this.repoDays = repoDays;
+    public void setRepoTerm(BigDecimal repoTerm) {
+        this.repoTerm = repoTerm;
     }
 
-    public String getBillNo() {
-        return billNo;
+    public String getBondCode() {
+        return bondCode;
     }
 
-    public void setBillNo(String billNo) {
-        this.billNo = billNo;
+    public void setBondCode(String bondCode) {
+        this.bondCode = bondCode;
     }
 
-    public String getCoreMarketPartFlag() {
-        return coreMarketPartFlag;
+    public String getCoreMarketParticipantFlag() {
+        return coreMarketParticipantFlag;
     }
 
-    public void setCoreMarketPartFlag(String coreMarketPartFlag) {
-        this.coreMarketPartFlag = coreMarketPartFlag;
+    public void setCoreMarketParticipantFlag(String coreMarketParticipantFlag) {
+        this.coreMarketParticipantFlag = coreMarketParticipantFlag;
     }
 
-    public String getBalance() {
-        return balance;
+    public BigDecimal getAssetBal() {
+        return assetBal;
     }
 
-    public void setBalance(String balance) {
-        this.balance = balance;
+    public void setAssetBal(BigDecimal assetBal) {
+        this.assetBal = assetBal;
     }
 
-    public String getGlAccountId() {
-        return glAccountId;
+    public String getPrinAccountNo() {
+        return prinAccountNo;
     }
 
-    public void setGlAccountId(String glAccountId) {
-        this.glAccountId = glAccountId;
+    public void setPrinAccountNo(String prinAccountNo) {
+        this.prinAccountNo = prinAccountNo;
     }
 
-    public String getRecInt() {
-        return recInt;
+    public BigDecimal getReceivableInt() {
+        return receivableInt;
     }
 
-    public void setRecInt(String recInt) {
-        this.recInt = recInt;
+    public void setReceivableInt(BigDecimal receivableInt) {
+        this.receivableInt = receivableInt;
     }
 
-    public String getRecIntAccount() {
-        return recIntAccount;
+    public String getReceivableIntAccountNo() {
+        return receivableIntAccountNo;
     }
 
-    public void setRecIntAccount(String recIntAccount) {
-        this.recIntAccount = recIntAccount;
+    public void setReceivableIntAccountNo(String receivableIntAccountNo) {
+        this.receivableIntAccountNo = receivableIntAccountNo;
     }
 
-    public String getAccrInt() {
+    public BigDecimal getAccrInt() {
         return accrInt;
     }
 
-    public void setAccrInt(String accrInt) {
+    public void setAccrInt(BigDecimal accrInt) {
         this.accrInt = accrInt;
     }
 
-    public String getAccrIntAccount() {
-        return accrIntAccount;
+    public String getAccrIntAccountNo() {
+        return accrIntAccountNo;
     }
 
-    public void setAccrIntAccount(String accrIntAccount) {
-        this.accrIntAccount = accrIntAccount;
+    public void setAccrIntAccountNo(String accrIntAccountNo) {
+        this.accrIntAccountNo = accrIntAccountNo;
     }
 
-    public String getIntAdj() {
+    public BigDecimal getIntAdj() {
         return intAdj;
     }
 
-    public void setIntAdj(String intAdj) {
+    public void setIntAdj(BigDecimal intAdj) {
         this.intAdj = intAdj;
     }
 
-    public String getIntAdjAccount() {
-        return intAdjAccount;
+    public String getIntAdjAccountNo() {
+        return intAdjAccountNo;
     }
 
-    public void setIntAdjAccount(String intAdjAccount) {
-        this.intAdjAccount = intAdjAccount;
+    public void setIntAdjAccountNo(String intAdjAccountNo) {
+        this.intAdjAccountNo = intAdjAccountNo;
     }
 
-    public String getFairValueChange() {
+    public BigDecimal getFairValueChange() {
         return fairValueChange;
     }
 
-    public void setFairValueChange(String fairValueChange) {
+    public void setFairValueChange(BigDecimal fairValueChange) {
         this.fairValueChange = fairValueChange;
     }
 
-    public String getFairValAccount() {
-        return fairValAccount;
+    public String getFairValueChangeAccountNo() {
+        return fairValueChangeAccountNo;
     }
 
-    public void setFairValAccount(String fairValAccount) {
-        this.fairValAccount = fairValAccount;
+    public void setFairValueChangeAccountNo(String fairValueChangeAccountNo) {
+        this.fairValueChangeAccountNo = fairValueChangeAccountNo;
     }
 
-    public String getChargeFee() {
-        return chargeFee;
+    public BigDecimal getCharge() {
+        return charge;
     }
 
-    public void setChargeFee(String chargeFee) {
-        this.chargeFee = chargeFee;
+    public void setCharge(BigDecimal charge) {
+        this.charge = charge;
     }
 
-    public String getChargeFeeAccount() {
-        return chargeFeeAccount;
+    public String getChargeAccountNo() {
+        return chargeAccountNo;
     }
 
-    public void setChargeFeeAccount(String chargeFeeAccount) {
-        this.chargeFeeAccount = chargeFeeAccount;
+    public void setChargeAccountNo(String chargeAccountNo) {
+        this.chargeAccountNo = chargeAccountNo;
     }
 
-    public String getBusLine() {
-        return busLine;
+    public String getBelongLine() {
+        return belongLine;
     }
 
-    public void setBusLine(String busLine) {
-        this.busLine = busLine;
+    public void setBelongLine(String belongLine) {
+        this.belongLine = belongLine;
     }
 
-    public String getCommType() {
-        return commType;
+    public String getCommitmentType() {
+        return commitmentType;
     }
 
-    public void setCommType(String commType) {
-        this.commType = commType;
+    public void setCommitmentType(String commitmentType) {
+        this.commitmentType = commitmentType;
     }
 
-    public String getReserve() {
-        return reserve;
+    public BigDecimal getProvisionReserve() {
+        return provisionReserve;
     }
 
-    public void setReserve(String reserve) {
-        this.reserve = reserve;
+    public void setProvisionReserve(BigDecimal provisionReserve) {
+        this.provisionReserve = provisionReserve;
     }
 
-    public String getReserveAccount() {
-        return reserveAccount;
+    public String getReserveAccountNo() {
+        return reserveAccountNo;
     }
 
-    public void setReserveAccount(String reserveAccount) {
-        this.reserveAccount = reserveAccount;
+    public void setReserveAccountNo(String reserveAccountNo) {
+        this.reserveAccountNo = reserveAccountNo;
     }
 
-    public String getBalanceAll() {
-        return balanceAll;
+    public BigDecimal getThisBalance() {
+        return thisBalance;
     }
 
-    public void setBalanceAll(String balanceAll) {
-        this.balanceAll = balanceAll;
+    public void setThisBalance(BigDecimal thisBalance) {
+        this.thisBalance = thisBalance;
     }
 
-    public String getCashRisk() {
-        return cashRisk;
+    public BigDecimal getCoverageRisk0() {
+        return coverageRisk0;
     }
 
-    public void setCashRisk(String cashRisk) {
-        this.cashRisk = cashRisk;
+    public void setCoverageRisk0(BigDecimal coverageRisk0) {
+        this.coverageRisk0 = coverageRisk0;
     }
 
-    public String getGovernmentRisk() {
-        return governmentRisk;
+    public BigDecimal getCoverageRisk1() {
+        return coverageRisk1;
     }
 
-    public void setGovernmentRisk(String governmentRisk) {
-        this.governmentRisk = governmentRisk;
+    public void setCoverageRisk1(BigDecimal coverageRisk1) {
+        this.coverageRisk1 = coverageRisk1;
     }
 
-    public String getFinanceRisk() {
-        return financeRisk;
+    public BigDecimal getCoverageRisk2() {
+        return coverageRisk2;
     }
 
-    public void setFinanceRisk(String financeRisk) {
-        this.financeRisk = financeRisk;
+    public void setCoverageRisk2(BigDecimal coverageRisk2) {
+        this.coverageRisk2 = coverageRisk2;
     }
 
-    public String getDfBank() {
-        return dfBank;
+    public BigDecimal getCoverageRisk3() {
+        return coverageRisk3;
     }
 
-    public void setDfBank(String dfBank) {
-        this.dfBank = dfBank;
+    public void setCoverageRisk3(BigDecimal coverageRisk3) {
+        this.coverageRisk3 = coverageRisk3;
     }
 
-    public String getdBank() {
-        return dBank;
+    public BigDecimal getCoverageRisk4() {
+        return coverageRisk4;
     }
 
-    public void setdBank(String dBank) {
-        this.dBank = dBank;
+    public void setCoverageRisk4(BigDecimal coverageRisk4) {
+        this.coverageRisk4 = coverageRisk4;
     }
 
-    public String getOtherRiskSum() {
-        return otherRiskSum;
+    public BigDecimal getCoverageRisk5() {
+        return coverageRisk5;
     }
 
-    public void setOtherRiskSum(String otherRiskSum) {
-        this.otherRiskSum = otherRiskSum;
+    public void setCoverageRisk5(BigDecimal coverageRisk5) {
+        this.coverageRisk5 = coverageRisk5;
     }
 
-    public String getUnfinishEad() {
+    public BigDecimal getUnfinishEad() {
         return unfinishEad;
     }
 
-    public void setUnfinishEad(String unfinishEad) {
+    public void setUnfinishEad(BigDecimal unfinishEad) {
         this.unfinishEad = unfinishEad;
     }
 
-    public String getRiskExposureCode() {
-        return riskExposureCode;
+    public String getOffbalshProjectName() {
+        return offbalshProjectName;
+    }
+
+    public void setOffbalshProjectName(String offbalshProjectName) {
+        this.offbalshProjectName = offbalshProjectName;
+    }
+
+    public BigDecimal getCcf() {
+        return ccf;
+    }
+
+    public void setCcf(BigDecimal ccf) {
+        this.ccf = ccf;
+    }
+
+    public String getRiskExposeClassRecognizedResult() {
+        return riskExposeClassRecognizedResult;
     }
 
-    public void setRiskExposureCode(String riskExposureCode) {
-        this.riskExposureCode = riskExposureCode;
+    public void setRiskExposeClassRecognizedResult(String riskExposeClassRecognizedResult) {
+        this.riskExposeClassRecognizedResult = riskExposeClassRecognizedResult;
     }
 
-    public String getLoanWeight() {
-        return loanWeight;
+    public BigDecimal getDebtitemRiskWeight() {
+        return debtitemRiskWeight;
     }
 
-    public void setLoanWeight(String loanWeight) {
-        this.loanWeight = loanWeight;
+    public void setDebtitemRiskWeight(BigDecimal debtitemRiskWeight) {
+        this.debtitemRiskWeight = debtitemRiskWeight;
     }
 
     public String getRiskExposureCodeArtificial() {
@@ -607,19 +574,19 @@ public class MultiDimensionalCreditRiskModel {
         this.riskExposureCodeArtificial = riskExposureCodeArtificial;
     }
 
-    public String getLoanWeightArtificial() {
+    public BigDecimal getLoanWeightArtificial() {
         return loanWeightArtificial;
     }
 
-    public void setLoanWeightArtificial(String loanWeightArtificial) {
+    public void setLoanWeightArtificial(BigDecimal loanWeightArtificial) {
         this.loanWeightArtificial = loanWeightArtificial;
     }
 
-    public String getRwa() {
+    public BigDecimal getRwa() {
         return rwa;
     }
 
-    public void setRwa(String rwa) {
+    public void setRwa(BigDecimal rwa) {
         this.rwa = rwa;
     }
 }

+ 52 - 20
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/AccountManageListMapper.xml

@@ -6,34 +6,66 @@
     <!-- 初始化与按查询条件查询 -->
     <select id="getDataList" resultType="com.sundata.product.rwa.internal.model.AccountManageListModel" parameterType="com.sundata.product.rwa.internal.model.AccountManageListModel">
         select
-        CALCINDEX                             calcIndex,
-        SDATE                                 sDate,
-        EDATE                                 eDate,
-        TERM                                  term,
-        DATA_DATE                             dataDate,
-        LOAN_REFERENCE_NO                     loanReferenceNo,
-        SUM_BALANCE                           sumBalance,
-        null                    monthaverageBalance,
-        ENDOFTERM_THISTERM_SUM_BALANCE        endoftermThistermSumBalance,
-        null           monthaverageThistermBalance,
-        ENDOFTERM_ECL                         endoftermEcl,
-        ENDOFTERM_SUM_EAD                     endoftermSumEad,
-        null                        monthaverageEad,
-        SUM_RWA                               sumRwa,
-        null                        monthaverageRwa,
-        AVERAGE_RISK_WEIGHT                   averageRiskWeight
+        loanReferenceNo                 AS    loanReferenceNo,
+        sum(sumBalance)                      as  sumBalance,
+        sum(monthaverageBalance)             as  monthaverageBalance,
+        sum(endoftermThistermSumBalance)     as  endoftermThistermSumBalance,
+        sum(monthaverageThistermBalance)     as  monthaverageThistermBalance,
+        sum(endoftermEcl)                    as  endoftermEcl,
+        sum(endoftermSumEad)                 as  endoftermSumEad,
+        sum(monthaverageEad)                 as  monthaverageEad,
+        sum(sumRwa)                          as  sumRwa,
+        sum(monthaverageRwa)                 as  monthaverageRwa,
+        sum(averageRiskWeight)               as  averageRiskWeight
+        from (
+        select
+        LOAN_REFERENCE_NO                 AS    loanReferenceNo,
+        SUM_BALANCE                  AS    sumBalance,
+        null                         AS    monthaverageBalance,
+        ENDOFTERM_THISTERM_SUM_BALANCE     AS   endoftermThistermSumBalance,
+        null                         AS    monthaverageThistermBalance,
+        ENDOFTERM_ECL                AS    endoftermEcl,
+        ENDOFTERM_SUM_EAD            AS    endoftermSumEad,
+        null                         AS    monthaverageEad,
+        SUM_RWA                      AS    sumRwa,
+        null                         AS    monthaverageRwa,
+        AVERAGE_RISK_WEIGHT          AS    averageRiskWeight
+        from RWA_REPORT_RS_MANAGERCREDICTGROUPG
+        <where>
+            <if test="model.loanReferenceNo != null and '' !=model.loanReferenceNo">
+                and LOAN_REFERENCE_NO =#{model.loanReferenceNo}
+            </if>
+            <if test="model.eDate != null and '' != model.eDate">
+                and EDATE = #{model.eDate}
+            </if>
+        </where>
+        union all
+        select
+        LOAN_REFERENCE_NO                 AS    loanReferenceNo,
+        null	                     AS    sumBalance,
+        sum(SUM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS    monthaverageBalance,
+        null                         AS   endoftermThistermSumBalance,
+        sum(ENDOFTERM_THISTERM_SUM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)	AS    monthaverageThistermBalance,
+        null                         AS    endoftermEcl,
+        null                         AS    endoftermSumEad,
+        sum(ENDOFTERM_SUM_EAD)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS    monthaverageEad,
+        null                         AS    sumRwa,
+        sum(SUM_RWA)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)   AS    monthaverageRwa,
+        null                          AS    averageRiskWeight
         from RWA_REPORT_RS_MANAGERCREDICTGROUPG
         <where>
-            <if test="model.loanReferenceNo != null and '' != model.loanReferenceNo">
-                LOAN_REFERENCE_NO like concat(concat('%',#{model.loanReferenceNo}),'%')
+            <if test="model.loanReferenceNo != null and '' !=model.loanReferenceNo">
+                and LOAN_REFERENCE_NO =#{model.loanReferenceNo}
             </if>
             <if test="model.sDate != null and '' != model.sDate">
-                and SDATE like concat(concat('%',#{model.sDate}),'%')
+                <![CDATA[    and SDATE >= #{model.sDate}  ]]>
             </if>
             <if test="model.eDate != null and '' != model.eDate">
-                and EDATE like concat(concat('%',#{model.eDate}),'%')
+                <![CDATA[  and EDATE <= #{model.eDate}  ]]>
             </if>
         </where>
+        group by LOAN_REFERENCE_NO
+        )group by loanReferenceNo
     </select>
 
 

+ 240 - 170
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/CapitalOccupyMonitorMapper.xml

@@ -5,203 +5,177 @@
 <mapper namespace="com.sundata.product.rwa.internal.mapper.CapitalOccupyMonitorMapper">
     <!-- 初始化与按查询条件查询 -->
     <select id="getDataList" resultType="com.sundata.product.rwa.internal.model.CapitalOccupyMonitorModel" parameterType="com.sundata.product.rwa.internal.model.CapitalOccupyMonitorModel">
+        SELECT
+        orgCode                                 AS orgCode,
+        sum(sumBalance)                         AS sumBalance,
+        sum(onBalance)                          AS onBalance,
+        sum(offBalance)                         AS offBalance,
+        sum(monthaverageBalance)                AS monthaverageBalance,
+        sum(endoftermBalance)                   AS endoftermBalance,
+        sum(thistermOnBalance)                  AS thistermOnBalance,
+        sum(thistermOffBalance)                 AS thistermOffBalance,
+        sum(monthaverageThistermBalance)        AS monthaverageThistermBalance,
+        sum(endoftermEcl)                       AS endoftermEcl,
+        sum(endoftermOnEcl)                     AS endoftermOnEcl,
+        sum(endoftermOffEcl)                    AS endoftermOffEcl,
+        sum(endoftermSumEad)                    AS endoftermSumEad,
+        sum(endoftermOnEad)                     AS endoftermOnEad,
+        sum(endoftermOffEad)                    AS endoftermOffEad,
+        sum(monthaverageEad)                    AS monthaverageEad,
+        sum(sumRwa)                             AS sumRwa,
+        sum(onRwa)                              AS onRwa,
+        sum(offRwa)                             AS offRwa,
+        sum(monthaverageRwa)                    AS monthaverageRwa,
+        sum(averageRiskWeight)                  AS averageRiskWeight
+        from (
         select
-        CALCINDEX                                                AS  calcIndex,
-        SDATE                                                    AS  sDate,
-        EDATE                                                    AS  eDate,
-        TERM                                                     AS  term,
-        DATA_DATE                                                AS  dataDate,
-        ORGCODE                                                  AS  orgCode,
+        t2.ORGCODE                                                  AS  orgCode,
         SUM_BALANCE                                              AS  sumBalance,
         ON_BALANCE                                               AS  onBalance,
         OFF_BALANCE                                              AS  offBalance,
-        null                                       AS  monthaverageBalance,
+        null                                                     AS  monthaverageBalance,
         ENDOFTERM_BALANCE                                        AS  endoftermBalance,
         THISTERM_ON_BALANCE                                      AS  thistermOnBalance,
         THISTERM_OFF_BALANCE                                     AS  thistermOffBalance,
-        null                              AS  monthaverageThistermBalance,
+        null                                                     AS  monthaverageThistermBalance,
         ENDOFTERM_ECL                                            AS  endoftermEcl,
         ENDOFTERM_ON_ECL                                         AS  endoftermOnEcl,
-        ENDOFTERM_ON_ECL                                         AS  endoftermOffEcl,
+        ENDOFTERM_OFF_ECL                                        AS  endoftermOffEcl,
         ENDOFTERM_SUM_EAD                                        AS  endoftermSumEad,
         ENDOFTERM_ON_EAD                                         AS  endoftermOnEad,
-        ENDOFTERM_ON_EAD                                         AS  endoftermOffEad,
-        null                                           AS  monthaverageEad,
+        ENDOFTERM_OFF_EAD                                        AS  endoftermOffEad,
+        null                                                     AS  monthaverageEad,
         SUM_RWA                                                  AS  sumRwa,
         ON_RWA                                                   AS  onRwa,
         OFF_RWA                                                  AS  offRwa,
-        null                                          AS  monthaverageRwa,
+        null                                                     AS  monthaverageRwa,
         AVERAGE_RISK_WEIGHT                                      AS  averageRiskWeight
-        from RWA_REPORT_RS_ORGCREDICTGROUP
+        from RWA_REPORT_RS_ORGCREDICTGROUP T
+        LEFT JOIN sys_orgrelational t2
+        ON t.ORGCODE = t2.underorg
         <where>
             <if test="model.orgCode != null and '' != model.orgCode">
-                and ORGCODE like concat(concat('%',#{model.orgCode}),'%')
-            </if>
-            <if test="model.sDate != null and '' != model.sDate">
-                and SDATE like concat(concat('%',#{model.sDate}),'%')
+                and T2.ORGCODE like concat(concat('%',#{model.orgCode}),'%')
             </if>
             <if test="model.eDate != null and '' != model.eDate">
-                and EDATE like concat(concat('%',#{model.eDate}),'%')
+                and EDATE = #{model.eDate}
             </if>
         </where>
-        order by ORGCODE
+        union all
+        select
+        t2.ORGCODE                AS  orgCode,
+        null                   AS sumBalance,
+        null                   AS onBalance,
+        null                   AS offBalance,
+        sum(SUM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)  AS  monthaverageBalance,
+        null                   AS  endoftermBalance,
+        null                   AS  thistermOnBalance,
+        null                   AS  thistermOffBalance,
+        sum(ENDOFTERM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS  monthaverageThistermBalance,
+        null                   AS endoftermEcl,
+        null                   AS endoftermOnEcl,
+        null                   AS endoftermOffEcl,
+        null                   AS endoftermSumEad,
+        null                   AS endoftermOnEad,
+        null                   AS endoftermOffEad,
+        sum(ENDOFTERM_SUM_EAD)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS  monthaverageEad,
+        null                   AS  sumRwa,
+        null                   AS  onRwa,
+        null                   AS  offRwa,
+        sum(SUM_RWA)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS  monthaverageRwa,
+        null                   AS  averageRiskWeight
+        from RWA_REPORT_RS_ORGCREDICTGROUP T
+        LEFT JOIN sys_orgrelational t2
+        ON t.ORGCODE = t2.underorg
+        <where>
+        <if test="model.orgCode != null and '' != model.orgCode">
+        and T2.ORGCODE like concat(concat('%',#{model.orgCode}),'%')
+      </if>
+       <if test="model.sDate != null and '' != model.sDate">
+           <![CDATA[    and SDATE >= #{model.sDate}  ]]>
+         </if>
+        <if test="model.eDate != null and '' != model.eDate">
+            <![CDATA[  and EDATE <= #{model.eDate}  ]]>
+        </if>
+        </where>
+        group by T2.ORGCODE
+        )
+        group by orgCode
+        order by orgCode
     </select>
 
     <!-- 初始化与按查询条件查询 -->
-    <select id="getDetailDataList" resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel" parameterType="com.sundata.product.rwa.internal.model.CapitalOccupyMonitorModel">
+    <select id="getDetailDataList" resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
         select
-        t.LOAN_REFERENCE_NO                 AS   loanReferenceNo,
-        null                           AS   contNo,
-        t.MGMT_BRANCH_NO                    AS   mgmtBranchNo,
-        t.CUST_NO                           AS   custNo,
-        t.CUST_NAME                         AS   custName,
-        t.BUS_TYPE                          AS   busType,
-        case
-        when t.CUST_NO in (select CUST_NO from  RWA_TDM_BUS_PROCESS_SMALLANDMICRO )
-        then '是'
-        else '否'
-        end                               AS   micro,
-        case
-        when t.CUST_NO in (select CUST_NO from  RWA_TDM_BUS_PROCESS_SMALLANDMEDIUM )
-        then '是'
-        else '否'
-        end                               AS   medium,
-        case
-        when t.CUST_NO in (select CUST_NO from  RWA_TDM_BUS_PROCESS_REGULATEDRETAIL )
-        then '是'
-        else '否'
-        end                               AS   regulatoryRetail,
-        t1.PRODUCT_TYPE                   AS   productType,
-        t.PRODUCT_NAME                      AS   productName,
-        null                      AS   onOffFlag,
-        null                        AS   discType,
-        null                    AS   vouchTypeCd,
-        null               AS   isMybankSetFlag,
-        null                       AS   acceptorNo,
-        null                     AS   acceptorName,
-        null                       AS   secTypeCd,
-        null                     AS   purposeFlag,
-        null                            AS   ccyCd,
-        null                          AS   startDt,
-        null                            AS   matDt,
-        --        ORIGINAL_TERM                     AS   originalTerm,
-        --        RESIDUAL_TERM                     AS   residualterm,
-        null                     AS   FIVE_CLASS_CD,
-        null                     AS   overdueDays,
-        null               AS   investIndustryCd,
-        null                 AS   zhiyaMaiduanCd,
-        null                      AS   repoTypeCd,
-        null                         AS   repoDays,
-        null                           AS   billNo,
-        null            AS   coreMarketPartFlag,
-        t.BALANCE                           AS   balance,
-        t.GL_ACCOUNT_ID                     AS   glAccountId,
-        t.REC_INT                           AS   recInt,
-        t.REC_INT_ACCOUNT                   AS   recIntAccount,
-        t.ACCR_INT                          AS   accrInt,
-        t.ACCR_INT_ACCOUNT                  AS   accrIntAccount,
-        t.INT_ADJ                           AS   intAdj,
-        t.INT_ADJ_ACCOUNT                   AS   intAdjAccount,
-        t.FAIR_VALUE_CHANGE                 AS   fairValueChange,
-        t.FAIR_VAL_ACCOUNT                  AS   fairValAccount,
-        t.CHARGE_FEE                        AS   chargeFee,
-        t.CHARGE_FEE_ACCOUNT                AS   chargeFeeAccount,
-        null                          AS   busLine,
-        null                         AS   commType,
-        t.RESERVE                           AS   reserve,
-        t.RESERVE_ACCOUNT                   AS   reserveAccount,
-        t.BALANCE                        AS   balanceAll,
-        t2.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   cashRisk,
-        t3.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   governmentRisk,
-        t4.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   financeRisk,
-        t5.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   dfBank,
-        t6.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   dBank,
-        t7.RISKSUM                        AS   otherRiskSum,
-        t.UNFINISH_EAD                      AS   unfinishEad,
-        t8.RISK_EXPOSURE_CODE             AS   riskExposureCode,
-        t8.LOAN_WEIGHT                    AS   loanWeight,
-        t8.RISK_EXPOSURE_CODE_ARTIFICIAL  AS   riskExposureCodeArtificial,
-        t8.LOAN_WEIGHT_ARTIFICIAL         AS   loanWeightArtificial,
-        t.RWA                               AS   rwa
-        from rwa_apm_bus_rs_onbusinessrwa t
-        left join
-        (select PRODUCT_NO,PRODUCT_TYPE from rwa_calc_conf_product) t1
-        on t.PRODUCT_NO = t.PRODUCT_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from rwa_tdm_bus_process_regularrcs
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S001')  t2    -- 现金类资产
-        on t.LOAN_REFERENCE_NO = t2.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S002') t3  -- 我国中央政府
-        on t.LOAN_REFERENCE_NO = t3.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S004') t4  -- 我国开发性金融机构和政策性银行(0%)
-        on t.LOAN_REFERENCE_NO = t4.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S015') t5 -- 境内外商业银行(短期)
-        on t.LOAN_REFERENCE_NO = t5.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S016') t6 -- 境内商业银行
-        on t.LOAN_REFERENCE_NO = t6.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        count(MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE)   AS RISKSUM
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE != 'S001'
-        GROUP BY DEBTITEM_NO) t7 -- 其他缓释类型
-        on t.LOAN_REFERENCE_NO = t7.DEBTITEM_NO
-        left join
-        (select
-        LOAN_REFERENCE_NO  ,             -- 债项编号
-        RISK_EXPOSURE_CODE ,             -- 系统认定风险暴露分类代码
-        LOAN_WEIGHT        ,             -- 系统认定风险权重
-        RISK_EXPOSURE_CODE_ARTIFICIAL,   -- 人工认定风险暴露分类代码
-        LOAN_WEIGHT_ARTIFICIAL          -- 人工认定风险权重
-        from RWA_APM_BUS_RS_ARTIFICIALRESULT ) t8 -- 风险暴露分类人工认定历史表
-        on t.LOAN_REFERENCE_NO = t8.LOAN_REFERENCE_NO
+        TERM                                    as  term,
+        DATA_DATE                               as  dataDate,
+        LOAN_REFERENCE_NO                       as  loanReferenceNo,
+        CONTRACT_NO                             as  contractNo,
+        MANAGE_ORGN_NO                          as  manageOrgnNo,
+        CLIENT_NO                               as  clientNo,
+        CLIENT_NAME                             as  clientName,
+        TRADE_CNTRPTY_DIVISION                  as  tradeCntrptyDivision,
+        SMALLANDMICRO                           as  smallandmicro,
+        SMALLANDMEDIUM                          as  smallandmedium,
+        REGULATEDRETAIL                         as  regulatedretail,
+        PROD_TYPE                               as  prodType,
+        PROD_NAME                               as  prodName,
+        ONBALSH_OFFBALSH_FLAG                   as  onbalshOffbalshFlag,
+        DISCOUNTING_TYPE                        as  discountingType,
+        BILL_TYPE                               as  billType,
+        IF_SELFBANK_ACCEPTANCE                  as  ifSelfbankAcceptance,
+        ACCEPTOR_CLIENT_NO                      as  acceptorClientNo,
+        ACCEPTOR_CLIENT_NAME                    as  acceptorClientName,
+        SECURITY_TYPE                           as  securityType,
+        GENERAL_SPECIAL_FLAG                    as  generalSpecialFlag,
+        CCY                                     as  ccy,
+        EFFECT_DATE                             as  effectDate,
+        EXPIRY_DATE                             as  expiryDate,
+        ORIG_TERM                               as  origTerm,
+        RESIDUAL_TERM                           as  residualTerm,
+        FIVE_CLASS                              as  fiveClass,
+        OVERDUE_DAYS                            as  overdueDays,
+        INDUSTRY_INVEST_CLASS                   as  industryInvestClass,
+        PLEDGE_BUYOUT_TYPE                      as  pledgeBuyoutType,
+        REPO_TYPE                               as  repoType,
+        REPO_TERM                               as  repoTerm,
+        BOND_CODE                               as  bondCode,
+        CORE_MARKET_PARTICIPANT_FLAG            as  coreMarketParticipantFlag,
+        ASSET_BAL                               as  assetBal,
+        PRIN_ACCOUNT_NO                         as  prinAccountNo,
+        RECEIVABLE_INT                          as  receivableInt,
+        RECEIVABLE_INT_ACCOUNT_NO               as  receivableIntAccountNo,
+        ACCR_INT                                as  accrInt,
+        ACCR_INT_ACCOUNT_NO                     as  accrIntAccountNo,
+        INT_ADJ                                 as  intAdj,
+        INT_ADJ_ACCOUNT_NO                      as  intAdjAccountNo,
+        FAIR_VALUE_CHANGE                       as  fairValueChange,
+        FAIR_VALUE_CHANGE_ACCOUNT_NO            as  fairValueChangeAccountNo,
+        CHARGE                                  as  charge,
+        CHARGE_ACCOUNT_NO                       as  chargeAccountNo,
+        BELONG_LINE                             as  belongLine,
+        COMMITMENT_TYPE                         as  commitmentType,
+        PROVISION_RESERVE                       as  provisionReserve,
+        RESERVE_ACCOUNT_NO                      as  reserveAccountNo,
+        THIS_BALANCE                            as  thisBalance,
+        COVERAGE_RISK0                          as  coverageRisk0,
+        COVERAGE_RISK1                          as  coverageRisk1,
+        COVERAGE_RISK2                          as  coverageRisk2,
+        COVERAGE_RISK3                          as  coverageRisk3,
+        COVERAGE_RISK4                          as  coverageRisk4,
+        COVERAGE_RISK5                          as  coverageRisk5,
+        UNFINISH_EAD                            as  unfinishEad,
+        OFFBALSH_PROJECT_NAME                   as  offbalshProjectName,
+        CCF                                     as  ccf,
+        RISK_EXPOSE_CLASS_RECOGNIZED_RESULT     as  riskExposeClassRecognizedResult,
+        DEBTITEM_RISK_WEIGHT                    as  debtitemRiskWeight,
+        RISK_EXPOSURE_CODE_ARTIFICIAL           as  riskExposureCodeArtificial,
+        LOAN_WEIGHT_ARTIFICIAL                  as  loanWeightArtificial,
+        RWA                                     as  rwa
+        from  RWA_REPORT_RS_MULTI_DIMENSIONAL_CREDIT_RISK
         <where>
             <if test="model.orgCode != null and '' != model.orgCode">
-                 t.MGMT_BRANCH_NO = #{model.orgCode}
+                MANAGE_ORGN_NO in (select underorg from sys_orgrelational where orgcode = #{model.orgCode})
             </if>
 <!--            <if test="model.ruleName != null and '' != model.ruleName">-->
 <!--                and RULE_NAME like concat(concat('%',#{model.ruleName}),'%')-->
@@ -213,4 +187,100 @@
 <!--        order by t.RULE_NO,t.SUBJECT_CODES,t.LEDGER_RISKEXPOSURE_NO,t.LEDGER_OFFOBJECT_NO-->
     </select>
 
+    <select id="getDetailDataList1" resultType="com.sundata.product.rwa.internal.model.CapitalOccupyMonitorModel" >
+        SELECT
+        orgCode                                 AS orgCode,
+        sum(sumBalance)                         AS sumBalance,
+        sum(onBalance)                          AS onBalance,
+        sum(offBalance)                         AS offBalance,
+        sum(monthaverageBalance)                AS monthaverageBalance,
+        sum(endoftermBalance)                   AS endoftermBalance,
+        sum(thistermOnBalance)                  AS thistermOnBalance,
+        sum(thistermOffBalance)                 AS thistermOffBalance,
+        sum(monthaverageThistermBalance)        AS monthaverageThistermBalance,
+        sum(endoftermEcl)                       AS endoftermEcl,
+        sum(endoftermOnEcl)                     AS endoftermOnEcl,
+        sum(endoftermOffEcl)                    AS endoftermOffEcl,
+        sum(endoftermSumEad)                    AS endoftermSumEad,
+        sum(endoftermOnEad)                     AS endoftermOnEad,
+        sum(endoftermOffEad)                    AS endoftermOffEad,
+        sum(monthaverageEad)                    AS monthaverageEad,
+        sum(sumRwa)                             AS sumRwa,
+        sum(onRwa)                              AS onRwa,
+        sum(offRwa)                             AS offRwa,
+        sum(monthaverageRwa)                    AS monthaverageRwa,
+        sum(averageRiskWeight)                  AS averageRiskWeight
+        from (
+        select
+        ORGCODE                                                  AS  orgCode,
+        SUM_BALANCE                                              AS  sumBalance,
+        ON_BALANCE                                               AS  onBalance,
+        OFF_BALANCE                                              AS  offBalance,
+        null                                                     AS  monthaverageBalance,
+        ENDOFTERM_BALANCE                                        AS  endoftermBalance,
+        THISTERM_ON_BALANCE                                      AS  thistermOnBalance,
+        THISTERM_OFF_BALANCE                                     AS  thistermOffBalance,
+        null                                                     AS  monthaverageThistermBalance,
+        ENDOFTERM_ECL                                            AS  endoftermEcl,
+        ENDOFTERM_ON_ECL                                         AS  endoftermOnEcl,
+        ENDOFTERM_OFF_ECL                                        AS  endoftermOffEcl,
+        ENDOFTERM_SUM_EAD                                        AS  endoftermSumEad,
+        ENDOFTERM_ON_EAD                                         AS  endoftermOnEad,
+        ENDOFTERM_OFF_EAD                                        AS  endoftermOffEad,
+        null                                                     AS  monthaverageEad,
+        SUM_RWA                                                  AS  sumRwa,
+        ON_RWA                                                   AS  onRwa,
+        OFF_RWA                                                  AS  offRwa,
+        null                                                     AS  monthaverageRwa,
+        AVERAGE_RISK_WEIGHT                                      AS  averageRiskWeight
+        from RWA_REPORT_RS_ORGCREDICTGROUP
+        <where>
+            <if test="model.orgCode != null and '' != model.orgCode">
+                and  ORGCODE  in (select underorg from sys_orgrelational where orgcode = #{model.orgCode})
+            </if>
+            <if test="model.eDate != null and '' != model.eDate">
+                and EDATE = #{model.eDate}
+            </if>
+        </where>
+        union all
+        select
+        ORGCODE                AS  orgCode,
+        null                   AS sumBalance,
+        null                   AS onBalance,
+        null                   AS offBalance,
+        sum(SUM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)  AS  monthaverageBalance,
+        null                   AS  endoftermBalance,
+        null                   AS  thistermOnBalance,
+        null                   AS  thistermOffBalance,
+        sum(ENDOFTERM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS  monthaverageThistermBalance,
+        null                   AS endoftermEcl,
+        null                   AS endoftermOnEcl,
+        null                   AS endoftermOffEcl,
+        null                   AS endoftermSumEad,
+        null                   AS endoftermOnEad,
+        null                   AS endoftermOffEad,
+        sum(ENDOFTERM_SUM_EAD)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS  monthaverageEad,
+        null                   AS  sumRwa,
+        null                   AS  onRwa,
+        null                   AS  offRwa,
+        sum(SUM_RWA)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS  monthaverageRwa,
+        null                   AS  averageRiskWeight
+        from RWA_REPORT_RS_ORGCREDICTGROUP
+        <where>
+            <if test="model.orgCode != null and '' != model.orgCode">
+                and ORGCODE  in (select underorg from sys_orgrelational where orgcode = #{model.orgCode})
+            </if>
+            <if test="model.sDate != null and '' != model.sDate">
+                <![CDATA[    and SDATE >= #{model.sDate}  ]]>
+            </if>
+            <if test="model.eDate != null and '' != model.eDate">
+                <![CDATA[  and EDATE <= #{model.eDate}  ]]>
+            </if>
+        </where>
+        group by ORGCODE
+        )
+        group by orgCode
+        order by orgCode
+    </select>
+
 </mapper>

+ 82 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/CorporateLoansCustomersMapper.xml

@@ -38,6 +38,88 @@
         </where>
     </select>
 
+    <select id="getDetailDataList" resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
+        select
+        TERM                                    as  term,
+        DATA_DATE                               as  dataDate,
+        LOAN_REFERENCE_NO                       as  loanReferenceNo,
+        CONTRACT_NO                             as  contractNo,
+        MANAGE_ORGN_NO                          as  manageOrgnNo,
+        CLIENT_NO                               as  clientNo,
+        CLIENT_NAME                             as  clientName,
+        TRADE_CNTRPTY_DIVISION                  as  tradeCntrptyDivision,
+        SMALLANDMICRO                           as  smallandmicro,
+        SMALLANDMEDIUM                          as  smallandmedium,
+        REGULATEDRETAIL                         as  regulatedretail,
+        PROD_TYPE                               as  prodType,
+        PROD_NAME                               as  prodName,
+        ONBALSH_OFFBALSH_FLAG                   as  onbalshOffbalshFlag,
+        DISCOUNTING_TYPE                        as  discountingType,
+        BILL_TYPE                               as  billType,
+        IF_SELFBANK_ACCEPTANCE                  as  ifSelfbankAcceptance,
+        ACCEPTOR_CLIENT_NO                      as  acceptorClientNo,
+        ACCEPTOR_CLIENT_NAME                    as  acceptorClientName,
+        SECURITY_TYPE                           as  securityType,
+        GENERAL_SPECIAL_FLAG                    as  generalSpecialFlag,
+        CCY                                     as  ccy,
+        EFFECT_DATE                             as  effectDate,
+        EXPIRY_DATE                             as  expiryDate,
+        ORIG_TERM                               as  origTerm,
+        RESIDUAL_TERM                           as  residualTerm,
+        FIVE_CLASS                              as  fiveClass,
+        OVERDUE_DAYS                            as  overdueDays,
+        INDUSTRY_INVEST_CLASS                   as  industryInvestClass,
+        PLEDGE_BUYOUT_TYPE                      as  pledgeBuyoutType,
+        REPO_TYPE                               as  repoType,
+        REPO_TERM                               as  repoTerm,
+        BOND_CODE                               as  bondCode,
+        CORE_MARKET_PARTICIPANT_FLAG            as  coreMarketParticipantFlag,
+        ASSET_BAL                               as  assetBal,
+        PRIN_ACCOUNT_NO                         as  prinAccountNo,
+        RECEIVABLE_INT                          as  receivableInt,
+        RECEIVABLE_INT_ACCOUNT_NO               as  receivableIntAccountNo,
+        ACCR_INT                                as  accrInt,
+        ACCR_INT_ACCOUNT_NO                     as  accrIntAccountNo,
+        INT_ADJ                                 as  intAdj,
+        INT_ADJ_ACCOUNT_NO                      as  intAdjAccountNo,
+        FAIR_VALUE_CHANGE                       as  fairValueChange,
+        FAIR_VALUE_CHANGE_ACCOUNT_NO            as  fairValueChangeAccountNo,
+        CHARGE                                  as  charge,
+        CHARGE_ACCOUNT_NO                       as  chargeAccountNo,
+        BELONG_LINE                             as  belongLine,
+        COMMITMENT_TYPE                         as  commitmentType,
+        PROVISION_RESERVE                       as  provisionReserve,
+        RESERVE_ACCOUNT_NO                      as  reserveAccountNo,
+        THIS_BALANCE                            as  thisBalance,
+        COVERAGE_RISK0                          as  coverageRisk0,
+        COVERAGE_RISK1                          as  coverageRisk1,
+        COVERAGE_RISK2                          as  coverageRisk2,
+        COVERAGE_RISK3                          as  coverageRisk3,
+        COVERAGE_RISK4                          as  coverageRisk4,
+        COVERAGE_RISK5                          as  coverageRisk5,
+        UNFINISH_EAD                            as  unfinishEad,
+        OFFBALSH_PROJECT_NAME                   as  offbalshProjectName,
+        CCF                                     as  ccf,
+        RISK_EXPOSE_CLASS_RECOGNIZED_RESULT     as  riskExposeClassRecognizedResult,
+        DEBTITEM_RISK_WEIGHT                    as  debtitemRiskWeight,
+        RISK_EXPOSURE_CODE_ARTIFICIAL           as  riskExposureCodeArtificial,
+        LOAN_WEIGHT_ARTIFICIAL                  as  loanWeightArtificial,
+        RWA                                     as  rwa
+        from  RWA_REPORT_RS_MULTI_DIMENSIONAL_CREDIT_RISK
+        <where>
+            <if test="model.custNo != null and '' != model.custNo">
+              and  CLIENT_NO = #{model.custNo}
+            </if>
+            <!--            <if test="model.ruleName != null and '' != model.ruleName">-->
+            <!--                and RULE_NAME like concat(concat('%',#{model.ruleName}),'%')-->
+            <!--            </if>-->
+            <!--            <if test="model.subjectCodes != null and '' != model.subjectCodes">-->
+            <!--                and SUBJECT_CODES like concat(concat('%',#{model.subjectCodes}),'%')-->
+            <!--            </if>-->
+        </where>
+        <!--        order by t.RULE_NO,t.SUBJECT_CODES,t.LEDGER_RISKEXPOSURE_NO,t.LEDGER_OFFOBJECT_NO-->
+    </select>
+
 
 
 </mapper>

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

@@ -8,179 +8,96 @@
             resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel"
             parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
         select
-        t.LOAN_REFERENCE_NO                 AS   loanReferenceNo,
-        null                           AS   contNo,
-        t.MGMT_BRANCH_NO                    AS   mgmtBranchNo,
-        t.CUST_NO                           AS   custNo,
-        t.CUST_NAME                         AS   custName,
-        t.BUS_TYPE                          AS   busType,
-        case
-        when t.CUST_NO in (select CUST_NO from  RWA_TDM_BUS_PROCESS_SMALLANDMICRO )
-        then '是'
-        else '否'
-        end                               AS   micro,
-        case
-        when t.CUST_NO in (select CUST_NO from  RWA_TDM_BUS_PROCESS_SMALLANDMEDIUM )
-        then '是'
-        else '否'
-        end                               AS   medium,
-        case
-        when t.CUST_NO in (select CUST_NO from  RWA_TDM_BUS_PROCESS_REGULATEDRETAIL )
-        then '是'
-        else '否'
-        end                               AS   regulatoryRetail,
-        t1.PRODUCT_TYPE                   AS   productType,
-        t.PRODUCT_NAME                      AS   productName,
-        null                      AS   onOffFlag,
-        null                        AS   discType,
-        null                    AS   vouchTypeCd,
-        null               AS   isMybankSetFlag,
-        null                       AS   acceptorNo,
-        null                     AS   acceptorName,
-        null                       AS   secTypeCd,
-        null                     AS   purposeFlag,
-        null                            AS   ccyCd,
-        null                          AS   startDt,
-        null                            AS   matDt,
-        --        ORIGINAL_TERM                     AS   originalTerm,
-        --        RESIDUAL_TERM                     AS   residualterm,
-        null                     AS   FIVE_CLASS_CD,
-        null                     AS   overdueDays,
-        null               AS   investIndustryCd,
-        null                 AS   zhiyaMaiduanCd,
-        null                      AS   repoTypeCd,
-        null                         AS   repoDays,
-        null                           AS   billNo,
-        null            AS   coreMarketPartFlag,
-        t.BALANCE                           AS   balance,
-        t.GL_ACCOUNT_ID                     AS   glAccountId,
-        t.REC_INT                           AS   recInt,
-        t.REC_INT_ACCOUNT                   AS   recIntAccount,
-        t.ACCR_INT                          AS   accrInt,
-        t.ACCR_INT_ACCOUNT                  AS   accrIntAccount,
-        t.INT_ADJ                           AS   intAdj,
-        t.INT_ADJ_ACCOUNT                   AS   intAdjAccount,
-        t.FAIR_VALUE_CHANGE                 AS   fairValueChange,
-        t.FAIR_VAL_ACCOUNT                  AS   fairValAccount,
-        t.CHARGE_FEE                        AS   chargeFee,
-        t.CHARGE_FEE_ACCOUNT                AS   chargeFeeAccount,
-        null                          AS   busLine,
-        null                         AS   commType,
-        t.RESERVE                           AS   reserve,
-        t.RESERVE_ACCOUNT                   AS   reserveAccount,
-        t.BALANCE                        AS   balanceAll,
-        t2.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   cashRisk,
-        t3.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   governmentRisk,
-        t4.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   financeRisk,
-        t5.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   dfBank,
-        t6.MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE                  AS   dBank,
-        t7.RISKSUM                        AS   otherRiskSum,
-        t.UNFINISH_EAD                      AS   unfinishEad,
-        t8.RISK_EXPOSURE_CODE             AS   riskExposureCode,
-        t8.LOAN_WEIGHT                    AS   loanWeight,
-        t8.RISK_EXPOSURE_CODE_ARTIFICIAL  AS   riskExposureCodeArtificial,
-        t8.LOAN_WEIGHT_ARTIFICIAL         AS   loanWeightArtificial,
-        t.RWA                               AS   rwa
-        from rwa_apm_bus_rs_onbusinessrwa t
-        left join
-        (select PRODUCT_NO,PRODUCT_TYPE from rwa_calc_conf_product) t1
-        on t.PRODUCT_NO = t.PRODUCT_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from rwa_tdm_bus_process_regularrcs
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S001')  t2    -- 现金类资产
-        on t.LOAN_REFERENCE_NO = t2.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S002') t3  -- 我国中央政府
-        on t.LOAN_REFERENCE_NO = t3.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S004') t4  -- 我国开发性金融机构和政策性银行(0%)
-        on t.LOAN_REFERENCE_NO = t4.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S015') t5 -- 境内外商业银行(短期)
-        on t.LOAN_REFERENCE_NO = t5.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        RISK_MITIGANT_CONTRACT_NO,
-        MITIGATION_PROD_NO,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE,
-        QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_NAME,
-        MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE = 'S016') t6 -- 境内商业银行
-        on t.LOAN_REFERENCE_NO = t6.DEBTITEM_NO
-        left join
-        (select
-        DEBTITEM_NO,
-        count(MITIGANT_COVERAGE_PARTITION_RISK_EXPOSE)   AS RISKSUM
-        from RWA_TDM_BUS_PROCESS_REGULARRCS
-        where QUALIFIED_CREDIT_RISK_MITIGANT_TOOL_TYPE_CODE != 'S001'
-        GROUP BY DEBTITEM_NO) t7 -- 其他缓释类型
-        on t.LOAN_REFERENCE_NO = t7.DEBTITEM_NO
-        left join
-        (select
-        LOAN_REFERENCE_NO  ,             -- 债项编号
-        RISK_EXPOSURE_CODE ,             -- 系统认定风险暴露分类代码
-        LOAN_WEIGHT        ,             -- 系统认定风险权重
-        RISK_EXPOSURE_CODE_ARTIFICIAL,   -- 人工认定风险暴露分类代码
-        LOAN_WEIGHT_ARTIFICIAL          -- 人工认定风险权重
-        from RWA_APM_BUS_RS_ARTIFICIALRESULT ) t8 -- 风险暴露分类人工认定历史表
-        on t.LOAN_REFERENCE_NO = t8.LOAN_REFERENCE_NO
+        TERM                                    as  term,
+        DATA_DATE                               as  dataDate,
+        LOAN_REFERENCE_NO                       as  loanReferenceNo,
+        CONTRACT_NO                             as  contractNo,
+        MANAGE_ORGN_NO                          as  manageOrgnNo,
+        CLIENT_NO                               as  clientNo,
+        CLIENT_NAME                             as  clientName,
+        TRADE_CNTRPTY_DIVISION                  as  tradeCntrptyDivision,
+        SMALLANDMICRO                           as  smallandmicro,
+        SMALLANDMEDIUM                          as  smallandmedium,
+        REGULATEDRETAIL                         as  regulatedretail,
+        PROD_TYPE                               as  prodType,
+        PROD_NAME                               as  prodName,
+        ONBALSH_OFFBALSH_FLAG                   as  onbalshOffbalshFlag,
+        DISCOUNTING_TYPE                        as  discountingType,
+        BILL_TYPE                               as  billType,
+        IF_SELFBANK_ACCEPTANCE                  as  ifSelfbankAcceptance,
+        ACCEPTOR_CLIENT_NO                      as  acceptorClientNo,
+        ACCEPTOR_CLIENT_NAME                    as  acceptorClientName,
+        SECURITY_TYPE                           as  securityType,
+        GENERAL_SPECIAL_FLAG                    as  generalSpecialFlag,
+        CCY                                     as  ccy,
+        EFFECT_DATE                             as  effectDate,
+        EXPIRY_DATE                             as  expiryDate,
+        ORIG_TERM                               as  origTerm,
+        RESIDUAL_TERM                           as  residualTerm,
+        FIVE_CLASS                              as  fiveClass,
+        OVERDUE_DAYS                            as  overdueDays,
+        INDUSTRY_INVEST_CLASS                   as  industryInvestClass,
+        PLEDGE_BUYOUT_TYPE                      as  pledgeBuyoutType,
+        REPO_TYPE                               as  repoType,
+        REPO_TERM                               as  repoTerm,
+        BOND_CODE                               as  bondCode,
+        CORE_MARKET_PARTICIPANT_FLAG            as  coreMarketParticipantFlag,
+        ASSET_BAL                               as  assetBal,
+        PRIN_ACCOUNT_NO                         as  prinAccountNo,
+        RECEIVABLE_INT                          as  receivableInt,
+        RECEIVABLE_INT_ACCOUNT_NO               as  receivableIntAccountNo,
+        ACCR_INT                                as  accrInt,
+        ACCR_INT_ACCOUNT_NO                     as  accrIntAccountNo,
+        INT_ADJ                                 as  intAdj,
+        INT_ADJ_ACCOUNT_NO                      as  intAdjAccountNo,
+        FAIR_VALUE_CHANGE                       as  fairValueChange,
+        FAIR_VALUE_CHANGE_ACCOUNT_NO            as  fairValueChangeAccountNo,
+        CHARGE                                  as  charge,
+        CHARGE_ACCOUNT_NO                       as  chargeAccountNo,
+        BELONG_LINE                             as  belongLine,
+        COMMITMENT_TYPE                         as  commitmentType,
+        PROVISION_RESERVE                       as  provisionReserve,
+        RESERVE_ACCOUNT_NO                      as  reserveAccountNo,
+        THIS_BALANCE                            as  thisBalance,
+        COVERAGE_RISK0                          as  coverageRisk0,
+        COVERAGE_RISK1                          as  coverageRisk1,
+        COVERAGE_RISK2                          as  coverageRisk2,
+        COVERAGE_RISK3                          as  coverageRisk3,
+        COVERAGE_RISK4                          as  coverageRisk4,
+        COVERAGE_RISK5                          as  coverageRisk5,
+        UNFINISH_EAD                            as  unfinishEad,
+        OFFBALSH_PROJECT_NAME                   as  offbalshProjectName,
+        CCF                                     as  ccf,
+        RISK_EXPOSE_CLASS_RECOGNIZED_RESULT     as  riskExposeClassRecognizedResult,
+        DEBTITEM_RISK_WEIGHT                    as  debtitemRiskWeight,
+        RISK_EXPOSURE_CODE_ARTIFICIAL           as  riskExposureCodeArtificial,
+        LOAN_WEIGHT_ARTIFICIAL                  as  loanWeightArtificial,
+        RWA                                     as  rwa
+        from  RWA_REPORT_RS_MULTI_DIMENSIONAL_CREDIT_RISK
         <where>
-            <if test="model.reportDate != null and '' != model.reportDate">
-                 TERMM like concat(concat('%',#{model.reportDate}),'%')
+            <if test="model.term != null and '' != model.term">
+                AND TERM like concat(concat('%',#{model.term}),'%')
             </if>
-            <if test="model.mgmtBranchNo != null and '' != model.mgmtBranchNo">
-                and MGMT_BRANCH_NO like concat(concat('%',#{model.mgmtBranchNo}),'%')
+            <if test="model.manageOrgnNo != null and '' != model.manageOrgnNo">
+                and MANAGE_ORGN_NO like concat(concat('%',#{model.manageOrgnNo}),'%')
             </if>
-            <if test="model.busLine != null and '' != model.busLine">
-                and BUS_LINE like concat(concat('%',#{model.busLine}),'%')
+            <if test="model.belongLine != null and '' != model.belongLine">
+                and BELONG_LINE like concat(concat('%',#{model.belongLine}),'%')
             </if>
-            <if test="model.busType != null and '' != model.busType">
-                BUS_TYPE like concat(concat('%',#{model.busType}),'%')
+            <if test="model.tradeCntrptyDivision != null and '' != model.tradeCntrptyDivision">
+                AND TRADE_CNTRPTY_DIVISION like concat(concat('%',#{model.tradeCntrptyDivision}),'%')
             </if>
-            <if test="model.onOffFlag != null and '' != model.onOffFlag">
-                and ON_OFF_FLAG like concat(concat('%',#{model.onOffFlag}),'%')
+            <if test="model.onbalshOffbalshFlag != null and '' != model.onbalshOffbalshFlag">
+                and ONBALSH_OFFBALSH_FLAG like concat(concat('%',#{model.onbalshOffbalshFlag}),'%')
             </if>
-            <if test="model.productType != null and '' != model.productType">
-                and t1.PRODUCT_TYPE like concat(concat('%',#{model.productType}),'%')
+            <if test="model.prodType != null and '' != model.prodType">
+                and PROD_TYPE like concat(concat('%',#{model.prodType}),'%')
             </if>
-            <if test="model.productName != null and '' != model.productName">
-                PRODUCT_NAME like concat(concat('%',#{model.productName}),'%')
+            <if test="model.prodName != null and '' != model.prodName">
+                AND PROD_NAME like concat(concat('%',#{model.prodName}),'%')
             </if>
-            <if test="model.custNo != null and '' != model.custNo">
-                and CUST_NO like concat(concat('%',#{model.custNo}),'%')
+            <if test="model.clientNo != null and '' != model.clientNo">
+                and CLIENT_NO like concat(concat('%',#{model.clientNo}),'%')
             </if>
             <if test="model.loanReferenceNo != null and '' != model.loanReferenceNo">
                 and LOAN_REFERENCE_NO like concat(concat('%',#{model.loanReferenceNo}),'%')
@@ -189,5 +106,42 @@
         -- order by t.RULE_NO,t.SUBJECT_CODES,t.LEDGER_RISKEXPOSURE_NO,t.LEDGER_OFFOBJECT_NO
     </select>
 
+    <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
+        from  RWA_APM_BUS_RS_ONBUSINESSRWA 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">
+        delete from RWA_APM_BUS_RS_ARTIFICIALRESULT where term =#{model.term} and LOAN_REFERENCE_NO = #{model.loanReferenceNo}
+    </delete>
+
+<insert id="insert" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
+    insert into RWA_APM_BUS_RS_ARTIFICIALRESULT(term,DATA_DATE,LOAN_REFERENCE_NO,RISK_EXPOSURE_CODE,LOAN_WEIGHT,RISK_EXPOSURE_CODE_ARTIFICIAL,LOAN_WEIGHT_ARTIFICIAL,TIME_ARTIFICIAL,ACCOUNT_ARTIFICIAL)
+    values(#{model.term},#{model.dataDate},#{model.loanReferenceNo},#{model.riskExposeClassRecognizedResult},#{model.debtitemRiskWeight},#{model.riskExposureCodeArtificial},#{model.loanWeightArtificial},#{workDate},#{account})
+</insert>
+
+    <update id="update" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
+        update RWA_REPORT_RS_MULTI_DIMENSIONAL_CREDIT_RISK set RISK_EXPOSURE_CODE_ARTIFICIAL =#{model.riskExposureCodeArtificial},LOAN_WEIGHT_ARTIFICIAL = #{model.loanWeightArtificial}
+        where term = #{model.term} and LOAN_REFERENCE_NO = #{model.loanReferenceNo}
+    </update>
 
 </mapper>

+ 131 - 22
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/ProductCreditRiskListMapper.xml

@@ -6,37 +6,146 @@
     <!-- 初始化与按查询条件查询 -->
     <select id="getDataList" resultType="com.sundata.product.rwa.internal.model.ProductCreditRiskListModel" parameterType="com.sundata.product.rwa.internal.model.ProductCreditRiskListModel">
         select
-        CALCINDEX                         AS    calcIndex,
-        SDATE                             AS    sDate,
-        EDATE                             AS    eDate,
-        TERM                              AS    term,
-        DATA_DATE                         AS    dataDate,
-        PRODUCT_NO                        AS    productNo,
-        PRODUCT_NAME                      AS    productName,
-        SUM_BALANCE                       AS    sumBalance,
-        null                AS    monthaverageBalance,
-        ENDOFTERM_BALANCE                 AS    endoftermBalance,
-        null       AS    monthaverageThistermBalance,
-        ENDOFTERM_ECL                     AS    endoftermEcl,
-        ENDOFTERM_SUM_EAD                 AS    endoftermSumEad,
-        null                    AS    monthaverageEad,
-        SUM_RWA                           AS    sumRwa,
-        null                    AS    monthaverageRwa,
-        AVERAGE_RISK_WEIGHT               AS    averageRiskWeight
+        productNo                            as  productNo,
+        productName                          as  productName,
+        sum(sumBalance)                      as  sumBalance,
+        sum(monthaverageBalance)             as  monthaverageBalance,
+        sum(endoftermBalance)                as  endoftermBalance,
+        sum(monthaverageThistermBalance)     as  monthaverageThistermBalance,
+        sum(endoftermEcl)                    as  endoftermEcl,
+        sum(endoftermSumEad)                 as  endoftermSumEad,
+        sum(monthaverageEad)                 as  monthaverageEad,
+        sum(sumRwa)                          as  sumRwa,
+        sum(monthaverageRwa)                 as  monthaverageRwa,
+        sum(averageRiskWeight)               as  averageRiskWeight
+        from (
+        select
+        PRODUCT_NO                   AS    productNo,
+        PRODUCT_NAME                 AS    productName,
+        SUM_BALANCE                  AS    sumBalance,
+        null                         AS    monthaverageBalance,
+        ENDOFTERM_BALANCE            AS    endoftermBalance,
+        null                         AS    monthaverageThistermBalance,
+        ENDOFTERM_ECL                AS    endoftermEcl,
+        ENDOFTERM_SUM_EAD            AS    endoftermSumEad,
+        null                         AS    monthaverageEad,
+        SUM_RWA                      AS    sumRwa,
+        null                         AS    monthaverageRwa,
+        AVERAGE_RISK_WEIGHT          AS    averageRiskWeight
+        from RWA_REPORT_RS_PRODUCTCREDICTRISKGROUP
+        <where>
+            <if test="model.eDate != null and '' != model.eDate">
+                and EDATE = #{model.eDate}
+            </if>
+        </where>
+        union all
+        select
+        PRODUCT_NO                   AS    productNo,
+        PRODUCT_NAME                 AS    productName,
+        null	                     AS    sumBalance,
+        sum(SUM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS    monthaverageBalance,
+        null                         AS    endoftermBalance,
+        sum(ENDOFTERM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)	AS    monthaverageThistermBalance,
+        null                         AS    endoftermEcl,
+        null                         AS    endoftermSumEad,
+        sum(ENDOFTERM_SUM_EAD)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS    monthaverageEad,
+        null                         AS    sumRwa,
+        sum(SUM_RWA)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)   AS    monthaverageRwa,
+        null                          AS    averageRiskWeight
         from RWA_REPORT_RS_PRODUCTCREDICTRISKGROUP
         <where>
-<!--            <if test="model.orgCode != null and '' != model.orgCode">-->
-<!--                and ORGCODE like concat(concat('%',#{model.orgCode}),'%')-->
-<!--            </if>-->
             <if test="model.sDate != null and '' != model.sDate">
-                and SDATE like concat(concat('%',#{model.sDate}),'%')
+                <![CDATA[    and SDATE >= #{model.sDate}  ]]>
             </if>
             <if test="model.eDate != null and '' != model.eDate">
-                and EDATE like concat(concat('%',#{model.eDate}),'%')
+                <![CDATA[  and EDATE <= #{model.eDate}  ]]>
             </if>
         </where>
+        group by PRODUCT_NO,PRODUCT_NAME
+        )group by productNo,productName
     </select>
 
+    <select id="getDetailDataList" resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
+        select
+        TERM                                    as  term,
+        DATA_DATE                               as  dataDate,
+        LOAN_REFERENCE_NO                       as  loanReferenceNo,
+        CONTRACT_NO                             as  contractNo,
+        MANAGE_ORGN_NO                          as  manageOrgnNo,
+        CLIENT_NO                               as  clientNo,
+        CLIENT_NAME                             as  clientName,
+        TRADE_CNTRPTY_DIVISION                  as  tradeCntrptyDivision,
+        SMALLANDMICRO                           as  smallandmicro,
+        SMALLANDMEDIUM                          as  smallandmedium,
+        REGULATEDRETAIL                         as  regulatedretail,
+        PROD_TYPE                               as  prodType,
+        PROD_NAME                               as  prodName,
+        ONBALSH_OFFBALSH_FLAG                   as  onbalshOffbalshFlag,
+        DISCOUNTING_TYPE                        as  discountingType,
+        BILL_TYPE                               as  billType,
+        IF_SELFBANK_ACCEPTANCE                  as  ifSelfbankAcceptance,
+        ACCEPTOR_CLIENT_NO                      as  acceptorClientNo,
+        ACCEPTOR_CLIENT_NAME                    as  acceptorClientName,
+        SECURITY_TYPE                           as  securityType,
+        GENERAL_SPECIAL_FLAG                    as  generalSpecialFlag,
+        CCY                                     as  ccy,
+        EFFECT_DATE                             as  effectDate,
+        EXPIRY_DATE                             as  expiryDate,
+        ORIG_TERM                               as  origTerm,
+        RESIDUAL_TERM                           as  residualTerm,
+        FIVE_CLASS                              as  fiveClass,
+        OVERDUE_DAYS                            as  overdueDays,
+        INDUSTRY_INVEST_CLASS                   as  industryInvestClass,
+        PLEDGE_BUYOUT_TYPE                      as  pledgeBuyoutType,
+        REPO_TYPE                               as  repoType,
+        REPO_TERM                               as  repoTerm,
+        BOND_CODE                               as  bondCode,
+        CORE_MARKET_PARTICIPANT_FLAG            as  coreMarketParticipantFlag,
+        ASSET_BAL                               as  assetBal,
+        PRIN_ACCOUNT_NO                         as  prinAccountNo,
+        RECEIVABLE_INT                          as  receivableInt,
+        RECEIVABLE_INT_ACCOUNT_NO               as  receivableIntAccountNo,
+        ACCR_INT                                as  accrInt,
+        ACCR_INT_ACCOUNT_NO                     as  accrIntAccountNo,
+        INT_ADJ                                 as  intAdj,
+        INT_ADJ_ACCOUNT_NO                      as  intAdjAccountNo,
+        FAIR_VALUE_CHANGE                       as  fairValueChange,
+        FAIR_VALUE_CHANGE_ACCOUNT_NO            as  fairValueChangeAccountNo,
+        CHARGE                                  as  charge,
+        CHARGE_ACCOUNT_NO                       as  chargeAccountNo,
+        BELONG_LINE                             as  belongLine,
+        COMMITMENT_TYPE                         as  commitmentType,
+        PROVISION_RESERVE                       as  provisionReserve,
+        RESERVE_ACCOUNT_NO                      as  reserveAccountNo,
+        THIS_BALANCE                            as  thisBalance,
+        COVERAGE_RISK0                          as  coverageRisk0,
+        COVERAGE_RISK1                          as  coverageRisk1,
+        COVERAGE_RISK2                          as  coverageRisk2,
+        COVERAGE_RISK3                          as  coverageRisk3,
+        COVERAGE_RISK4                          as  coverageRisk4,
+        COVERAGE_RISK5                          as  coverageRisk5,
+        UNFINISH_EAD                            as  unfinishEad,
+        OFFBALSH_PROJECT_NAME                   as  offbalshProjectName,
+        CCF                                     as  ccf,
+        RISK_EXPOSE_CLASS_RECOGNIZED_RESULT     as  riskExposeClassRecognizedResult,
+        DEBTITEM_RISK_WEIGHT                    as  debtitemRiskWeight,
+        RISK_EXPOSURE_CODE_ARTIFICIAL           as  riskExposureCodeArtificial,
+        LOAN_WEIGHT_ARTIFICIAL                  as  loanWeightArtificial,
+        RWA                                     as  rwa
+        from  RWA_REPORT_RS_MULTI_DIMENSIONAL_CREDIT_RISK
+        <where>
+            <if test="model.productName != null and '' != model.productName">
+                and  PROD_NAME = #{model.productName}
+            </if>
+            <!--            <if test="model.ruleName != null and '' != model.ruleName">-->
+            <!--                and RULE_NAME like concat(concat('%',#{model.ruleName}),'%')-->
+            <!--            </if>-->
+            <!--            <if test="model.subjectCodes != null and '' != model.subjectCodes">-->
+            <!--                and SUBJECT_CODES like concat(concat('%',#{model.subjectCodes}),'%')-->
+            <!--            </if>-->
+        </where>
+        <!--        order by t.RULE_NO,t.SUBJECT_CODES,t.LEDGER_RISKEXPOSURE_NO,t.LEDGER_OFFOBJECT_NO-->
+    </select>
 
 
 </mapper>

+ 130 - 22
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/ProductTypeCreditRiskListMapper.xml

@@ -6,37 +6,145 @@
     <!-- 初始化与按查询条件查询 -->
     <select id="getDataList" resultType="com.sundata.product.rwa.internal.model.ProductTypeCreditRiskListModel" parameterType="com.sundata.product.rwa.internal.model.ProductTypeCreditRiskListModel">
         select
-        CALCINDEX                          AS   calcIndex,
-        SDATE                              AS   sDate,
-        EDATE                              AS   eDate,
-        TERM                               AS   term,
-        DATA_DATE                          AS   dataDate,
-        PRODUCT_TYPE                       AS   productType,
-        '风险权重为'||RISK_WEIGHT||'%'                        AS   riskWeight,
-        SUM_BALANCE                        AS   sumBalance,
-        null                 AS   monthaverageBalance,
+        productType                          as  productType,
+        riskWeight                           as  riskWeight,
+        sum(sumBalance)                      as  sumBalance,
+        sum(monthaverageBalance)             as  monthaverageBalance,
+        sum(endoftermThistermSumBalance)     as  endoftermThistermSumBalance,
+        sum(monthaverageThistermBalance)     as  monthaverageThistermBalance,
+        sum(endoftermEcl)                    as  endoftermEcl,
+        sum(endoftermSumEad)                 as  endoftermSumEad,
+        sum(monthaverageEad)                 as  monthaverageEad,
+        sum(sumRwa)                          as  sumRwa,
+        sum(monthaverageRwa)                 as  monthaverageRwa,
+        sum(averageRiskWeight)               as  averageRiskWeight
+        from (
+        select
+        PRODUCT_TYPE                 AS    productType,
+        '风险权重为'||RISK_WEIGHT||'%'       AS    riskWeight,
+        SUM_BALANCE                  AS    sumBalance,
+        null                         AS    monthaverageBalance,
         ENDOFTERM_THISTERM_SUM_BALANCE     AS   endoftermThistermSumBalance,
-        null        AS   monthaverageThistermBalance,
-        ENDOFTERM_ECL                      AS   endoftermEcl,
-        ENDOFTERM_SUM_EAD                  AS   endoftermSumEad,
-        null                    AS   monthaverageEad,
-        SUM_RWA                            AS   sumRwa,
-        null                     AS   monthaverageRwa,
-        AVERAGE_RISK_WEIGHT                AS   averageRiskWeight
+        null                         AS    monthaverageThistermBalance,
+        ENDOFTERM_ECL                AS    endoftermEcl,
+        ENDOFTERM_SUM_EAD            AS    endoftermSumEad,
+        null                         AS    monthaverageEad,
+        SUM_RWA                      AS    sumRwa,
+        null                         AS    monthaverageRwa,
+        AVERAGE_RISK_WEIGHT          AS    averageRiskWeight
+        from RWA_REPORT_RS_PRODUCTTYPECREDICTGROUP
+        <where>
+            <if test="model.eDate != null and '' != model.eDate">
+                and EDATE = #{model.eDate}
+            </if>
+        </where>
+        union all
+        select
+        PRODUCT_TYPE                   AS    productType,
+        '风险权重为'||RISK_WEIGHT||'%'     AS    riskWeight,
+        null	                     AS    sumBalance,
+        sum(SUM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS    monthaverageBalance,
+        null                         AS   endoftermThistermSumBalance,
+        sum(ENDOFTERM_THISTERM_SUM_BALANCE)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)	AS    monthaverageThistermBalance,
+        null                         AS    endoftermEcl,
+        null                         AS    endoftermSumEad,
+        sum(ENDOFTERM_SUM_EAD)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1) AS    monthaverageEad,
+        null                         AS    sumRwa,
+        sum(SUM_RWA)/((CAST(substr(#{model.eDate},1,4) as decimal )-CAST(substr(#{model.sDate},1,4)  as decimal))*12+cast(substr(#{model.eDate},6,2) as decimal)-cast(substr(#{model.sDate},6,2) as decimal)+1)   AS    monthaverageRwa,
+        null                          AS    averageRiskWeight
         from RWA_REPORT_RS_PRODUCTTYPECREDICTGROUP
         <where>
-            <!--            <if test="model.orgCode != null and '' != model.orgCode">-->
-            <!--                and ORGCODE like concat(concat('%',#{model.orgCode}),'%')-->
-            <!--            </if>-->
             <if test="model.sDate != null and '' != model.sDate">
-                and SDATE like concat(concat('%',#{model.sDate}),'%')
+                <![CDATA[    and SDATE >= #{model.sDate}  ]]>
             </if>
             <if test="model.eDate != null and '' != model.eDate">
-                and EDATE like concat(concat('%',#{model.eDate}),'%')
+                <![CDATA[  and EDATE <= #{model.eDate}  ]]>
             </if>
         </where>
+        group by PRODUCT_TYPE,RISK_WEIGHT
+        )group by productType,riskWeight
     </select>
 
-
+    <select id="getDetailDataList" resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
+        select
+        TERM                                    as  term,
+        DATA_DATE                               as  dataDate,
+        LOAN_REFERENCE_NO                       as  loanReferenceNo,
+        CONTRACT_NO                             as  contractNo,
+        MANAGE_ORGN_NO                          as  manageOrgnNo,
+        CLIENT_NO                               as  clientNo,
+        CLIENT_NAME                             as  clientName,
+        TRADE_CNTRPTY_DIVISION                  as  tradeCntrptyDivision,
+        SMALLANDMICRO                           as  smallandmicro,
+        SMALLANDMEDIUM                          as  smallandmedium,
+        REGULATEDRETAIL                         as  regulatedretail,
+        PROD_TYPE                               as  prodType,
+        PROD_NAME                               as  prodName,
+        ONBALSH_OFFBALSH_FLAG                   as  onbalshOffbalshFlag,
+        DISCOUNTING_TYPE                        as  discountingType,
+        BILL_TYPE                               as  billType,
+        IF_SELFBANK_ACCEPTANCE                  as  ifSelfbankAcceptance,
+        ACCEPTOR_CLIENT_NO                      as  acceptorClientNo,
+        ACCEPTOR_CLIENT_NAME                    as  acceptorClientName,
+        SECURITY_TYPE                           as  securityType,
+        GENERAL_SPECIAL_FLAG                    as  generalSpecialFlag,
+        CCY                                     as  ccy,
+        EFFECT_DATE                             as  effectDate,
+        EXPIRY_DATE                             as  expiryDate,
+        ORIG_TERM                               as  origTerm,
+        RESIDUAL_TERM                           as  residualTerm,
+        FIVE_CLASS                              as  fiveClass,
+        OVERDUE_DAYS                            as  overdueDays,
+        INDUSTRY_INVEST_CLASS                   as  industryInvestClass,
+        PLEDGE_BUYOUT_TYPE                      as  pledgeBuyoutType,
+        REPO_TYPE                               as  repoType,
+        REPO_TERM                               as  repoTerm,
+        BOND_CODE                               as  bondCode,
+        CORE_MARKET_PARTICIPANT_FLAG            as  coreMarketParticipantFlag,
+        ASSET_BAL                               as  assetBal,
+        PRIN_ACCOUNT_NO                         as  prinAccountNo,
+        RECEIVABLE_INT                          as  receivableInt,
+        RECEIVABLE_INT_ACCOUNT_NO               as  receivableIntAccountNo,
+        ACCR_INT                                as  accrInt,
+        ACCR_INT_ACCOUNT_NO                     as  accrIntAccountNo,
+        INT_ADJ                                 as  intAdj,
+        INT_ADJ_ACCOUNT_NO                      as  intAdjAccountNo,
+        FAIR_VALUE_CHANGE                       as  fairValueChange,
+        FAIR_VALUE_CHANGE_ACCOUNT_NO            as  fairValueChangeAccountNo,
+        CHARGE                                  as  charge,
+        CHARGE_ACCOUNT_NO                       as  chargeAccountNo,
+        BELONG_LINE                             as  belongLine,
+        COMMITMENT_TYPE                         as  commitmentType,
+        PROVISION_RESERVE                       as  provisionReserve,
+        RESERVE_ACCOUNT_NO                      as  reserveAccountNo,
+        THIS_BALANCE                            as  thisBalance,
+        COVERAGE_RISK0                          as  coverageRisk0,
+        COVERAGE_RISK1                          as  coverageRisk1,
+        COVERAGE_RISK2                          as  coverageRisk2,
+        COVERAGE_RISK3                          as  coverageRisk3,
+        COVERAGE_RISK4                          as  coverageRisk4,
+        COVERAGE_RISK5                          as  coverageRisk5,
+        UNFINISH_EAD                            as  unfinishEad,
+        OFFBALSH_PROJECT_NAME                   as  offbalshProjectName,
+        CCF                                     as  ccf,
+        RISK_EXPOSE_CLASS_RECOGNIZED_RESULT     as  riskExposeClassRecognizedResult,
+        DEBTITEM_RISK_WEIGHT                    as  debtitemRiskWeight,
+        RISK_EXPOSURE_CODE_ARTIFICIAL           as  riskExposureCodeArtificial,
+        LOAN_WEIGHT_ARTIFICIAL                  as  loanWeightArtificial,
+        RWA                                     as  rwa
+        from  RWA_REPORT_RS_MULTI_DIMENSIONAL_CREDIT_RISK
+        <where>
+            <if test="model.productType != null and '' != model.productType">
+                and  PROD_TYPE = #{model.productType}
+            </if>
+            <!--            <if test="model.ruleName != null and '' != model.ruleName">-->
+            <!--                and RULE_NAME like concat(concat('%',#{model.ruleName}),'%')-->
+            <!--            </if>-->
+            <!--            <if test="model.subjectCodes != null and '' != model.subjectCodes">-->
+            <!--                and SUBJECT_CODES like concat(concat('%',#{model.subjectCodes}),'%')-->
+            <!--            </if>-->
+        </where>
+        <!--        order by t.RULE_NO,t.SUBJECT_CODES,t.LEDGER_RISKEXPOSURE_NO,t.LEDGER_OFFOBJECT_NO-->
+    </select>
 
 </mapper>

+ 81 - 1
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/mybatis/WithinTableCorporateLoansMapper.xml

@@ -41,6 +41,86 @@
         order by RWA desc
     </select>
 
-
+    <select id="getDetailDataList" resultType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel" parameterType="com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel">
+        select
+        TERM                                    as  term,
+        DATA_DATE                               as  dataDate,
+        LOAN_REFERENCE_NO                       as  loanReferenceNo,
+        CONTRACT_NO                             as  contractNo,
+        MANAGE_ORGN_NO                          as  manageOrgnNo,
+        CLIENT_NO                               as  clientNo,
+        CLIENT_NAME                             as  clientName,
+        TRADE_CNTRPTY_DIVISION                  as  tradeCntrptyDivision,
+        SMALLANDMICRO                           as  smallandmicro,
+        SMALLANDMEDIUM                          as  smallandmedium,
+        REGULATEDRETAIL                         as  regulatedretail,
+        PROD_TYPE                               as  prodType,
+        PROD_NAME                               as  prodName,
+        ONBALSH_OFFBALSH_FLAG                   as  onbalshOffbalshFlag,
+        DISCOUNTING_TYPE                        as  discountingType,
+        BILL_TYPE                               as  billType,
+        IF_SELFBANK_ACCEPTANCE                  as  ifSelfbankAcceptance,
+        ACCEPTOR_CLIENT_NO                      as  acceptorClientNo,
+        ACCEPTOR_CLIENT_NAME                    as  acceptorClientName,
+        SECURITY_TYPE                           as  securityType,
+        GENERAL_SPECIAL_FLAG                    as  generalSpecialFlag,
+        CCY                                     as  ccy,
+        EFFECT_DATE                             as  effectDate,
+        EXPIRY_DATE                             as  expiryDate,
+        ORIG_TERM                               as  origTerm,
+        RESIDUAL_TERM                           as  residualTerm,
+        FIVE_CLASS                              as  fiveClass,
+        OVERDUE_DAYS                            as  overdueDays,
+        INDUSTRY_INVEST_CLASS                   as  industryInvestClass,
+        PLEDGE_BUYOUT_TYPE                      as  pledgeBuyoutType,
+        REPO_TYPE                               as  repoType,
+        REPO_TERM                               as  repoTerm,
+        BOND_CODE                               as  bondCode,
+        CORE_MARKET_PARTICIPANT_FLAG            as  coreMarketParticipantFlag,
+        ASSET_BAL                               as  assetBal,
+        PRIN_ACCOUNT_NO                         as  prinAccountNo,
+        RECEIVABLE_INT                          as  receivableInt,
+        RECEIVABLE_INT_ACCOUNT_NO               as  receivableIntAccountNo,
+        ACCR_INT                                as  accrInt,
+        ACCR_INT_ACCOUNT_NO                     as  accrIntAccountNo,
+        INT_ADJ                                 as  intAdj,
+        INT_ADJ_ACCOUNT_NO                      as  intAdjAccountNo,
+        FAIR_VALUE_CHANGE                       as  fairValueChange,
+        FAIR_VALUE_CHANGE_ACCOUNT_NO            as  fairValueChangeAccountNo,
+        CHARGE                                  as  charge,
+        CHARGE_ACCOUNT_NO                       as  chargeAccountNo,
+        BELONG_LINE                             as  belongLine,
+        COMMITMENT_TYPE                         as  commitmentType,
+        PROVISION_RESERVE                       as  provisionReserve,
+        RESERVE_ACCOUNT_NO                      as  reserveAccountNo,
+        THIS_BALANCE                            as  thisBalance,
+        COVERAGE_RISK0                          as  coverageRisk0,
+        COVERAGE_RISK1                          as  coverageRisk1,
+        COVERAGE_RISK2                          as  coverageRisk2,
+        COVERAGE_RISK3                          as  coverageRisk3,
+        COVERAGE_RISK4                          as  coverageRisk4,
+        COVERAGE_RISK5                          as  coverageRisk5,
+        UNFINISH_EAD                            as  unfinishEad,
+        OFFBALSH_PROJECT_NAME                   as  offbalshProjectName,
+        CCF                                     as  ccf,
+        RISK_EXPOSE_CLASS_RECOGNIZED_RESULT     as  riskExposeClassRecognizedResult,
+        DEBTITEM_RISK_WEIGHT                    as  debtitemRiskWeight,
+        RISK_EXPOSURE_CODE_ARTIFICIAL           as  riskExposureCodeArtificial,
+        LOAN_WEIGHT_ARTIFICIAL                  as  loanWeightArtificial,
+        RWA                                     as  rwa
+        from  RWA_REPORT_RS_MULTI_DIMENSIONAL_CREDIT_RISK
+        <where>
+            <if test="model.industryClass != null and '' != model.industryClass">
+                and  INDUSTRY_INVEST_CLASS = #{model.industryClass}
+            </if>
+            <!--            <if test="model.ruleName != null and '' != model.ruleName">-->
+            <!--                and RULE_NAME like concat(concat('%',#{model.ruleName}),'%')-->
+            <!--            </if>-->
+            <!--            <if test="model.subjectCodes != null and '' != model.subjectCodes">-->
+            <!--                and SUBJECT_CODES like concat(concat('%',#{model.subjectCodes}),'%')-->
+            <!--            </if>-->
+        </where>
+        <!--        order by t.RULE_NO,t.SUBJECT_CODES,t.LEDGER_RISKEXPOSURE_NO,t.LEDGER_OFFOBJECT_NO-->
+    </select>
 
 </mapper>

+ 4 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/CapitalOccupyMonitorService.java

@@ -60,6 +60,10 @@ public class CapitalOccupyMonitorService extends BaseService<RptDefineModel> {
         return capitalOccupyMonitorMapper.getDetailDataList(model);
     }
 
+    public List<MultiDimensionalCreditRiskModel> getDetailDataList1(CapitalOccupyMonitorModel model) {
+        return capitalOccupyMonitorMapper.getDetailDataList1(model);
+    }
+
 
     public boolean exportExcelModel(String fileName, HttpServletResponse response, List<CapitalOccupyMonitorModel> fcLoanModelDemoFr, String fileNameModel ) throws IOException {
         // List <FcLoanModel> model =policyBankMapper.getPolicyBank(new FcLoanModel());

+ 8 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/CorporateLoansCustomersService.java

@@ -5,9 +5,11 @@ import com.sundata.admin.excelmanage.model.RptDefineModel;
 import com.sundata.common.base.BaseMapper;
 import com.sundata.common.base.BaseService;
 import com.sundata.common.util.DBExecutor;
+import com.sundata.product.rwa.internal.mapper.CapitalOccupyMonitorMapper;
 import com.sundata.product.rwa.internal.mapper.CorporateLoansCustomersMapper;
 import com.sundata.product.rwa.internal.model.CapitalOccupyMonitorModel;
 import com.sundata.product.rwa.internal.model.CorporateLoansCustomersModel;
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import com.sundata.product.rwa.parameter.utils.FilesValueCheckUtils;
 import jakarta.servlet.http.HttpServletResponse;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -28,6 +30,7 @@ public class CorporateLoansCustomersService extends BaseService<RptDefineModel>
     @Autowired
     private RptDefineMapper<RptDefineModel> rptDefineMapper;
 
+
     @Override
     public BaseMapper<RptDefineModel> getMapper() {
         return this.rptDefineMapper;
@@ -44,6 +47,11 @@ public class CorporateLoansCustomersService extends BaseService<RptDefineModel>
         return corporateLoansCustomersMapper.getDataList(model);
     }
 
+    public List<MultiDimensionalCreditRiskModel> getDetailDataList(CorporateLoansCustomersModel model) {
+        return corporateLoansCustomersMapper.getDetailDataList(model);
+    }
+
+
     public boolean exportExcelModel(String fileName, HttpServletResponse response, List<CorporateLoansCustomersModel> fcLoanModelDemoFr, String fileNameModel ) throws IOException {
         // List <FcLoanModel> model =policyBankMapper.getPolicyBank(new FcLoanModel());
         RptDefineModel fileName1 = this.queryOne(fileName);

+ 68 - 1
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/MultiDimensionalCreditRiskService.java

@@ -1,21 +1,88 @@
 package com.sundata.product.rwa.internal.service;
 
 
+import com.sundata.admin.excelmanage.mapper.RptDefineMapper;
+import com.sundata.admin.excelmanage.model.RptDefineModel;
+import com.sundata.common.base.BaseMapper;
+import com.sundata.common.base.BaseService;
+import com.sundata.common.util.DBExecutor;
 import com.sundata.product.rwa.internal.mapper.MultiDimensionalCreditRiskMapper;
+import com.sundata.product.rwa.internal.model.AccountManageListModel;
 import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import com.sundata.product.rwa.internal.model.ProductTypeCreditRiskListModel;
+import com.sundata.product.rwa.parameter.utils.FilesValueCheckUtils;
+import jakarta.servlet.http.HttpServletResponse;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.*;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
-public class MultiDimensionalCreditRiskService {
+public class MultiDimensionalCreditRiskService extends BaseService<RptDefineModel> {
 
     @Autowired
     MultiDimensionalCreditRiskMapper multiDimensionalCreditRiskMapper;
+    @Autowired
+    private RptDefineMapper<RptDefineModel> rptDefineMapper;
 
+    @Override
+    public BaseMapper<RptDefineModel> getMapper() {
+        return this.rptDefineMapper;
+    }
     public List<MultiDimensionalCreditRiskModel> getDataList(MultiDimensionalCreditRiskModel model) {
         return multiDimensionalCreditRiskMapper.getDataList(model);
     }
+    public String selectname(String  riskExposureCodeArtificial){
+        String number = DBExecutor.doQuery("select riskexposure_weight from RWA_CALC_CONF_RISKEXPOSURE where riskexposure_no = '"+riskExposureCodeArtificial+"'");
+        return number;
+    }
+
+    public List<MultiDimensionalCreditRiskModel> getselect(String loanReferenceNo ,String term) {
+        return multiDimensionalCreditRiskMapper.getselect(loanReferenceNo,term);
+    }
+
+    public Object update(MultiDimensionalCreditRiskModel model,String account,String workDate) {
+        multiDimensionalCreditRiskMapper.delete(model);
+        multiDimensionalCreditRiskMapper.update(model);
+        return multiDimensionalCreditRiskMapper.insert(model,account,workDate);
+    }
+
+    public boolean exportExcelModel(String fileName, HttpServletResponse response, List<MultiDimensionalCreditRiskModel> fcLoanModelDemoFr, String fileNameModel ) throws IOException {
+        // List <FcLoanModel> model =policyBankMapper.getPolicyBank(new FcLoanModel());
+        RptDefineModel fileName1 = this.queryOne(fileName);
+        RptDefineModel fileNamemodel = this.queryOne(fileNameModel);
+        String filename = DBExecutor.doQuery("select RPTNAME from SYS_RPTDEFINE where RPTCODE = '"+ fileName +"'");
+        String templatePath = DBExecutor.doQuery("select NOUNVALUE from sys_noun where NOUNITEM ='ATTACHPATH'");
+        File folder = new File(templatePath+"/"+fileName1.getRptcode());
+        if (!folder.exists()) {
+            // 创建文件夹
+            folder.mkdir();
+            System.out.println("文件夹创建成功。");
+        } else {
+            System.out.println("文件夹已存在。");
+        }
+        byte[] byteArr = fileName1.getReportinfo();
+        byte[] byteArr1 = fileNamemodel.getReportinfo();
+        InputStream in = new ByteArrayInputStream(byteArr);
+        InputStream in1 = new ByteArrayInputStream(byteArr1);
+        Workbook workbook = new XSSFWorkbook(); // 创建工作簿实例
+        FileOutputStream out = new FileOutputStream(new File(folder.getAbsolutePath()+"/"+fileName1.getRptname()+".xlsx"));
+        FileOutputStream out1 = new FileOutputStream(new File(folder.getAbsolutePath()+"/"+fileNamemodel.getRptname()+".xlsx"));
+        int byteValue=0;
+        int byteValue1=0;
+        while (-1 !=(byteValue=in.read()))
+            out.write(byteValue);
+        while (-1 !=(byteValue1=in1.read()))
+            out1.write(byteValue1);
+        workbook.close(); // 关闭工作簿
+        Map<String, Object> data = new HashMap<>();
+
+        FilesValueCheckUtils.exportExcelModel(response,fcLoanModelDemoFr,folder+"/",filename);
+        return true;
+    }
 }

+ 6 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/ProductCreditRiskListService.java

@@ -6,6 +6,8 @@ import com.sundata.common.base.BaseMapper;
 import com.sundata.common.base.BaseService;
 import com.sundata.common.util.DBExecutor;
 import com.sundata.product.rwa.internal.mapper.ProductCreditRiskListMapper;
+import com.sundata.product.rwa.internal.model.CorporateLoansCustomersModel;
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import com.sundata.product.rwa.internal.model.ProductCreditRiskListModel;
 import com.sundata.product.rwa.parameter.utils.FilesValueCheckUtils;
 import jakarta.servlet.http.HttpServletResponse;
@@ -34,6 +36,10 @@ public class ProductCreditRiskListService extends BaseService<RptDefineModel> {
     public List<ProductCreditRiskListModel> getDataList(ProductCreditRiskListModel model) {
         return productCreditRiskListMapper.getDataList(model);
     }
+
+    public List<MultiDimensionalCreditRiskModel> getDetailDataList(ProductCreditRiskListModel model) {
+        return productCreditRiskListMapper.getDetailDataList(model);
+    }
     public boolean exportExcelModel(String fileName, HttpServletResponse response, List<ProductCreditRiskListModel> fcLoanModelDemoFr, String fileNameModel ) throws IOException {
         // List <FcLoanModel> model =policyBankMapper.getPolicyBank(new FcLoanModel());
         RptDefineModel fileName1 = this.queryOne(fileName);

+ 5 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/ProductTypeCreditRiskListService.java

@@ -6,6 +6,7 @@ import com.sundata.common.base.BaseMapper;
 import com.sundata.common.base.BaseService;
 import com.sundata.common.util.DBExecutor;
 import com.sundata.product.rwa.internal.mapper.ProductTypeCreditRiskListMapper;
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import com.sundata.product.rwa.internal.model.ProductCreditRiskListModel;
 import com.sundata.product.rwa.internal.model.ProductTypeCreditRiskListModel;
 import com.sundata.product.rwa.parameter.utils.FilesValueCheckUtils;
@@ -35,6 +36,10 @@ public class ProductTypeCreditRiskListService extends BaseService<RptDefineModel
     public List<ProductTypeCreditRiskListModel> getDataList(ProductTypeCreditRiskListModel model) {
         return productTypeCreditRiskListMapper.getDataList(model);
     }
+    public List<MultiDimensionalCreditRiskModel> getDetailDataList(ProductTypeCreditRiskListModel model) {
+        return productTypeCreditRiskListMapper.getDetailDataList(model);
+    }
+
     public boolean exportExcelModel(String fileName, HttpServletResponse response, List<ProductTypeCreditRiskListModel> fcLoanModelDemoFr, String fileNameModel ) throws IOException {
         // List <FcLoanModel> model =policyBankMapper.getPolicyBank(new FcLoanModel());
         RptDefineModel fileName1 = this.queryOne(fileName);

+ 6 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/internal/service/WithinTableCorporateLoansService.java

@@ -7,7 +7,9 @@ import com.sundata.common.base.BaseService;
 import com.sundata.common.util.DBExecutor;
 import com.sundata.product.rwa.internal.mapper.WithinTableCorporateLoansMapper;
 import com.sundata.product.rwa.internal.model.CorporateLoansListModel;
+import com.sundata.product.rwa.internal.model.MultiDimensionalCreditRiskModel;
 import com.sundata.product.rwa.internal.model.ProductCreditRiskListModel;
+import com.sundata.product.rwa.internal.model.ProductTypeCreditRiskListModel;
 import com.sundata.product.rwa.parameter.utils.FilesValueCheckUtils;
 import jakarta.servlet.http.HttpServletResponse;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -35,6 +37,10 @@ public class WithinTableCorporateLoansService extends BaseService<RptDefineModel
     public List<CorporateLoansListModel> getDataList(CorporateLoansListModel model) {
         return withinTableCorporateLoansMapper.getDataList(model);
     }
+    public List<MultiDimensionalCreditRiskModel> getDetailDataList(CorporateLoansListModel model) {
+        return withinTableCorporateLoansMapper.getDetailDataList(model);
+    }
+
 
     public boolean exportExcelModel(String fileName, HttpServletResponse response, List<CorporateLoansListModel> fcLoanModelDemoFr, String fileNameModel ) throws IOException {
         // List <FcLoanModel> model =policyBankMapper.getPolicyBank(new FcLoanModel());

+ 0 - 2
Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FaGlBalanceSheetMapper.xml

@@ -5,8 +5,6 @@
 <mapper namespace="com.sundata.product.rwa.parameter.mapper.FaGlBalanceSheetMapper">
     <select id="getFaGlBalanceSheet"   resultType="com.sundata.product.rwa.parameter.model.FaGlBalanceSheetModel">
         select
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.REPORT_DATE as reportDate,
         T1.ACCOUNT_ORGN_NO as accountOrgnNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FcCommitmentMapper.xml

@@ -5,8 +5,6 @@
 <mapper namespace="com.sundata.product.rwa.parameter.mapper.FcCommitmentMapper">
     <select id="getFcCommitment"   resultType="com.sundata.product.rwa.parameter.model.FcCommitmentModel" parameterType="java.util.List">
         SELECT
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.FINANCIAL_ORGN_NO as financialOrgnNo,
@@ -85,8 +83,6 @@
 
     <select id="getFcCommitment1"   resultType="com.sundata.product.rwa.parameter.model.FcCommitmentModel" parameterType="java.util.List">
         SELECT
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.FINANCIAL_ORGN_NO as financialOrgnNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FcLoanMapper.xml

@@ -5,8 +5,6 @@
 <mapper namespace="com.sundata.product.rwa.parameter.mapper.FcLoanMapper">
     <select id="fcLoan" resultType="com.sundata.product.rwa.parameter.model.FcLoanModel">
         select
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.CONTRACT_NO as contractNo,
@@ -120,8 +118,6 @@
     </select>
     <select id="getFcLoan1" resultType="com.sundata.product.rwa.parameter.model.FcLoanModel">
         select
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.CONTRACT_NO as contractNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FcOffSheetMapper.xml

@@ -5,8 +5,6 @@
 <mapper namespace="com.sundata.product.rwa.parameter.mapper.FcOffSheetMapper">
     <select id="fcOffSheet" resultType="com.sundata.product.rwa.parameter.model.FcOffSheetModel">
         select
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.CONTRACT_NO as contractNo,
@@ -123,8 +121,6 @@
 
     <select id="fcOffSheet1" resultType="com.sundata.product.rwa.parameter.model.FcOffSheetModel">
         select
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.CONTRACT_NO as contractNo,

+ 0 - 4
Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/FfRepoMapper.xml

@@ -5,8 +5,6 @@
 <mapper namespace="com.sundata.product.rwa.parameter.mapper.FfRepoMapper">
     <select id="getFfRepo" resultType="com.sundata.product.rwa.parameter.model.FfRepoModel">
         SELECT
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.PROD_NO as productNo,
@@ -82,8 +80,6 @@
 
     <select id="getFfRepo1" resultType="com.sundata.product.rwa.parameter.model.FfRepoModel">
         SELECT
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE as dataDate,
         T1.DEBTITEM_NO as debtitemNo,
         T1.PROD_NO as productNo,

+ 0 - 2
Procedure/backend/project/src/main/java/com/sundata/product/rwa/parameter/mybatis/ItItfRateMapper.xml

@@ -5,8 +5,6 @@
 <mapper namespace="com.sundata.product.rwa.parameter.mapper.ItItfRateMapper">
     <select id="getItItfRate"   resultType="com.sundata.product.rwa.parameter.model.ItItfRateModel">
         select
-        T1.SDATE as sdate,
-        T1.EDATE as edate,
         T1.DATA_DATE AS dataDate,
         T1.BATCH as batch,
         T1.CCY as ccys,

+ 4 - 0
Procedure/backend/project/src/main/java/com/sundata/product/taskBatch/StartRiskInvestigation1.java

@@ -14,6 +14,8 @@ import com.sundata.common.util.DBExecutor;
 import com.sundata.product.tempFile.task.model.ImportTaskBussinessInfo;
 import com.sundata.product.tempFile.task.service.TmpWorkFlowService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 
 
@@ -246,6 +248,8 @@ public class StartRiskInvestigation1 implements BaseBatchService {
 	}
 
 	@Override
+	// @Bean
+
 	public void process(SysBatchControlModel batch, Map<String, String> paramMap) {
 		LogUtil.logFile(batch,"=======处理数据补录批次开始======");
 		String batchDate = batch.getBatchDate();

+ 2 - 2
Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/mybatis/TmpTaskBussinessflowinfoMapper.xml

@@ -6,7 +6,7 @@
 	namespace="com.sundata.product.tempFile.task.mapper.TmpTaskBussinessflowinfoMapper">
 
 
-	<select id="queryOneByFlowBussinessid" parameterType="String">
+	<select id="queryOneByFlowBussinessid" parameterType="String" resultType="com.sundata.product.tempFile.task.model.TmpTaskBussinessflowinfo">
 		select
 		taskbussinessid,flowbussinessid,flowid,account,orgcode
 		from
@@ -14,7 +14,7 @@
 		where flowbussinessid =
 		#{flowBussinessid} LIMIT 1
 	</select>
-	<select id="queryOneByTaskBussinessid" parameterType="String">
+	<select id="queryOneByTaskBussinessid" parameterType="String"  resultType="com.sundata.product.tempFile.task.model.TmpTaskBussinessflowinfo">
 		select
 		taskbussinessid,flowbussinessid,flowid,account,orgcode
 		from

+ 1 - 1
Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/mybatis/TmpTaskBussinessinfoMapper.xml

@@ -34,7 +34,7 @@
 		where taskbussinessid =
 		#{taskbussinessid}
 	</select>
-	<select id="queryOneByTaskBussinessid" parameterType="String">
+	<select id="queryOneByTaskBussinessid" parameterType="String" resultType="com.sundata.product.tempFile.task.model.TmpTaskBussinessinfo">
 		select
 		a.taskbussinessid,a.taskCode,a.term,a.taskVersion,a.taskStatus,a.taskStartDate,a.taskUpdateDate,a.taskCreatePerson,a.taskUpdatePerson,a.taskFirstPerson,a.taskOrgcode,a.taskReviewedPerson,a.remark
 		, isb.tmpname as taskCodeName

+ 23 - 22
Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/service/ImportTaskBussinessService.java

@@ -466,8 +466,7 @@ public class ImportTaskBussinessService {
      */
     public TmpTaskBussinessinfo getTaskInfo(TmpTaskBussinessflowinfo flowInfo) {
 
-        TmpTaskBussinessinfo tmpTaskBussinessinfo = tmpTaskBussinessinfoMapper
-                .queryOneByTaskBussinessid(flowInfo.getTaskbussinessid());
+        TmpTaskBussinessinfo tmpTaskBussinessinfo = tmpTaskBussinessinfoMapper.queryOneByTaskBussinessid(flowInfo.getTaskbussinessid());
         if (tmpTaskBussinessinfo == null) {
             throw new ServiceException("没有找到相关补录任务的数据,请检查流程是否已经被终止,补录任务实例号:" + flowInfo.getTaskbussinessid());
         }
@@ -589,8 +588,8 @@ public class ImportTaskBussinessService {
         valuesMap.put("term", term);
 
         // 取下个月的1号减一,自然是本月最后一天
-        String lastTerm = TmpTaskUtil.getThisMonthDateByTerm(term);// 格式化 yyyy-MM-dd
-        valuesMap.put("termDT", lastTerm);
+//        String lastTerm = TmpTaskUtil.getThisMonthDateByTerm(term);// 格式化 yyyy-MM-dd
+//        valuesMap.put("termDT", lastTerm);
 
 
         // TaskId
@@ -617,18 +616,18 @@ public class ImportTaskBussinessService {
             }
         }
         // TODO 晋商需要修改,需要处理此处的执行逻辑
-        String deleteSql = "delete from sys_imput_suptaskRun_finalIndexData a where term = '${term}'";
-        String insertSql = "insert into sys_imput_suptaskRun_finalIndexData(taskbussinessid,flowbussinessid,taskcode,startDate,term,termDT,indexcode, " +
-                "cpvalue,baorfichanges,oeorlevel,raftnextstage,orgcode ,cpvalTypeName , cpValueName) " +
-                "select risbi.taskbussinessid,risbf.flowbussinessid,risbi.taskcode,risbi.taskStartDate,risbi.term,'${termDT}',risb.indexcode, " +
-                "risb.cpvalue,risb.baorfichanges,risb.oeorlevel,risb.raftnextstage,risb.deptcode ,risb.cpvalTypeName, case when risb.dict is null then risb.cpValue else sn.nounname end as cpValueshow " +
-                "from rmc_input_suptaskrun_baseinfo risb " +
-                "left join sys_noun sn on dict = sn.nounitem and sn.nounvalue = risb.cpValue " +
-                "inner join rmc_imput_suptaskrun_bussinessinfo risbi on risb.taskbussinessid = risbi.taskbussinessid " +
-                "inner join rmc_imput_suptaskrun_bussinessflowinfo risbf on risb.taskbussinessid = risbf.taskbussinessid " +
-                "where risb.taskbussinessid in (select max(a.taskBussinessid) from rmc_imput_suptaskrun_bussinessinfo a where a.term='${term}' and a.taskStatus='04' group by a.taskCode )";
-        DBExecutor.doModify(RegexTextUtil.replaceIgnoreCase(deleteSql, valuesMap));
-        DBExecutor.doModify(RegexTextUtil.replaceIgnoreCase(insertSql, valuesMap));
+//        String deleteSql = "delete from sys_imput_suptaskRun_finalIndexData a where term = '${term}'";
+//        String insertSql = "insert into sys_imput_suptaskRun_finalIndexData(taskbussinessid,flowbussinessid,taskcode,startDate,term,termDT,indexcode, " +
+//                "cpvalue,baorfichanges,oeorlevel,raftnextstage,orgcode ,cpvalTypeName , cpValueName) " +
+//                "select risbi.taskbussinessid,risbf.flowbussinessid,risbi.taskcode,risbi.taskStartDate,risbi.term,'${termDT}',risb.indexcode, " +
+//                "risb.cpvalue,risb.baorfichanges,risb.oeorlevel,risb.raftnextstage,risb.deptcode ,risb.cpvalTypeName, case when risb.dict is null then risb.cpValue else sn.nounname end as cpValueshow " +
+//                "from rmc_input_suptaskrun_baseinfo risb " +
+//                "left join sys_noun sn on dict = sn.nounitem and sn.nounvalue = risb.cpValue " +
+//                "inner join rmc_imput_suptaskrun_bussinessinfo risbi on risb.taskbussinessid = risbi.taskbussinessid " +
+//                "inner join rmc_imput_suptaskrun_bussinessflowinfo risbf on risb.taskbussinessid = risbf.taskbussinessid " +
+//                "where risb.taskbussinessid in (select max(a.taskBussinessid) from rmc_imput_suptaskrun_bussinessinfo a where a.term='${term}' and a.taskStatus='04' group by a.taskCode )";
+//        DBExecutor.doModify(RegexTextUtil.replaceIgnoreCase(deleteSql, valuesMap));
+//        DBExecutor.doModify(RegexTextUtil.replaceIgnoreCase(insertSql, valuesMap));
     }
 
     /**
@@ -1021,11 +1020,14 @@ public class ImportTaskBussinessService {
                 if (endCol < row.getLastCellNum()) {
                     endCol = row.getLastCellNum();
                 }
-                for (int i = 0; i <= row.getLastCellNum(); i++) {
-                    if (maxColNum <= i) {
+                for (int i = 1; i < row.getLastCellNum(); i++) {
+                    System.out.println(row.getLastCellNum());
+                    System.out.println(maxColNum);
+                    if (maxColNum < i) {
                         maxColNum++;
                     }
                 }
+                System.out.println("+-------------------------------------------+");
             }
             if ("FixedAll".equals(tmpConfBaseInfo.getTmptype())) {
                 if (startRow != tmpConfBaseInfo.getStartRow() || endRow != tmpConfBaseInfo.getEndRow() || startCol != tmpConfBaseInfo.getStartCol() || endCol != tmpConfBaseInfo.getEndCol()) {
@@ -1040,7 +1042,7 @@ public class ImportTaskBussinessService {
                     throw new ServiceException("模板[" + tmpConfBaseInfo.getTmpname() + "]导入数据的行列范围不正确,请检查范围是否超过配置,配置范围为 行[" + tmpConfBaseInfo.getRowrange() + "],列[" + tmpConfBaseInfo.getColumnrange() + "],实际为 行[" + startRow + "-" + endRow + "],列[" + startCol + "-" + endCol + "]");
                 }
             }
-            maxColNum++;// 多加一列
+          //  maxColNum++;// 多加一列
             for (int i = 0; i <= maxColNum; i++) {
                 String col = "C" + String.format("%03d", i) + " varchar(255) ";
                 if (i != maxColNum) {
@@ -1054,13 +1056,12 @@ public class ImportTaskBussinessService {
             // 正式开始解析数据
             // 准备公式
             FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
-            for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {
-
+            for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) {
                 int finalRowNum = rowNum;
                 List<TmpConfVerificationRule> lengthRulesList = rulesList1.stream().filter(rule -> rule.getRowStart() >= finalRowNum || rule.getRowEnd() <= finalRowNum).collect(Collectors.toList());
                 ;
                 Row row = sheet.getRow(rowNum);
-                if (row == null) {
+                if (row.getRowNum() ==0) {
                     continue;
                 }
                 insert = new SQL();

+ 2 - 0
Procedure/backend/project/src/main/java/com/sundata/product/tempFile/task/utils/TmpTaskUtil.java

@@ -91,6 +91,7 @@ public class TmpTaskUtil {
 
 	public static String getThisMonthDateByTerm(String term){
 		// 取下个月的1号减一,自然是本月最后一天
+
 		LocalDate date = LocalDate.parse(term + "01", DateTimeFormatter.ofPattern("yyyyMMdd"));
 		LocalDate lastDate = date.minusMonths(-1).minusDays(1);
         // 格式化 yyyy-MM-dd
@@ -98,6 +99,7 @@ public class TmpTaskUtil {
 	}
 	public static String getLastMonthTermByTerm(String term){
 		// 取下个月的1号减一,自然是本月最后一天
+		System.out.println(LocalDate.parse(term + "01", DateTimeFormatter.ofPattern("yyyyMMdd")));
 		LocalDate date = LocalDate.parse(term + "01", DateTimeFormatter.ofPattern("yyyyMMdd"));
 		LocalDate lastDate = date.minusMonths(1);
 		// 格式化 yyyy-MM-dd

+ 1 - 0
Procedure/frontend/projectb/config/config.ts

@@ -120,6 +120,7 @@ export default defineConfig({
     { path: '/G4B_2' , component: './product/rwa/reportResult/G4B_2' },
     { path: '/G4B_5' , component: './product/rwa/reportResult/G4B_5' },
    { path: '/GuaranteeTable' , component: './project/dataquality/GuaranteeTable' },
+  {path: '/multidimensionalcreditrisk1' , component: './product/rwa/reportResult/multidimensionalcreditrisk1' },
 
 
 

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

@@ -234,6 +234,7 @@ const accountmanagercreditriskoccupy : React.FC<widowRush> = (prop:widowRush) =>
          actionRef={actionRef}
          formRef={formRef}
          dataSource={formDetailData1}
+
         //  setDetailVisible={() => {setDetailVisible(true)}}
         //  setEditType={setEditType}
         //  setCurrentRow={setCurrentRow}

+ 90 - 6
Procedure/frontend/projectb/src/pages/product/internal/capitaloccupymonitor.tsx

@@ -3,7 +3,7 @@ import { type ProColumns, type ActionType, type ProFormInstance, ProTable, Edita
 import type {FormInstance} from 'antd'
 import  {Table, Upload} from 'antd'
 import { SDPage,SDFormText,SDModalForm,SDTable,SDFormItem,SDButton,SDSubmitButton,EditType, SDAreaTtile, SDOperate, baseFun,SDModal, validateFun, SDLayout, } from "@sundata/ui-frame";
-import type { CapitalOccupyMonitorModel,detailInfoListModel,SubBranchListModel } from '@/services/rwa/product/internal/capitaloccupymonitor';
+import { CapitalOccupyMonitorModel,detailInfoListModel,getDetailDataList1,SubBranchListModel } from '@/services/rwa/product/internal/capitaloccupymonitor';
 import {getDataList,exportExcelModel,getDetailDataList} from '@/services/rwa/product/internal/capitaloccupymonitor';
 import { PlusSquareTwoTone, WomanOutlined } from "@ant-design/icons";
 import { ProductProps } from "@/sundataImport";
@@ -36,8 +36,11 @@ const capitaloccupymonitor : React.FC<widowRush> = (prop:widowRush) => {
 
     const [formDetailData2, setFormDetailData2] = useState<CapitalOccupyMonitorModel[]>([]);
     const [formDetailData1, setFormDetailData1] = useState<SubBranchListModel[]>([]);
+    const [time1, setTime1] = useState<any>();
+    const [time2, setTime2] = useState<any>();
     // 页面数据
     var formDataList = new Array<CapitalOccupyMonitorModel>;
+    var formDataList1 = new Array<SubBranchListModel>;
 
     const { fetchDict } = useModel('dict');
 
@@ -66,6 +69,27 @@ const capitaloccupymonitor : React.FC<widowRush> = (prop:widowRush) => {
     var objs18 =0;
     var objs19 =0;
     var objs20 =0;
+
+    var objs1_1 =0;
+    var objs2_1 =0;
+    var objs3_1 =0;
+    var objs4_1 =0;
+    var objs5_1 =0;
+    var objs6_1 =0;
+    var objs7_1 =0;
+    var objs8_1 =0;
+    var objs9_1 =0;
+    var objs10_1 =0;
+    var objs11_1 =0;
+    var objs12_1 =0;
+    var objs13_1 =0;
+    var objs14_1 =0;
+    var objs15_1 =0;
+    var objs16_1 =0;
+    var objs17_1 =0;
+    var objs18_1 =0;
+    var objs19_1 =0;
+    var objs20_1 =0;
     
    
       
@@ -76,13 +100,66 @@ const capitaloccupymonitor : React.FC<widowRush> = (prop:widowRush) => {
     }
 
     // 修改查询查询
-    const selectDetailData = async (formdata : CapitalOccupyMonitorModel) => {
+    const selectDetailData1 = async (formdata : CapitalOccupyMonitorModel) => {
+      const data = await getDetailDataList1(formdata,time1,time2);
+      formDataList1=[...data];
+      setFormDetailData1(data);
+      data.forEach(function(erement,index,array){
+        if(erement.key != 'summary'  ){
+      objs1_1 = objs1_1 + Number(erement.sumBalance);
+      objs2_1 = objs2_1 + Number(erement.onBalance);
+      objs3_1 = objs3_1 + Number(erement.offBalance);
+      objs4_1 = objs4_1 + Number(erement.monthaverageBalance);
+      objs5_1 = objs5_1 + Number(erement.endoftermBalance);
+      objs6_1 = objs6_1 + Number(erement.thistermOnBalance);
+      objs7_1 = objs7_1 + Number(erement.thistermOffBalance);
+      objs8_1 = objs8_1 + Number(erement.monthaverageThistermBalance);
+      objs9_1 = objs9_1 + Number(erement.endoftermEcl);
+      objs10_1 = objs10_1 + Number(erement.endoftermOnEcl);
+      objs11_1 = objs11_1 + Number(erement.endoftermOffEcl);
+      objs12_1 = objs12_1 + Number(erement.endoftermSumEad);
+      objs13_1 = objs13_1 + Number(erement.endoftermOnEad);
+      objs14_1 = objs14_1 + Number(erement.endoftermOffEad);
+      objs15_1 = objs15_1 + Number(erement.monthaverageEad);
+      objs16_1 = objs16_1 + Number(erement.sumRwa);
+      objs17_1 = objs17_1 + Number(erement.onRwa);
+      objs18_1 = objs18_1 + Number(erement.offRwa);
+      objs19_1 = objs19_1 + Number(erement.monthaverageRwa);
+      objs20_1 = objs20_1 + Number(erement.averageRiskWeight);
+        }
+    } 
+    
+    );
+      let objs = {key :'summary', orgCode :'合计', 
+      sumBalance:objs1_1,
+      onBalance:objs2_1,
+      offBalance:objs3_1,
+      monthaverageBalance:objs4_1,
+      endoftermBalance:objs5_1,
+      thistermOnBalance:objs6_1,
+      thistermOffBalance:objs7_1,
+      monthaverageThistermBalance:objs8_1,
+      endoftermEcl:objs9_1,
+      endoftermOnEcl:objs10_1,
+      endoftermOffEcl:objs11_1,
+      endoftermSumEad:objs12_1,endoftermOnEad:objs13_1,endoftermOffEad:objs14_1,monthaverageEad:objs15_1,sumRwa:objs16_1,onRwa:objs17_1,
+      offRwa:objs18_1,monthaverageRwa:objs19_1,averageRiskWeight:objs20_1,calcIndex:'',sDate:'',eDate:'',term:'',dataDate:''};
+            if(data.length >0){
+              data.push(objs)
+        }
+        return {data:formDetailData1 }
+     }
+
+     const selectDetailData = async (formdata : CapitalOccupyMonitorModel) => {
       const data = await getDetailDataList(formdata);
       setFormDetailData(data);
      
      }
 
      const selectlist =async (formdata:CapitalOccupyMonitorModel) =>{
+      setFormDetailData2([]);
+      setTime1(formdata.sDate)
+      setTime2(formdata.eDate)
         const formDatas = await getDataList(formdata);
         // 解构数组(导出用)
         formDataList=[...formDatas];
@@ -157,7 +234,7 @@ formDatas.forEach(function(erement,index,array){
           dataIndex: 'sDate',
           order:-2,
           hideInTable: true,
-          render:(text,recode)=>moment(recode.sDate).format('YYYYMM'),
+       ///   render:(text,recode)=>moment(recode.sDate).format('YYYYMM'),
           valueType:'dateMonth'
         },
         {
@@ -166,7 +243,7 @@ formDatas.forEach(function(erement,index,array){
           order:-3,
           hideInTable: true,
           valueType:'dateMonth',
-          render:(text,recode)=>moment(recode.eDate).format('YYYYMM'),
+       //   render:(text,recode)=>moment(recode.eDate).format('YYYYMM'),
         },
         {
           title: '期次',
@@ -187,7 +264,7 @@ formDatas.forEach(function(erement,index,array){
           render: (_, record) => [
             <a onClick={()=>{
               if(record.key !='summary'){
-              selectDetailData(record);
+              selectDetailData1(record);
               setDetailVisible1(true);}}
             }>{record.orgCode}</a>
           ],
@@ -730,7 +807,6 @@ formDatas.forEach(function(erement,index,array){
         {
           title: '经营机构',
           dataIndex: 'orgCode',
-          
           order:-1,
         },
         {
@@ -742,6 +818,13 @@ formDatas.forEach(function(erement,index,array){
                 title: '期末资产余额合计',
                 dataIndex: 'sumBalance',
                 search: false,
+                render: (_, record) => [
+                  <a onClick={()=>{
+                    if(record.key !='summary'){
+                    selectDetailData(record);
+                    setDetailVisible(true);}}
+                  }>{record.sumBalance}</a>
+                ],
             },
             { title: '资产余额(表内)', dataIndex: 'onBalance',search: false, },
             { title: '资产余额(表外)', dataIndex: 'offBalance',search: false, },
@@ -826,6 +909,7 @@ formDatas.forEach(function(erement,index,array){
          request={selectlist}
          columns={columns}
          dataSource={formDetailData2}
+         pagination={false}
          toolBarRender={(_, { selectedRows }) => [
           <SDButton
             key="export"

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

@@ -6,7 +6,7 @@ import { SDPage,SDFormText,SDModalForm,SDTable,SDFormItem,SDButton,SDSubmitButto
     SDAreaTtile, SDOperate, baseFun,SDModal, validateFun, SDLayout, } from "@sundata/ui-frame";
 import { PlusSquareTwoTone, WomanOutlined } from "@ant-design/icons";
 import { ProductProps } from "@/sundataImport";
-import { useModel } from '@umijs/max';
+import { Link, useModel } from '@umijs/max';
 import { MultiDimensionalCreditRiskModel, getDataList,
     getDetailDataList, exportExcelModel } from "@/services/rwa/product/internal/multidimensionalcreditrisk";
 
@@ -44,49 +44,85 @@ const multidimensionalcreditrisk : React.FC<widowRush> = (prop:widowRush) => {
     const closeAndRefresh = ()=>{
     actionRef.current?.reloadAndRest?.();
     }
+    var objs1 =0;
+    var objs2 =0;
+    var objs3 =0;
+    var objs4 =0;
+    var objs5 =0;
+    var objs6 =0;
+    var objs7 =0;
+    var objs8 =0;
+    var objs9 =0;
+    var objs10 =0;
+    var objs11 =0;
+    var objs12 =0;
+    var objs13 =0;
+    var objs14 =0;
+    var objs15 =0;
+    var objs16 =0;
 
 
+    
      
     // 页面展示元素
     const columns: ProColumns<MultiDimensionalCreditRiskModel>[] = [
 
         {
             title: '报表日期                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ',
-            dataIndex: 'reportDate',
-            order:-1
+            dataIndex: 'term',
+            order:-1,
+            width:100,
+            valueType:"dateMonth",
+           ellipsis:true
         },
 
 
         {
             title: '债项编号',
             dataIndex: 'loanReferenceNo',
-            order:-9
+            order:-9,
+            width:150,
+            render: (_, record) => [
+                <Link to ="/multidimensionalcreditrisk1" onClick={()=>{
+                //   if(record.key !='summary'){
+                //     getDataList(record);
+                //    }
+                }
+                }>{record.loanReferenceNo}</Link >
+              ],
         },
         {
             title: '合同编号',
-            dataIndex: 'contNo',
+            dataIndex: 'contractNo',
             search: false,
+            width:150,
         },
         {
             title: '经营机构',
-            dataIndex: 'mgmtBranchNo',
-            order:-2
+            dataIndex: 'manageOrgnNo',
+            order:-2,
+            width:100,
+            valueType:'treeSelect',
+            request: () => fetchDict('org'),
         },
         {
             title: '客户编号',
-            dataIndex: 'custNo',
-            order:-8
+            dataIndex: 'clientNo',
+            order:-8,
+            width:150,
         },
         {
             title: '客户名称',
-            dataIndex: 'custName',
+            dataIndex: 'clientName',
             search: false,
+            width:200,
         },
         {
             title: '交易对手大类',
-            dataIndex: 'busType',
+            dataIndex: 'tradeCntrptyDivision',
             order:-4,
             valueType: 'treeSelect',
+            width:150,
             request: () => fetchDict('CUST_TYPE_LV02'),
             fieldProps: {
               treeDefaultExpandAll: true,
@@ -94,24 +130,28 @@ const multidimensionalcreditrisk : React.FC<widowRush> = (prop:widowRush) => {
         },
         {
             title: '是否小微企业',
-            dataIndex: 'micro',
+            dataIndex: 'smallandmicro',
             search: false,
+            width:50,
         },
         {
             title: '是否中小企业',
-            dataIndex: 'medium',
+            dataIndex: 'smallandmedium',
             search: false,
+            width:50,
         },
         {
             title: '是否监管零售',
-            dataIndex: 'regulatoryRetail',
+            dataIndex: 'regulatedretail',
             search: false,
+            width:50,
         },
         {
             title: '产品大类',
-            dataIndex: 'productType',
+            dataIndex: 'prodType',
             order:-6,
             valueType: 'treeSelect',
+            width:100,
             request: () => fetchDict('PRODUCT_TYPE'),
             fieldProps: {
               treeDefaultExpandAll: true,
@@ -119,183 +159,223 @@ const multidimensionalcreditrisk : React.FC<widowRush> = (prop:widowRush) => {
         },
         {
             title: '产品名称',
-            dataIndex: 'productName',
-            order:-7
+            dataIndex: 'prodName',
+            order:-7,
+            width:150,
         },
         {
             title: '表内外标识',
-            dataIndex: 'onOffFlag',
-            order:-5
+            dataIndex: 'onbalshOffbalshFlag',
+            order:-5,
+            width:50,
+            valueType:'select',
+            request:()=>fetchDict('ONOROFF'),
         },
         {
             title: '贴现类型',
-            dataIndex: 'discType',
+            dataIndex: 'discountingType',
             search: false,
+            width:150,
         },
         {
             title: '票据类型',
-            dataIndex: 'vouchTypeCd',
+            dataIndex: 'billType',
             search: false,
+            width:50,
         },
         {
             title: '是否我行承兑',
-            dataIndex: 'isMybankSetFlag',
+            dataIndex: 'ifSelfbankAcceptance',
             search: false,
+            width:50,
         },
         {
             title: '承兑人',
-            dataIndex: 'acceptorNo',
+            dataIndex: 'acceptorClientNo',
             search: false,
+            width:200,
         },
         {
             title: '承兑人客户名',
-            dataIndex: 'acceptorName',
+            dataIndex: 'acceptorClientName',
             search: false,
+            width:100,
         },
         {
             title: '证券类型',
-            dataIndex: 'secTypeCd',
+            dataIndex: 'securityType',
             search: false,
+            width:50,
         },
         {
             title: '一般专项标志',
-            dataIndex: 'purposeFlag',
+            dataIndex: 'generalSpecialFlag',
             search: false,
+            width:50,
         },
         {
             title: '币种',
-            dataIndex: 'ccyCd',
+            dataIndex: 'ccy',
             search: false,
+            width:50,
         },
         {
             title: '生效日',
-            dataIndex: 'startDt',
+            dataIndex: 'effectDate',
             search: false,
+            width:100,
         },
         {
             title: '到期日',
-            dataIndex: 'matDt',
+            dataIndex: 'expiryDate',
             search: false,
+            width:100,
         },
         {
             title: '原始期限(月)',
-            dataIndex: 'originalTerm',
+            dataIndex: 'origTerm',
             search: false,
+            width:100,
         },
         {
             title: '剩余期限(月)',
-            dataIndex: 'residualterm',
+            dataIndex: 'residualTerm',
             search: false,
+            width:100,
         },
         {
             title: '五级分类',
-            dataIndex: 'fiveClassCd',
+            dataIndex: 'fiveClass',
             search: false,
+            width:200,
         },
         {
             title: '逾期天数(天)',
             dataIndex: 'overdueDays',
             search: false,
+            width:100,
         },
         {
             title: '投向行业',
-            dataIndex: 'investIndustryCd',
+            dataIndex: 'industryInvestClass',
             search: false,
+            width:150,
         },
         {
             title: '质押买断类型',
-            dataIndex: 'zhiyaMaiduanCd',
+            dataIndex: 'pledgeBuyoutType',
             search: false,
+            width:100,
         },
         {
             title: '回购类型',
-            dataIndex: 'repoTypeCd',
+            dataIndex: 'repoType',
             search: false,
+            width:100,
         },
         {
             title: '回购期限(天)',
-            dataIndex: 'repoDays',
+            dataIndex: 'repoTerm',
             search: false,
+            width:100,
         },
         {
             title: '债券代码',
-            dataIndex: 'billNo',
+            dataIndex: 'bondCode',
             search: false,
+            width:100,
         },
         {
             title: '核心市场参与者标识',
-            dataIndex: 'coreMarketPartFlag',
+            dataIndex: 'coreMarketParticipantFlag',
             search: false,
+            width:100,
         },
         {
             title: '资产余额',
-            dataIndex: 'balance',
+            dataIndex: 'assetBal',
             search: false,
+            width:100,
         },
         {
             title: '本金科目号',
-            dataIndex: 'glAccountId',
+            dataIndex: 'prinAccountNo',
             search: false,
+            width:100,
         },
         {
             title: '应收利息',
-            dataIndex: 'recInt',
+            dataIndex: 'receivableInt',
             search: false,
+            width:100,
         },
         {
             title: '应收利息科目号',
-            dataIndex: 'recIntAccount',
+            dataIndex: 'receivableIntAccountNo',
             search: false,
+            width:100,
         },
         {
             title: '应计利息',
             dataIndex: 'accrInt',
             search: false,
+            width:100,
         },
         {
             title: '应计利息科目号',
-            dataIndex: 'accrIntAccount',
+            dataIndex: 'accrIntAccountNo',
             search: false,
+            width:100,
         },
         {
             title: '利息调整',
             dataIndex: 'intAdj',
             search: false,
+            width:100,
         },
         {
             title: '利息调整科目号',
-            dataIndex: 'intAdjAccount',
+            dataIndex: 'intAdjAccountNo',
             search: false,
+            width:100,
         },
         {
             title: '公允价值变动',
             dataIndex: 'fairValueChange',
             search: false,
+            width:100,
         },
         {
             title: '公允价值变动科目号',
-            dataIndex: 'fairValAccount',
+            dataIndex: 'fairValueChangeAccountNo',
             search: false,
+            width:100,
         },
         {
             title: '手续费',
-            dataIndex: 'chargeFee',
+            dataIndex: 'charge',
             search: false,
+            width:100,
         },
         {
             title: '手续费科目号',
-            dataIndex: 'chargeFeeAccount',
+            dataIndex: 'chargeAccountNo',
             search: false,
+            width:100,
         },
         {
             title: '所属条线',
-            dataIndex: 'busLine',
-            order:-3
+            dataIndex: 'belongLine',
+            order:-3,
+            width:100,
+            valueType:'select',
+            request:()=>fetchDict('BUSINESSLINE'),
         },
         {
             title: '承诺类型',
-            dataIndex: 'commType',
+            dataIndex: 'commitmentType',
             search: false,
+            width:100,
         },
         // {
         //     title: '未使用额度',
@@ -309,88 +389,105 @@ const multidimensionalcreditrisk : React.FC<widowRush> = (prop:widowRush) => {
         // },
         {
             title: '计提准备金',
-            dataIndex: 'reserve',
+            dataIndex: 'provisionReserve',
             search: false,
+            width:100,
         },
         {
             title: '准备金科目号',
-            dataIndex: 'reserveAccount',
+            dataIndex: 'reserveAccountNo',
             search: false,
+            width:100,
         },
         {
             title: '本期余额',
-            dataIndex: 'balanceAll',
+            dataIndex: 'thisBalance',
             search: false,
+            width:100,
         },
         {
             title: '缓释覆盖部分的风险暴露-现金类资产(0%)',
-            dataIndex: 'cashRisk',
+            dataIndex: 'coverageRisk0',
             search: false,
+            width:100,
         },
         {
             title: '缓释覆盖部分的风险暴露-我国中央政府(0%)',
-            dataIndex: 'governmentRisk',
+            dataIndex: 'coverageRisk1',
             search: false,
+            width:100,
         },
         {
             title: '缓释覆盖部分的风险暴露-我国开发性金融机构和政策性银行(0%)',
-            dataIndex: 'financeRisk',
+            dataIndex: 'coverageRisk2',
             search: false,
+            width:100,
         },
         {
             title: '缓释覆盖部分的风险暴露-境内外商业银行(短期)(20%)',
-            dataIndex: 'dfBank',
+            dataIndex: 'coverageRisk3',
             search: false,
+            width:100,
         },
         {
             title: '缓释覆盖部分的风险暴露-境内商业银行(0%)',
-            dataIndex: 'dBank',
+            dataIndex: 'coverageRisk4',
             search: false,
+            width:100,
         },
         {
             title: '缓释覆盖部分的风险暴露-其他缓释类型',
-            dataIndex: 'otherRiskSum',
+            dataIndex: 'coverageRisk5',
             search: false,
+            width:100,
         },
         {
             title: '未缓释风险暴露',
             dataIndex: 'unfinishEad',
             search: false,
+            width:100,
         },
         {
             title: '表外项目分类',
-            dataIndex: '',
+            dataIndex: 'offbalshProjectName',
             search: false,
+            width:150,
         },
         {
             title: '信用转换系数%',
-            dataIndex: '',
+            dataIndex: 'ccf',
             search: false,
+            width:100,
         },
         {
             title: '风险暴露分类(系统认定)',
-            dataIndex: 'riskExposureCode',
+            dataIndex: 'riskExposeClassRecognizedResult',
             search: false,
+            width:300,
         },
         {
             title: '风险权重%(系统认定)',
-            dataIndex: 'loanWeight',
+            dataIndex: 'debtitemRiskWeight',
             search: false,
+            width:100,
         },
         {
             title: '风险暴露分类(人工认定)',
             dataIndex: 'riskExposureCodeArtificial',
             search: false,
+            width:300,
         },
         {
             title: '风险权重%(人工认定)',
             dataIndex: 'loanWeightArtificial',
             search: false,
+            width:100,
         },
         {
             title: '风险加权资产',
             dataIndex: 'rwa',
             search: false,
+            width:100,
         },
 
     ]
@@ -404,6 +501,46 @@ const multidimensionalcreditrisk : React.FC<widowRush> = (prop:widowRush) => {
            const formDatas = await getDataList(formdata);
            // 解构数组(导出用)
            formDataList=[...formDatas];
+           setFormDetailData(formDatas);
+           formDatas.forEach(function(erement,index,array){
+            if(erement.key != 'summary'  ){
+          objs1 = objs1 + Number(erement.assetBal);
+          objs2 = objs2 + Number(erement.receivableInt);
+          objs3 = objs3 + Number(erement.accrInt);
+          objs4 = objs4 + Number(erement.intAdj);
+          objs5 = objs5 + Number(erement.fairValueChange);
+          objs6 = objs6 + Number(erement.charge);
+          objs7 = objs7 + Number(erement.provisionReserve);
+          objs8 = objs8 + Number(erement.thisBalance);
+          objs9 = objs9 + Number(erement.coverageRisk0);
+          objs10 = objs10 + Number(erement.coverageRisk1);
+          objs11 = objs11 + Number(erement.coverageRisk2);
+          objs12 = objs12 + Number(erement.coverageRisk3);
+          objs13 = objs13 + Number(erement.coverageRisk4);
+          objs14 = objs14 + Number(erement.coverageRisk5);
+          objs15 = objs15 + Number(erement.unfinishEad);
+          objs16 = objs16 + Number(erement.rwa);
+            }
+        } 
+        
+        );
+        let objs = {key :'summary', term :'合计', 
+        assetBal:objs1,
+        receivableInt:objs2,
+        accrInt:objs3,
+        intAdj:objs4,
+        fairValueChange:objs5,
+        charge:objs6,
+        provisionReserve:objs7,
+        thisBalance:objs8,
+        coverageRisk0:objs9,
+        coverageRisk1:objs10,
+        coverageRisk2:objs11,
+        coverageRisk3:objs12,coverageRisk4:objs13,coverageRisk5:objs14,unfinishEad:objs15,rwa:objs16,calcIndex:'',sDate:'',eDate:'',dataDate:''};
+              if(formDatas.length >0){
+              formDatas.push(objs)
+          }
+
            return {data: formDatas}
          }  }
          columns={columns}
@@ -413,7 +550,7 @@ const multidimensionalcreditrisk : React.FC<widowRush> = (prop:widowRush) => {
             icon={<PlusSquareTwoTone/>}
             successMessage=''
             onClick={() => {
-                baseFun.confirm('确认导出数据?',async() => {  exportExcelModel(formDetailData,"capitaloccupymonitor")});
+                baseFun.confirm('确认导出数据?',async() => {  exportExcelModel(formDetailData,"multidimensionalcredit")});
             }}
           >
             导出

+ 8 - 9
Procedure/frontend/projectb/src/pages/product/internal/productcreditriskcapitaloccupy.tsx

@@ -99,15 +99,6 @@ const productcreditriskcapitaloccupy : React.FC<widowRush> = (prop:widowRush) =>
           title: '产品编号',
           dataIndex: 'productNo',
           search: false,
-          render: (_, record) => [
-            
-            <a onClick={()=>{
-              if(record.key !='summary'){
-                selectDetailData(record);
-                setDetailVisible(true);}
-              }
-            }>{record.productNo}</a>
-          ],
         },
         {
           title: '产品名称',
@@ -123,6 +114,14 @@ const productcreditriskcapitaloccupy : React.FC<widowRush> = (prop:widowRush) =>
                 title: '期末资产余额合计',
                 dataIndex: 'sumBalance',
                 search: false,
+                render: (_, record) => [
+                  <a onClick={()=>{
+                    if(record.key !='summary'){
+                      selectDetailData(record);
+                      setDetailVisible(true);}
+                    }
+                  }>{record.sumBalance}</a>
+                ],
             },
             { title: '月均资产余额', dataIndex: 'monthaverageBalance',search: false, },
           ],

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

@@ -12,6 +12,7 @@ const ReportFileShow = (model: ReportFileExportModel) => {
 
   useEffect(() => {
     getReportFileHtml(model).then((body) => {
+      console.log(body);
       if (body?.flag == 'false') {
         return;
       }
@@ -23,6 +24,7 @@ const ReportFileShow = (model: ReportFileExportModel) => {
     return <div dangerouslySetInnerHTML={{ __html: htmlContent }} />;
   };
 
+
   // @ts-ignore
   return (
     <SDPage>

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

@@ -0,0 +1,731 @@
+import React, { useEffect, useRef, useState } from "react";
+import { type ProColumns, type ActionType, type ProFormInstance, ProTable, EditableProTable } from '@ant-design/pro-components';
+import type {FormInstance} from 'antd'
+import  {Table, Upload} from 'antd'
+import { SDPage,SDFormText,SDModalForm,SDTable,SDFormItem,SDButton,SDSubmitButton,EditType,
+    SDAreaTtile, SDOperate, baseFun,SDModal, validateFun, SDLayout, } from "@sundata/ui-frame";
+import { PlusSquareTwoTone, WomanOutlined } from "@ant-design/icons";
+import { ProductProps } from "@/sundataImport";
+import { useModel } from '@umijs/max';
+import { exportExcelModel, getDataList, getselect, MultiDimensionalCreditRiskModel, selectname, update } from "@/services/rwa/product/internal/multidimensionalcreditrisk";
+
+type widowRush = {
+    onCancel:  () => void;
+    onChangeVisible(visible: boolean, type: string): unknown;
+    onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
+    loanReferenceNo:string;
+  }& ProductProps;
+  const multidimensionalcreditrisk1 : React.FC<widowRush> = (prop:widowRush) => {
+    const fillInActionRef = useRef<ActionType>();
+    const [fieldRelationData, setFieldRelationData] = useState<MultiDimensionalCreditRiskModel[]>([]);
+    const [formDetailData, setFormDetailData] = useState<MultiDimensionalCreditRiskModel>();
+    var paramIndex = 0;
+    const editorFormRef = useRef<any>();
+    const { fetchDict } = useModel('dict');  
+    const [oldRowKeys, setOldRowKeys] = useState<React.Key[]>();
+    const [selectRowData,setSelectRowData] = useState<any>();
+    const [sjhs,setSjhs] = useState<any>();
+    const [sjhs1,setSjhs1] = useState<any>();
+    var formDataList = new Array<MultiDimensionalCreditRiskModel>;
+    const actionRef = useRef<ActionType>();
+    const formRef = useRef<FormInstance<any>>();
+    var formDataList1 = new Array<MultiDimensionalCreditRiskModel>;
+
+ const select = async(formdata : MultiDimensionalCreditRiskModel)=>{
+  const data = await getDataList(formdata);
+  // 解构数组(导出用)
+  setFieldRelationData(data);
+  formDataList=[...data]; 
+  return {data :data}
+;
+
+ }
+ //const editable = false;
+console.log(prop.loanReferenceNo);
+// 页面展示元素
+const columns: ProColumns<MultiDimensionalCreditRiskModel>[] = [
+
+    {
+        title: '报表日期                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ',
+        dataIndex: 'term',
+        order:-1,
+        width:100,
+        editable:false,
+       ellipsis:true
+    },
+
+
+    {
+        title: '债项编号',
+        dataIndex: 'loanReferenceNo',
+        order:-9,
+        width:150,
+        editable:false,
+    },
+    {
+        title: '合同编号',
+        dataIndex: 'contractNo',
+        search: false,
+        width:150,
+        editable:false,
+    },
+    {
+        title: '经营机构',
+        dataIndex: 'manageOrgnNo',
+        order:-2,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '客户编号',
+        dataIndex: 'clientNo',
+        order:-8,
+        width:150,
+        editable:false,
+    },
+    {
+        title: '客户名称',
+        dataIndex: 'clientName',
+        search: false,
+        width:200,
+        editable:false,
+    },
+    {
+        title: '交易对手大类',
+        dataIndex: 'tradeCntrptyDivision',
+        order:-4,
+        valueType: 'treeSelect',
+        width:150,
+        request: () => fetchDict('CUST_TYPE_LV02'),
+        fieldProps: {
+          treeDefaultExpandAll: true,
+        },
+        editable:false,
+    },
+    {
+        title: '是否小微企业',
+        dataIndex: 'smallandmicro',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '是否中小企业',
+        dataIndex: 'smallandmedium',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '是否监管零售',
+        dataIndex: 'regulatedretail',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '产品大类',
+        dataIndex: 'prodType',
+        order:-6,
+        valueType: 'treeSelect',
+        width:100,
+        request: () => fetchDict('PRODUCT_TYPE'),
+        fieldProps: {
+          treeDefaultExpandAll: true,
+        },
+        editable:false,
+    },
+    {
+        title: '产品名称',
+        dataIndex: 'prodName',
+        order:-7,
+        width:150,
+        editable:false,
+    },
+    {
+        title: '表内外标识',
+        dataIndex: 'onbalshOffbalshFlag',
+        order:-5,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '贴现类型',
+        dataIndex: 'discountingType',
+        search: false,
+        width:150,
+        editable:false,
+    },
+    {
+        title: '票据类型',
+        dataIndex: 'billType',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '是否我行承兑',
+        dataIndex: 'ifSelfbankAcceptance',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '承兑人',
+        dataIndex: 'acceptorClientNo',
+        search: false,
+        width:200,
+        editable:false,
+    },
+    {
+        title: '承兑人客户名',
+        dataIndex: 'acceptorClientName',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '证券类型',
+        dataIndex: 'securityType',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '一般专项标志',
+        dataIndex: 'generalSpecialFlag',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '币种',
+        dataIndex: 'ccy',
+        search: false,
+        width:50,
+        editable:false,
+    },
+    {
+        title: '生效日',
+        dataIndex: 'effectDate',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '到期日',
+        dataIndex: 'expiryDate',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '原始期限(月)',
+        dataIndex: 'origTerm',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '剩余期限(月)',
+        dataIndex: 'residualTerm',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '五级分类',
+        dataIndex: 'fiveClass',
+        search: false,
+        width:200,
+        editable:false,
+    },
+    {
+        title: '逾期天数(天)',
+        dataIndex: 'overdueDays',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '投向行业',
+        dataIndex: 'industryInvestClass',
+        search: false,
+        width:150,
+        editable:false,
+    },
+    {
+        title: '质押买断类型',
+        dataIndex: 'pledgeBuyoutType',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '回购类型',
+        dataIndex: 'repoType',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '回购期限(天)',
+        dataIndex: 'repoTerm',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '债券代码',
+        dataIndex: 'bondCode',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '核心市场参与者标识',
+        dataIndex: 'coreMarketParticipantFlag',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '资产余额',
+        dataIndex: 'assetBal',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '本金科目号',
+        dataIndex: 'prinAccountNo',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '应收利息',
+        dataIndex: 'receivableInt',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '应收利息科目号',
+        dataIndex: 'receivableIntAccountNo',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '应计利息',
+        dataIndex: 'accrInt',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '应计利息科目号',
+        dataIndex: 'accrIntAccountNo',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '利息调整',
+        dataIndex: 'intAdj',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '利息调整科目号',
+        dataIndex: 'intAdjAccountNo',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '公允价值变动',
+        dataIndex: 'fairValueChange',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '公允价值变动科目号',
+        dataIndex: 'fairValueChangeAccountNo',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '手续费',
+        dataIndex: 'charge',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '手续费科目号',
+        dataIndex: 'chargeAccountNo',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '所属条线',
+        dataIndex: 'belongLine',
+        order:-3,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '承诺类型',
+        dataIndex: 'commitmentType',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    // {
+    //     title: '未使用额度',
+    //     dataIndex: '',
+    //     search: false,
+    // },
+    // {
+    //     title: '表外承诺科目号',
+    //     dataIndex: '',
+    //     search: false,
+    // },
+    {
+        title: '计提准备金',
+        dataIndex: 'provisionReserve',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '准备金科目号',
+        dataIndex: 'reserveAccountNo',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '本期余额',
+        dataIndex: 'thisBalance',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '缓释覆盖部分的风险暴露-现金类资产(0%)',
+        dataIndex: 'coverageRisk0',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '缓释覆盖部分的风险暴露-我国中央政府(0%)',
+        dataIndex: 'coverageRisk1',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '缓释覆盖部分的风险暴露-我国开发性金融机构和政策性银行(0%)',
+        dataIndex: 'coverageRisk2',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '缓释覆盖部分的风险暴露-境内外商业银行(短期)(20%)',
+        dataIndex: 'coverageRisk3',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '缓释覆盖部分的风险暴露-境内商业银行(0%)',
+        dataIndex: 'coverageRisk4',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '缓释覆盖部分的风险暴露-其他缓释类型',
+        dataIndex: 'coverageRisk5',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '未缓释风险暴露',
+        dataIndex: 'unfinishEad',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '表外项目分类',
+        dataIndex: 'offbalshProjectName',
+        search: false,
+        width:150,
+        editable:false,
+    },
+    {
+        title: '信用转换系数%',
+        dataIndex: 'ccf',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '风险暴露分类(系统认定)',
+        dataIndex: 'riskExposeClassRecognizedResult',
+        search: false,
+        width:300,
+        editable:false,
+    },
+    {
+        title: '风险权重%(系统认定)',
+        dataIndex: 'debtitemRiskWeight',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '风险暴露分类(人工认定)',
+        dataIndex: 'riskExposureCodeArtificial',
+        search: false,
+        width:300,
+        valueType:'treeSelect',
+        request:()=>fetchDict('@positiveRiskType'),
+        
+        fieldProps: {
+            treeDefaultExpandAll: true,
+            popupMatchSelectWidth:300,
+        },
+    },
+    {
+        title: '风险权重%(人工认定)',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '风险加权资产',
+        dataIndex: 'rwa',
+        search: false,
+        width:100,
+        editable:false,
+    },
+    {
+        title: '操作',
+        dataIndex: 'operate',
+        valueType: 'option',
+        render: (_, record) => [
+          <SDOperate
+            key="roleCfg"
+            icon={<WomanOutlined />}
+            successMessage=""
+            onClick={
+              ()=>{ 
+                fillInActionRef.current?.startEditable(record.loanReferenceNo);
+             } }
+          >
+            编辑
+          </SDOperate>,
+          ] },
+
+]
+
+
+const  columns1: ProColumns<MultiDimensionalCreditRiskModel>[] = [ 
+    {
+        title: '缓释覆盖的风险加权资产',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '未缓释的风险加权资产',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '缓释覆盖部分的风险暴露',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '豁免后缓释权重',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '未缓释风险暴露',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '债项风险权重',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '信用转换系数CCF',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '本期余额',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+    {
+        title: '计提准备金',
+        dataIndex: 'loanWeightArtificial',
+        search: false,
+        width:100,
+    },
+
+]
+const selectlist =async(selectRowData:MultiDimensionalCreditRiskModel)=>{
+    console.log(selectRowData);
+const select1 = await getselect(selectRowData.loanReferenceNo,selectRowData.term);
+setSjhs1(select1);
+return {data :sjhs1};
+    
+}
+
+
+
+    return (
+        <SDPage>
+<EditableProTable
+              rowKey="loanReferenceNo"
+              columns={columns}
+              recordCreatorProps={false}
+              actionRef={fillInActionRef}
+              value={fieldRelationData}
+              dataSource={fieldRelationData}
+              request={select}
+              scroll={{ x: 1500 }}
+              editableFormRef={editorFormRef} 
+              editable={{
+                actionRender: (_row,_config,defaultDoms)=>{
+                    return [defaultDoms.save,defaultDoms.cancel]
+                  },
+                  onValuesChange:async (changedValues, Values) => {
+                    if(changedValues!=undefined && changedValues.riskExposureCodeArtificial !=undefined){
+                        const name= await selectname(changedValues.riskExposureCodeArtificial)
+                        const {loanReferenceNo,...res} = changedValues
+                        if ('loanWeightArtificial' in res){
+                        editorFormRef.current.setRowData(selectRowData.loanReferenceNo,{loanWeightArtificial:name})
+                        selectRowData.loanWeightArtificial = name;
+                        selectRowData.riskExposureCodeArtificial =changedValues.riskExposureCodeArtificial;
+                        }
+                    }
+                    
+                  },
+                  onSave:async (key,record)=>{  console.log(record); await update(record) 
+                }
+           
+              }}
+              rowSelection={{
+                type:'radio',
+                selectedRowKeys:oldRowKeys,
+                onSelect:(selectedRowKeys, _selectedRows) => {
+                  setSelectRowData(selectedRowKeys);
+                }
+              }}
+              toolBarRender={(_, { selectedRowKeys,selectedRows }) =>  [
+                <SDButton
+                key="export"
+                icon={<PlusSquareTwoTone/>}
+                successMessage=''
+                onClick={() => {
+                    baseFun.confirm('确认导出数据?',async() => {  exportExcelModel(fieldRelationData,"multidimensionalcredit")});
+                }}
+              >
+                  导出文件
+                </SDButton>,
+                <SDButton
+                key="export"
+                successMessage=''
+                onClick={() => {
+                  setSjhs(true);
+                  console.log(fieldRelationData);
+                 selectlist(selectRowData);
+                }}
+              >
+                审计回溯
+              </SDButton>,
+                <SDButton
+                key="loanReferenceNo"
+                successMessage=''
+                onClick={() => {
+                    fillInActionRef.current?.startEditable(selectRowData.loanReferenceNo);
+                }}
+              >
+                风险暴露分类人工认定
+              </SDButton>,              
+                 <SDButton
+                 key="l"
+                 successMessage=''
+                 onClick={() => {
+                    
+                 }}
+               >
+                 确定
+               </SDButton>,                    
+              ]}
+              onChange={ (value: readonly MultiDimensionalCreditRiskModel[]) => {
+                setFieldRelationData([...value]);
+              } }
+           />
+           {sjhs&&(
+            <SDModal title={"RWA回溯页面"} visible={sjhs}           
+            onCancel={() => {
+                setSjhs(false);
+              }}>
+            <ProTable
+            rowKey="orgCode"
+       //  request={selectlist}
+         columns={columns1}
+         dataSource={sjhs1} 
+         pagination={false}
+        //  toolBarRender={(_, { selectedRows }) => [
+        //   <SDButton
+        //     key="export"
+        //     icon={<PlusSquareTwoTone/>}
+        //     successMessage=''
+        //     onClick={() => {
+        //         baseFun.confirm('确认导出数据?',async() => {  exportExcelModel(formDetailData2,"capitaloccupymonitor")});
+        //     }}
+        //   >
+        //     导出
+        //   </SDButton>,
+        // ]}
+         actionRef={actionRef}
+         formRef={formRef}
+            />
+ </SDModal>
+           )
+
+           }
+          
+
+       </SDPage>
+            )
+  }
+  export default multidimensionalcreditrisk1;

+ 25 - 20
Procedure/frontend/projectb/src/services/rwa/product/internal/capitaloccupymonitor.ts

@@ -200,45 +200,46 @@ export type SubBranchListModel = {
   // 经营机构
   orgCode: string;
   // 期末资产余额合计
-  sumBalance: string;
+  sumBalance: number;
   // 资产余额(表内)
-  onBalance: string;
+  onBalance: number;
   // 资产余额(表外)
-  offBalance: string;
+  offBalance: number;
   // 月均资产余额
-  monthaverageBalance: string;
+  monthaverageBalance: number;
   // 期末本期余额合计
-  endoftermBalance: string;           
+  endoftermBalance: number;           
   // 本期余额(表内)
-  thistermOnBalance: string;
+  thistermOnBalance: number;
   // 本期余额(表外)
-  thistermOffBalance: string;
+  thistermOffBalance: number;
   // 月均本期余额
-  monthaverageThistermBalance: string;
+  monthaverageThistermBalance: number;
   // 期末减值准备
-  endoftermEcl: string;
+  endoftermEcl: number;
   // 期末减值准备(表内)
-  endoftermOnEcl: string;
+  endoftermOnEcl: number;
   // 期末减值准备(表外)
-  endoftermOffEcl: string;
+  endoftermOffEcl: number;
   // 期末风险暴露合计
-  endoftermSumEad: string;
+  endoftermSumEad: number;
   // 期末风险暴露(表内)
-  endoftermOnEad: string;
+  endoftermOnEad: number;
   // 期末风险暴露(表外)
-  endoftermOffEad: string;
+  endoftermOffEad: number;
   // 月均风险暴露
-  monthaverageEad: string;
+  monthaverageEad: number;
   // 期末风险加权资产合计
-  sumRwa: string;
+  sumRwa: number;
   // 期末风险加权资产(表内)
-  onRwa: string;
+  onRwa: number;
   // 期末风险加权资产(表外)
-  offRwa: string;
+  offRwa: number;
   // 月均风险加权资产
-  monthaverageRwa: string;
+  monthaverageRwa: number;
   // 缓释后平均风险权重(%)
-  averageRiskWeight: string;
+  averageRiskWeight: number;
+  key:string;
 
 } & BasePageModel;
 
@@ -252,6 +253,10 @@ export async function getDetailDataList(body:CapitalOccupyMonitorModel) {
   return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/CapitalOccupyMonitorAction/getDetailDataList.do',{data: body});
 }
 
+/** 获取页面初始化及条件查询 POST*/
+export async function getDetailDataList1(body:CapitalOccupyMonitorModel,sDate:string,eDate:string) {
+  return baseFun.request<SubBranchListModel[]>('/api/product/rwa/internal/CapitalOccupyMonitorAction/getDetailDataList1.do',{data: body, params:{sDate,eDate}});
+}
 
 /** 全部导出 */
 export async function exportExcelModel(body:any,fileName:string) {

+ 1 - 1
Procedure/frontend/projectb/src/services/rwa/product/internal/corporateloanscustomerstop10.ts

@@ -181,7 +181,7 @@ export async function getDataList(body:CorporateLoansCustomersModel) {
 
 /** 获取页面初始化及条件查询 POST*/
 export async function getDetailDataList(body:CorporateLoansCustomersModel) {
-  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/CapitalOccupyMonitorAction/getDetailDataList.do',{data: body});
+  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/CorporateLoansCustomersAction/getDetailDataList.do',{data: body});
 }
 
 

+ 76 - 59
Procedure/frontend/projectb/src/services/rwa/product/internal/multidimensionalcreditrisk.ts

@@ -18,125 +18,130 @@ export type MultiDimensionalCreditRiskModel = {
     // 债项编号
     loanReferenceNo: string;
     // 合同编号
-    contNo: string;
+    contractNo: string;
     // 经营机构
-    mgmtBranchNo: string;
+    manageOrgnNo: string;
     // 客户编号
-    custNo: string;
+    clientNo: string;
     // 客户名称
-    custName: string;
+    clientName: string;
     // 交易对手大类
-    busType: string;
+    tradeCntrptyDivision: string;
     // 是否小微企业
-    micro: string;
+    smallandmicro: string;
     // 是否中小企业
-    medium: string;
+    smallandmedium: string;
     // 是否监管零售
-    regulatoryRetail: string;
+    regulatedretail: string;
     // 产品大类
-    productType: string;
+    prodType: string;
     // 产品名称
-    productName: string;
+    prodName: string;
     // 表内外标识
-    onOffFlag: string;
+    onbalshOffbalshFlag: string;
     // 贴现类型
-    discType: string;
+    discountingType: string;
     // 票据类型
-    vouchTypeCd: string;
+    billType: string;
     // 是否我行承兑
-    isMybankSetFlag: string;
+    ifSelfbankAcceptance: string;
     // 承兑人
-    acceptorNo: string;
+    acceptorClientNo: string;
     // 承兑人客户名
-    acceptorName: string;
+    acceptorClientName: string;
     // 证券类型
-    secTypeCd: string;
+    securityType: string;
     // 一般专项标志
-    purposeFlag: string;
+    generalSpecialFlag: string;
     // 币种
-    ccyCd: string;
+    ccy: string;
     // 生效日
-    startDt: string;
+    effectDate: string;
     // 到期日
-    matDt: string;
+    expiryDate: string;
     // 原始期限(月)
-    originalTerm: string;
+    origTerm: string;
     // 剩余期限(月)
-    residualterm: string;
+    residualTerm: string;
     // 五级分类
-    fiveClassCd: string;
+    fiveClass: string;
     // 逾期天数(天)
     overdueDays: string;
     // 投向行业
-    investIndustryCd: string;
+    industryInvestClass: string;
     // 质押买断类型
-    zhiyaMaiduanCd: string;
+    pledgeBuyoutType: string;
     // 回购类型
-    repoTypeCd: string;
+    repoType: string;
     // 回购期限(天)
-    repoDays: string;
+    repoTerm: string;
     // 债券代码
-    billNo: string;
+    bondCode: string;
     // 核心市场参与者标识
-    coreMarketPartFlag: string;
+    coreMarketParticipantFlag: string;
     // 资产余额
-    balance: string;
+    assetBal: number;
     // 本金科目号
-    glAccountId: string;
+    prinAccountNo: string;
     // 应收利息
-    recInt: string;
+    receivableInt: number;
     // 应收利息科目号
-    recIntAccount: string;
+    receivableIntAccountNo: string;
     // 应计利息
-    accrInt: string;
+    accrInt: number;
     // 应计利息科目号
-    accrIntAccount: string;
+    accrIntAccountNo: string;
     // 利息调整
-    intAdj: string;
+    intAdj: number;
     // 利息调整科目号
-    intAdjAccount: string;
+    intAdjAccountNo: string;
     // 公允价值变动
-    fairValueChange: string;
+    fairValueChange: number;
     // 公允价值变动科目号
-    fairValAccount: string;
+    fairValueChangeAccountNo: string;
     // 手续费
-    chargeFee: string;
+    charge: number;
     // 手续费科目号
-    chargeFeeAccount: string;
+    chargeAccountNo: string;
     // 所属条线
-    busLine: string;
+    belongLine: string;
     // 承诺类型
-    commType: string;
+    commitmentType: number;
     // 计提准备金
-    reserve: string;
+    provisionReserve: string;
     // 准备金科目号
-    reserveAccount: string;
+    reserveAccountNo: string;
     // 本期余额
-    balanceAll: string;
+    thisBalance: number;
     // 缓释覆盖部分的风险暴露-现金类资产(0%)
-    cashRisk: string;
+    coverageRisk0: number;
     // 缓释覆盖部分的风险暴露-我国中央政府(0%)
-    governmentRisk: string;
+    coverageRisk1: number;
     // 缓释覆盖部分的风险暴露-我国开发性金融机构和政策性银行(0%)
-    financeRisk: string;
+    coverageRisk2: number;
     // 缓释覆盖部分的风险暴露-境内外商业银行(短期)(20%)
-    dfBank: string;
+    coverageRisk3: number;
     // 缓释覆盖部分的风险暴露-境内商业银行(0%)
-    dBank: string;
+    coverageRisk4: number;
     // 缓释覆盖部分的风险暴露-其他缓释类型
-    otherRiskSum: string;
+    coverageRisk5: number;
     // 未缓释风险暴露
-    unfinishEad: string;
+    unfinishEad: number;
+    // 表外项目分类
+    offbalshProjectName: string;
+    // CCF
+    ccf : string;
     // 风险暴露分类(系统认定)
-    riskExposureCode: string;
+    riskExposeClassRecognizedResult: string;
     // 风险权重%(系统认定)
-    loanWeight: string;
+    debtitemRiskWeight: string;
     // 风险暴露分类(人工认定)
     riskExposureCodeArtificial: string;
     // 风险权重%(人工认定)
     loanWeightArtificial: string;
     // 风险加权资产
-    rwa: string;
+    rwa: number;
+    key:string;
 }
 
 
@@ -151,10 +156,14 @@ export async function getDetailDataList(body:MultiDimensionalCreditRiskModel) {
   return baseFun.request<MultiDimensionalCreditRiskModel[]>('/api/product/rwa/internal/MultiDimensionalCreditRiskAction/getDetailDataList.do',{data: body});
 }
 
+export async function selectname(riskExposureCodeArtificial:string) {
+  return baseFun.request<any>('/api/product/rwa/internal/MultiDimensionalCreditRiskAction/selectname.do',{params: {riskExposureCodeArtificial}});
+}
+
 
 /** 全部导出 */
-export async function exportExcelModel(body:any,fileNameCode:string) {
-  const url = "/api/product/rwa/internal/MultiDimensionalCreditRiskAction/exportExcelModel.do?fileNameCode="+fileNameCode;
+export async function exportExcelModel(body:any,fileName:string) {
+  const url = "/api/product/rwa/internal/MultiDimensionalCreditRiskAction/exportExcelModel.do?fileName="+fileName;
   return baseFun.download(url,body);
 }
 
@@ -165,3 +174,11 @@ export async function isNotExist(body: MultiDimensionalCreditRiskModel) {
       data: body,
     });
 }
+
+export async function getselect(loanReferenceNo:string,term:string) {
+  return baseFun.request<any>('/api/product/rwa/internal/MultiDimensionalCreditRiskAction/getselect.do',{params: {loanReferenceNo,term}});
+}
+
+export async function update(body:MultiDimensionalCreditRiskModel) {
+  return baseFun.request<any>('/api/product/rwa/internal/MultiDimensionalCreditRiskAction/update.do',{ data: body,});
+}

+ 1 - 1
Procedure/frontend/projectb/src/services/rwa/product/internal/productcreditriskcapitaloccupy.ts

@@ -175,7 +175,7 @@ export async function getDataList(body:ProductCreditRiskListModel) {
 
 /** 获取页面初始化及条件查询 POST*/
 export async function getDetailDataList(body:ProductCreditRiskListModel) {
-  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/CapitalOccupyMonitorAction/getDetailDataList.do',{data: body});
+  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/ProductCreditRiskListAction/getDetailDataList.do',{data: body});
 }
 
 

+ 1 - 1
Procedure/frontend/projectb/src/services/rwa/product/internal/producttypecreditriskcapitaloccupy.ts

@@ -175,7 +175,7 @@ export async function getDataList(body:ProductTypeCreditRiskListModel) {
 
 /** 获取页面初始化及条件查询 POST*/
 export async function getDetailDataList(body:ProductTypeCreditRiskListModel) {
-  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/CapitalOccupyMonitorAction/getDetailDataList.do',{data: body});
+  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/ProductTypeCreditRiskListAction/getDetailDataList.do',{data: body});
 }
 
 

+ 1 - 1
Procedure/frontend/projectb/src/services/rwa/product/internal/withintablecorporateloans.ts

@@ -179,7 +179,7 @@ export async function getDataList(body:CorporateLoansListModel) {
 
 /** 获取页面初始化及条件查询 POST*/
 export async function getDetailDataList(body:CorporateLoansListModel) {
-  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/CapitalOccupyMonitorAction/getDetailDataList.do',{data: body});
+  return baseFun.request<detailInfoListModel[]>('/api/product/rwa/internal/WithinTableCorporateLoansAction/getDetailDataList.do',{data: body});
 }