Forráskód Böngészése

总账勾稽功能

zhang_qk 6 hónapja
szülő
commit
33bbcf26e0

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

@@ -96,7 +96,12 @@ export default defineConfig({
    { path: '/govFinancialAssetComp' , component: './rdpMng/Template/Coding/components/govFinancialAssetComp' },
    { path: '/faGlBalanceSheet' , component: './rdpMng/Template/Coding/components/faGlBalanceSheet' },
    { path: '/itItfRate' , component: './rdpMng/Template/Coding/components/itItfRate' },
-   
+   { path: '/result_list' , component: './rwa_data_check/result_list' },
+   { path: '/diffconfig_list' , component: './rwa_data_check/diffconfig_list' },
+
+   { path: '/GuaranteeTable' , component: './project/dataquality/GuaranteeTable' },
+
+
    
   // 解析
   { path: '/rdp/rdpAnalysis/analTemplate/query/:prodCode', component: './rdpMng/Template/QueryList/queryList' },

+ 70 - 11
Procedure/frontend/projectb/src/pages/rdpMng/Template/Coding/components/fcCommitment.tsx

@@ -145,29 +145,51 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         order:-6,
         width:150,  
       },
-	  {
+      {
         title  : '承诺类型',
+        dataIndex : 'commTypeId',
+        //  hideInTable: true,
+       // search: false,
+        order:-6,
+        width:150,  
+      },
+	  {
+        title  : '承诺类型代码',
         dataIndex : 'commType',
         //  hideInTable: true,
        // search: false,
         order:-9,
-        valueType:'treeSelect',
-        request:()=>fetchDict('COMMITMENT_TYPE'),
-        fieldProps:{
-          treeDefaultExpandAll:true,
-          treeCheckable:true,
-        },
+        // valueType:'treeSelect',
+        // request:()=>fetchDict('COMMITMENT_TYPE'),
+        // fieldProps:{
+        //   treeDefaultExpandAll:true,
+        //   treeCheckable:true,
+        // },
         width:150,  
       },
-	   {
+      {
         title  : '表内外标识',
+        dataIndex : 'onOffFlagId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
+	   {
+        title  : '表内外标识代码',
         dataIndex : 'onOffFlag',
         //  hideInTable: true,
         search: false,
         width:150,  
       },
-	  {
+      {
         title  : '账簿类型',
+        dataIndex : 'bookTypeCdId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
+	  {
+        title  : '账簿类型代码',
         dataIndex : 'bookTypeCd',
         //  hideInTable: true,
         search: false,
@@ -194,8 +216,16 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
       },
+      {
+        title  : '财务机构名称',
+        dataIndex : 'orgname1',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
+    
 	  {
-        title  : '经营机构',
+        title  : '经营机构编号',
         dataIndex : 'mgmtBranchNo',
         //  hideInTable: true,
         //search: false,
@@ -208,6 +238,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         order:-7,
         width:150,  
       },
+      {
+        title  : '经营机构名称',
+        dataIndex : 'orgname2',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
+    
 	  {
         title  : '核心客户号',
         dataIndex : 'bpCustNo',
@@ -232,8 +270,29 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         order:-5,
         width:150,  
       },
-	  {
+      {
+        title  : '客户种类',
+        dataIndex : 'custTypeId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
+      {
+        title  : '客户种类代码',
+        dataIndex : 'custType',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
+      {
         title  : '所属条线',
+        dataIndex : 'busLineId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
+	  {
+        title  : '所属条线代码',
         dataIndex : 'busLine',
         //  hideInTable: true,
         //search: false,

+ 103 - 3
Procedure/frontend/projectb/src/pages/rdpMng/Template/Coding/components/fcLoan.tsx

@@ -59,6 +59,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
          
+      },
+      { 
+        title  : '币种',
+        dataIndex : 'ccyCdId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
       },
       
       
@@ -190,6 +198,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
          
+      },
+      { 
+        title  : '五级分类代码',
+        dataIndex : 'fiveClassCdId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
       },
       { 
         title  : '五级分类',
@@ -215,6 +231,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         width:150,  
         order:-8 
       },
+      { 
+        title  : '表内外标识代码',
+        dataIndex : 'onOffFlagId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
+      },
       { 
         title  : '表内外标识',
         dataIndex : 'onOffFlag',
@@ -222,6 +246,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
          
+      },
+      { 
+        title  : '账簿类型代码',
+        dataIndex : 'bookTypeCdId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
       },
         { 
         title  : '账簿类型',
@@ -230,6 +262,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
          
+      },
+      { 
+        title  : '行业投向门类代码',
+        dataIndex : 'investIndustryCdId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
       },
       { 
         title  : '行业投向门类',
@@ -245,6 +285,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         },
         order:-10
       },
+      { 
+        title  : '行业投向大类代码',
+        dataIndex : 'investIndustryCd1Id',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
+      },
       { 
         title  : '行业投向大类',
         dataIndex : 'investIndustryCd1',
@@ -252,6 +300,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
          
+      },
+      { 
+        title  : '行业投向中类代码',
+        dataIndex : 'investIndustryCd2Id',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
       },
       { 
         title  : '行业投向中类',
@@ -260,6 +316,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
          
+      },
+      { 
+        title  : '行业投向子类代码',
+        dataIndex : 'investIndustryCd3Id',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
       },
       { 
         title  : '行业投向子类',
@@ -277,6 +341,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         width:150,  
          
       },
+     
+      {
+        title  : '账务机构名称',
+        dataIndex : 'orgname1',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+      },
       { 
         title  : '经营机构',
         dataIndex : 'mgmtBranchNo',
@@ -290,6 +362,13 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
           treeCheckable:true,
         },
         order:-7 
+      },
+      {
+        title  : '经营机构名称',
+        dataIndex : 'orgname2',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
       },
         { 
         title  : '核心客户号',
@@ -316,6 +395,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         width:150,  
         order:-5
       },
+      { 
+        title  : '客户类型代码',
+        dataIndex : 'custTypeId',
+        //  hideInTable: true,
+       // search: false,
+        width:150,  
+        order:-5
+      },
       { 
         title  : '客户类型',
         dataIndex : 'custType',
@@ -330,6 +417,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         },
         order:-6 
       },
+      { 
+        title  : '房地产开发项目类型代码',
+        dataIndex : 'propDevelProjTypeCdId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
+      },
       { 
         title  : '房地产开发项目类型',
         dataIndex : 'propDevelProjTypeCd',
@@ -376,6 +471,14 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         search: false,
         width:150,  
          
+      },
+      { 
+        title  : '跨境货物贸易标志代码',
+        dataIndex : 'domDocFlagId',
+        //  hideInTable: true,
+        search: false,
+        width:150,  
+         
       },
       { 
         title  : '跨境货物贸易标志',
@@ -385,9 +488,6 @@ const fcOffSheetts: React.FC<aaa>= (prop : aaa) => {
         width:150,  
          
       },
-
-
-
         { 
         title  : '计算实例号',
         dataIndex : 'calcindex',

+ 401 - 0
Procedure/frontend/projectb/src/pages/rwa_data_check/diffconfig_list.tsx

@@ -0,0 +1,401 @@
+import React, { useEffect, useRef, useState } from 'react';
+import { Button, Form, FormInstance, Input, Space, Tooltip, Upload } from 'antd';
+import { ActionType, ProColumns, ProFormInstance } from '@ant-design/pro-components';
+import { baseFun, EditType, SDAreaTtile, SDButton, SDForm, SDFormDict, SDFormSearch, SDFormText, SDLayout, SDModal, SDModalForm, SDOperate, SDPage, SDSubmitButton, SDTable, validateFun } from '@sundata/ui-frame';
+import { diffconfig_deleteone, difftoleranceModel, rule_list, rule_list1, rule_querylist, rule_queryone } from '@/services/rwa/diffconfig_list';
+import { useModel } from '@umijs/max';
+import { WomanOutlined } from '@ant-design/icons';
+import { RuleObject } from 'antd/lib/form';
+import { resultListModel } from '@/services/rwa/result_list';
+import Footer from '@/components/Footer';
+
+type aaa = {
+    lowerLimit ?:any;
+    upperLimit ?:any;
+    ruleAreaType ?:any;
+    onCancel:  () => void;
+    onChangeVisible(visible: boolean, type: string): unknown;
+    onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
+    formRef: React.MutableRefObject<ProFormInstance<any> | undefined>;
+  }
+const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
+    var formDataList = new Array<difftoleranceModel>;
+    var formDataList1 = new Array<resultListModel>;
+
+    const [windowProps, setWindowProps] = useState<{
+      //selectedRowKeys: React.Key[];
+      selectedRows: resultListModel[];
+    }>({ selectedRows: [] });
+
+    const [visible,setVisible] = useState<boolean>(false);//弹窗是否显示
+    const [visible1,setVisible1] = useState<boolean>(false);//弹窗是否显示
+    const [visible2,setVisible2] = useState<boolean>(false);//弹窗是否显示
+    const formRef = useRef<FormInstance<any>>();
+    const [editType, setEditType] = useState<EditType>('update');
+
+      /** 当前行对象,查看详情、修改时,作为详细信息表单的查询条件 */
+    const [currentRow, setCurrentRow] = useState<difftoleranceModel>();
+
+    const actionRef = useRef<ActionType>();
+    const { fetchDict } = useModel('dict');   
+
+    const selectdata = async (record:any)=>{
+        const sd =await rule_queryone(record.ruleId);
+         formRef.current?.setFieldsValue(sd);
+    }
+
+    
+    const deldata = async (record:any)=>{
+        baseFun.confirm("请确认是否继续操作",async()=>{
+            await diffconfig_deleteone(record.ruleId);
+        })
+    }
+
+    
+    const closeAndRefresh = ()=>{
+        setVisible(false);
+        actionRef.current?.reloadAndRest?.();
+      }
+
+      const upperLimit =(_?: RuleObject, value?: any)=>{
+
+      }
+      const inst =  async(formData : resultListModel) => {
+        setEditType('create')
+       const ResultList =await rule_addone(formData)  
+       if("规则编号已重复,请重新输入"===ResultList){
+        baseFun.warning(ResultList);
+       }else{
+        baseFun.info(ResultList);
+       closeAndRefresh();
+       }
+      
+      }
+    const columns: ProColumns<difftoleranceModel>[] = [
+        { title : '计算实例号',
+        dataIndex : 'calcindex',
+        search:false,
+        hideInTable: true,
+        width : 150
+        },
+        
+        { title : '起始数据日期',
+        dataIndex : 'sdate',
+        search:false,
+        hideInTable: true,
+        width : 150
+        },
+        
+        { title : '截止数据日期',
+        dataIndex : 'edate',
+        search:false,
+        hideInTable: true,
+        width : 150
+        },
+        
+        { title : '年月',
+        dataIndex : 'term',
+        search:false,
+        hideInTable: true,
+        width : 150
+        },
+        
+        { title : '数据日期',
+        dataIndex : 'dataDate',
+        search:false,
+        hideInTable: true,
+        width : 150
+        },
+        
+        { title : '规则编号',
+        dataIndex : 'ruleNo',
+        width : 150
+        },
+        
+        { title : '规则名称',
+        dataIndex : 'ruleName',
+        width : 150
+        },
+        
+        { title : '容忍度下限%',
+        dataIndex : 'upperLimit',
+        search:false,
+        width : 150
+        },
+        
+        { title : '容忍度上限%',
+        dataIndex : 'lowerLimit',
+        search:false,
+        width : 150
+        },
+        
+        { title : '区间开闭类型',
+        dataIndex : 'intervalType',
+        search:false,
+        width : 150
+        },
+        
+        { title : '适用范围类型',
+        dataIndex : 'ruleAreaType',
+        search:false,
+        hideInTable: true,
+        width : 150
+        },
+        {
+            title: '操作',
+            dataIndex: 'operate',
+            valueType: 'option',
+            render: (_, record) => [
+              <SDOperate
+                key="roleCfg"
+                icon={<WomanOutlined />}
+                successMessage=""
+                
+                onClick={()=>{ 
+                    selectdata(record);
+                setVisible(true);
+                setEditType('update')
+                 } }
+              >
+                修改
+              </SDOperate>,
+        
+             <SDOperate
+             key="roleCfg"
+             icon={<WomanOutlined />}
+             successMessage=""
+             onClick={()=>{ 
+              deldata(record);
+              closeAndRefresh();
+              } }
+           >
+            删除
+           </SDOperate>,
+    ]}
+    ]
+
+    const columns1: ProColumns<resultListModel>[] = [
+        { title : '规则编号',
+        dataIndex : 'ruleId',
+        width : 150
+        },
+        { title : '科目代码',
+        dataIndex : 'glCode',
+        width : 150
+        },
+        
+        { title : '科目名称',
+        dataIndex : 'subjectDesc',
+        width : 150
+        },
+        
+
+    ]
+
+    const columns2: ProColumns<difftoleranceModel>[] = [
+      { title : '规则编号',
+      dataIndex : 'ruleId',
+      search:false,
+      width : 150
+      },
+      { title : '科目代码',
+      dataIndex : 'glCode',
+      width : 150
+      },
+      
+      { title : '科目名称',
+      dataIndex : 'subjectDesc',
+      width : 150
+      },
+      
+      { title : '科目性质',
+      dataIndex : 'subjectNature',
+      valueType:'select',
+      request: () => fetchDict('SUBJECT_DESC'),//码值后续添加
+      width : 150
+      },
+      { title : '表内外标识',
+      dataIndex : 'onoroff',
+      valueType:'select',
+      request: () => fetchDict('ONOROFF'),//码值后续添加
+      width : 150
+      },
+    ]
+    const aa=async()=>{
+      
+    }
+
+    
+
+    return(
+        <SDPage>
+            <SDTable
+      rowKey="custName"
+      request={async(formData : difftoleranceModel)=>{
+        const sd = await rule_querylist(formData);
+        formDataList =[...sd];
+        return {data :sd };
+      }}
+      columns={columns}
+     //  singleSelect={false}
+   //  operations={["create"]}
+      //displayColumn="custName"
+     formRef={formRef}
+     //handleRemove={deletedata}
+      toolBarRender={(_, { selectedRows }) => [
+        <SDButton
+        key="create"
+        successMessage=''
+        onClick={() => {
+          setVisible(true);
+          setEditType('create');
+        }}
+        >
+          新增
+        </SDButton>
+      ]} 
+      />
+      {visible &&(
+        
+      <SDModalForm title={''} visible={visible} editType={editType} onVisibleChange={() => { setVisible(false);}
+    } 
+    footer={[<SDSubmitButton  editType={editType}   formRef={formRef} successMessage="" doSubmit={inst} >保存</SDSubmitButton>,
+    <SDButton     successMessage="" onClick={()=>closeAndRefresh()} >关闭</SDButton>
+  ]}
+      >
+      <SDAreaTtile title='差异容忍度规则新增'/>
+      {
+        <SDForm editType={editType} formRef={formRef} onValuesChange={(changedValues,Values)=>{
+            if(Values.upperLimit!="" && Values.lowerLimit!="" && Values.upperLimit!=undefined && Values.lowerLimit!=undefined){
+              const  upperLimit =Values.upperLimit;
+              const  lowerLimit =Values.lowerLimit;
+              if(lowerLimit<upperLimit){
+                if(Object.keys(changedValues).toString()=="lowerLimit"){
+                    baseFun.warning("忍度上限要大于等于容忍度下限")
+                }
+                if(Object.keys(changedValues).toString()=="upperLimit"){
+                    baseFun.warning("忍度下限要小于等于容忍度上限")
+                }
+               
+              }
+            }
+            if(Values.ruleAreaType=='05'){
+                setVisible2(true)
+            }else{
+                setVisible2(false)
+            }
+        }
+    }
+        >
+        <SDFormText name="ruleNo"   label="规则编号"  />
+        <SDFormText name="ruleName"   label="规则名称"  />
+        <SDFormText name="upperLimit"   label="容忍度下限%"  />
+        <SDFormText name="lowerLimit"   label="容忍度上限%"  />
+        <SDFormDict name="intervalType"   label="区间开闭类型"  dictKey='limitinterval'/>
+        <SDFormDict name="ruleAreaType"   label="适用范围类型" dictKey='RULE_AREA_TYPE' />
+        </SDForm>
+      }
+      <SDAreaTtile title='总分勾稽规则列表'  />
+      <SDLayout>
+        <SDTable 
+        rowKey="custName"
+        search={false} 
+        request={async(formData : resultListModel)=>{
+          const sd = await rule_list(formData);
+          formDataList1 =[...sd];
+          return {data :sd };
+        }}
+        columns={columns1}
+
+       //  singleSelect={false}
+     //  operations={["create"]}
+       // displayColumn="custName"
+       actionRef={actionRef}
+       formRef={formRef}
+       //handleRemove={deletedata}
+        setEditType={setEditType}
+        setDetailVisible={setVisible} 
+        toolBarRender={() => {
+            if(visible2){
+                return[  <SDButton
+                key="create"
+                successMessage=''
+                icon={<WomanOutlined />}
+                onClick={() => {
+                  setVisible1(true);
+                  setEditType('create');
+                }}
+                >
+                  新增
+                </SDButton>,
+                <SDButton
+                key="create"
+                successMessage=''
+                icon={<WomanOutlined />}
+                onClick={() => {
+                    console.log(prop.formRef)
+                }}
+                >
+                  删除
+                </SDButton>
+
+           ] }else{return []}
+         
+        } }
+        />
+      </SDLayout>
+      {visible1 &&(
+        <SDModalForm title={''} visible={visible1} editType={editType} onVisibleChange={() => { setVisible1(false);}
+      } >
+        <SDLayout>
+            <SDTable
+            rowKey="custName"
+            request={async(formData : resultListModel)=>{
+              const sd = await rule_list1(formData);
+              formDataList1 =[...sd];
+              return {data :sd };
+            }}
+            columns={columns2}
+           //  singleSelect={false}
+         //  operations={["create"]}
+            //displayColumn="custName"
+           actionRef={actionRef}
+           formRef={formRef}
+           //handleRemove={deletedata}
+           // setEditType={setEditType}
+            setDetailVisible={setVisible1} 
+            singleSelect={false}
+            
+            toolBarRender={() => {
+              
+              return [
+                <SDButton
+                key="create"
+                successMessage=''
+                icon={<WomanOutlined />}
+                onClick={() => {
+                }}
+                >
+                  选择
+                </SDButton>,
+
+              ]
+            }
+          }
+            />
+            </SDLayout>
+            </SDModalForm>
+      )
+
+      }
+
+
+
+      </SDModalForm>
+
+      )}
+        </SDPage>
+
+    );
+}
+export default diffconfig_list;

+ 345 - 0
Procedure/frontend/projectb/src/pages/rwa_data_check/result_list.tsx

@@ -0,0 +1,345 @@
+import React, { useEffect, useRef, useState } from 'react';
+import { Button, Form, FormInstance, Input, Space, Tooltip, Upload } from 'antd';
+import { ActionType, ProColumns, ProFormInstance } from '@ant-design/pro-components';
+import { baseFun, EditType, SDButton, SDFormDict, SDFormSearch, SDFormText, SDModal, SDModalForm, SDOperate, SDPage, SDSubmitButton, SDTable, validateFun } from '@sundata/ui-frame';
+import {  rule_list, rule_addone, resultListModel, rule_queryone, selectsubjectNature, updateResultList } from '@/services/rwa/result_list';
+import { useModel } from '@umijs/max';
+import { WomanOutlined } from '@ant-design/icons';
+
+type aaa = {
+    glCode ?:any;
+    subjectNature ?:any;
+    onCancel:  () => void;
+    onChangeVisible(visible: boolean, type: string): unknown;
+    onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
+    formRef: React.MutableRefObject<ProFormInstance<any> | undefined>;
+  }
+const result_list: React.FC<aaa>= (prop : aaa) => {
+    
+    var formDataList = new Array<resultListModel>;
+    const [visible,setVisible] = useState<boolean>(false);//弹窗是否显示
+    const formRef = useRef<FormInstance<any>>();
+    const [editType, setEditType] = useState<EditType>('update');
+
+      /** 当前行对象,查看详情、修改时,作为详细信息表单的查询条件 */
+    const [currentRow, setCurrentRow] = useState<resultListModel>();
+
+    const actionRef = useRef<ActionType>();
+    const { fetchDict } = useModel('dict');
+    const tableActionRef = useRef<ActionType>();
+
+    const [onoroff1,setOnoroff] =useState<Boolean>(false);
+
+    const closeAndRefresh = ()=>{
+        setVisible(false);
+        actionRef.current?.reloadAndRest?.();
+      }
+    
+
+    const selectdata = async (record:any)=>{
+        const sd =await rule_queryone(record.ruleId);
+         formRef.current?.setFieldsValue(sd);
+    }
+
+    const disdata = async (record:any)=>{
+        const sd =await rule_queryone(record.ruleId);
+        console.log(sd);
+        formRef.current?.setFieldsValue(sd);
+     }
+     const inst =  async(formData : resultListModel) => {
+        setEditType('create')
+       const ResultList =await rule_addone(formData)  
+       if("规则编号已重复,请重新输入"===ResultList){
+        baseFun.warning(ResultList);
+       }else{
+        baseFun.info(ResultList);
+       closeAndRefresh();
+       }
+      
+      }
+      const state =async(record:any)=>{
+        baseFun.confirm("请确实是否继续操作" ,async()=>{
+         await updateResultList(record.ruleId) 
+         closeAndRefresh();
+       })
+     }
+     
+
+    const columns: ProColumns<resultListModel>[] = [
+{ title : '计算实例号',
+dataIndex : 'calcindex',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '起始数据日期',
+dataIndex : 'sdate',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '截止数据日期',
+dataIndex : 'edate',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '年月',
+dataIndex : 'term',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '数据日期',
+dataIndex : 'dataDate',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '规则编号',
+dataIndex : 'ruleId',
+width : 150
+},
+
+{ title : '规则名称',
+dataIndex : 'ruleName',
+width : 150
+},
+
+{ title : '科目代码',
+dataIndex : 'glCode',
+width : 150
+},
+
+{ title : '科目名称',
+dataIndex : 'subjectDesc',
+width : 150
+},
+
+{ title : '科目性质',
+dataIndex : 'subjectNature',
+search:false,
+width : 150
+},
+
+{ title : '科目状态',
+dataIndex : 'subjectState',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '表内外标识',
+dataIndex : 'onoroff',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '记账方向',
+dataIndex : 'accountingDirection',
+search:false,
+width : 150
+},
+
+{ title : '计算方式',
+dataIndex : 'calcMethod',
+search:false,
+width : 150
+},
+
+{ title : '正差异风险暴露分类',
+dataIndex : 'positiveRiskType',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '负差异风险暴露分类',
+dataIndex : 'negativeRiskType',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '正差异表外项目分类',
+dataIndex : 'positiveOffProjectType',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '负差异表外项目分类',
+dataIndex : 'negativeOffProjectType',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '所属阶段',
+dataIndex : 'stageinId',
+search:false,
+hideInTable: true,
+width : 150
+},
+
+{ title : '总账取数规则',
+dataIndex : 'subjectSql',
+hideInTable: true,
+search:false,
+width : 150
+},
+
+{ title : '勾稽明细取数规则',
+dataIndex : 'productSql',
+search:false,
+hideInTable: true,
+width : 150
+},
+{ title : '状态',
+dataIndex : 'yesorno',
+search:false,
+width : 150
+},
+{
+    title: '操作',
+    dataIndex: 'operate',
+    valueType: 'option',
+    render: (_, record) => [
+
+      <SDOperate
+        key="roleCfg"
+        icon={<WomanOutlined />}
+        successMessage=""
+        
+        onClick={()=>{ 
+            selectdata(record);
+        setVisible(true);
+        setEditType('update')
+         } }
+      >
+        修改
+      </SDOperate>,
+
+     <SDOperate
+     key="roleCfg"
+     icon={<WomanOutlined />}
+     successMessage=""
+     onClick={()=>{ 
+      disdata(record);
+      closeAndRefresh();
+     setVisible(true);
+     setEditType('display')
+      } }
+   >
+     查看
+   </SDOperate>,
+   <span style={record?.yesorno==="作废" ? {display:'none'}: {}}>
+   <SDOperate
+   key="roleCfg"
+   icon={<WomanOutlined />}
+   successMessage=""
+   onClick={()=>{ 
+    state(record);
+    } }
+ >
+   作废
+ </SDOperate>,
+ </span>
+    ],
+  },
+ ]
+    return(
+        <SDPage>
+         <SDTable
+      title="查询表格"
+      rowKey="custName"
+      request={async(formData : resultListModel)=>{
+        const sd = await rule_list(formData);
+        formDataList =[...sd];
+        return {data :sd };
+      }}
+      columns={columns}
+     //  singleSelect={false}
+   //  operations={["create"]}
+      //displayColumn="custName"
+     actionRef={actionRef}
+     formRef={formRef}
+     //handleRemove={deletedata}
+      setCurrentRow={setCurrentRow}
+      setEditType={setEditType}
+      setDetailVisible={setVisible} 
+      toolBarRender={(_, { selectedRows }) => [
+        <SDButton
+        key="create"
+        successMessage=''
+        onClick={() => {
+          setVisible(true);
+          setOnoroff(true);
+          setEditType('create');
+        }}
+        >
+          新增
+        </SDButton>
+      ]} 
+      />
+      { visible &&(
+      <SDModalForm  
+      visible={visible}
+      //rowKey="custName" 
+      editType={editType} 
+
+      //request={selectdata1}
+      //params={setDataSource}
+      onVisibleChange={() => { setVisible(false);
+      }}
+      initialValues={{glCode:prop.glCode,subjectNature:prop.subjectNature,editType:setEditType}}
+      footer={[<SDSubmitButton  editType={editType}   formRef={formRef} successMessage="" doSubmit={inst} >保存</SDSubmitButton>,
+    <SDButton     successMessage="" onClick={()=>closeAndRefresh()} >关闭</SDButton>
+  ]}
+      formRef={formRef}
+      onValuesChange={async (changedValues,Values) => {
+        if(Values.glCode!=undefined){    
+            const sd = await selectsubjectNature(Values.glCode);  
+            console.log(sd);
+          formRef.current?.setFieldValue('subjectDesc',sd)}
+          if(Values.subjectNature=="04"){
+            setOnoroff(false);
+          }else{
+            setOnoroff(true);
+          }
+
+        }
+      }
+       >
+<SDFormText name="ruleId"   label="规则编号"  max={20}/>
+<SDFormText name="ruleName"   label="规则名称"  max={60}  width={250}/>
+<SDFormDict  name="glCode"   label="科目代码" dictKey='org' />
+<SDFormText name="subjectDesc"   label="科目名称"   readonlyCond='both' />
+<SDFormDict name="subjectNature"   label="科目性质"  dictKey='SUBJECT_DESC' />
+<SDFormDict name="onoroff"   label="表内外标识"  required={onoroff1} dictKey='ONOROFF'/>
+<SDFormDict name="accountingDirection"   label="记账方向"   dictKey='ACCOUNTING_DIRECTION'  />
+<SDFormDict name="calcMethod"   label="计算方式"  dictKey='CALC_METHOD'/>
+<SDFormDict name="positiveRiskType"   label="正差异风险暴露分类"  />
+<SDFormDict name="negativeRiskType"   label="负差异风险暴露分类"  />
+<SDFormDict name="positiveOffProjectType"   label="正差异表外项目分类"  />
+<SDFormDict name="negativeOffProjectType"   label="负差异表外项目分类"  />
+<SDFormDict name="stageinId"   label="所属阶段"  />
+<SDFormText name="subjectSql"   label="总账取数规则" type='textarea' />
+<SDFormText name="productSql"   label="勾稽明细取数规则"  type='textarea' />
+<div style={{display:"none"}}>
+<SDFormText name="yesorno"   label="状态"  />
+</div>
+      </SDModalForm>
+     )
+     }  
+        </SDPage>
+    );
+
+} 
+export default result_list;

+ 134 - 0
Procedure/frontend/projectb/src/services/rwa/diffconfig_list.ts

@@ -0,0 +1,134 @@
+import { baseFun } from "@sundata/ui-frame"
+
+//差异容忍度规则定义表
+export type difftoleranceModel={
+//计算实例号
+calcindex : String;
+//起始数据日期
+sdate : String;
+//截止数据日期
+edate : String;
+//年月
+term : String;
+//数据日期
+dataDate : String;
+//规则编号
+ruleNo : String;
+//规则名称
+ruleName : String;
+//容忍度下限%
+upperLimit : String;
+//容忍度上限%
+lowerLimit : String;
+//区间开闭类型
+intervalType : String;
+//适用范围类型
+ruleAreaType : String;
+
+}
+
+//差异容忍度适用范围表
+export type difftolerancerangeModel={
+//计算实例号
+calcindex : String;
+//起始数据日期
+sdate : String;
+//截止数据日期
+edate : String;
+//年月
+term : String;
+//数据日期
+dataDate : String;
+//规则编号
+ruleNo : String;
+//总分勾稽规则ID
+roleLedgercheckNo : String;
+
+}
+
+export type resultListModel={
+    //计算实例号
+calcindex : String;
+//起始数据日期
+sdate : String;
+//截止数据日期
+edate : String;
+//年月
+term : String;
+//数据日期
+dataDate : String;
+//规则编号
+ruleId : String;
+//规则名称
+ruleName : String;
+//总账科目号
+glCode : String;
+//科目名称
+subjectDesc : String;
+//科目性质
+subjectNature : String;
+//科目状态
+subjectState : String;
+//表内外标识
+onoroff : String;
+//记账方向(A:实际,D:借方,C:贷方)
+accountingDirection : String;
+//计算方式
+calcMethod : String;
+//正差异风险暴露分类
+positiveRiskType : String;
+//负差异风险暴露分类
+negativeRiskType : String;
+//正差异表外项目分类
+positiveOffProjectType : String;
+//负差异表外项目分类
+negativeOffProjectType : String;
+//所属阶段
+stageinId : String;
+//总账取数规则
+subjectSql : String;
+//勾稽明细取数规则
+productSql : String;
+//状态
+yesorno : String;
+}
+
+//总分勾稽规则列表
+export async function rule_list(body:any){
+    return baseFun.request<resultListModel[]>('/api/product/rwa/resultList/DiffconfigListAction/rule_list',{
+        data:body
+    })
+    ;
+}
+
+export async function rule_list1(body:any){
+    return baseFun.request<resultListModel[]>('/api/product/rwa/resultList/DiffconfigListAction/rule_list1',{
+        data:body
+    })
+    ;
+}
+
+//初始化
+export async function rule_querylist(body:any){
+    return baseFun.request<difftoleranceModel[]>('/api/product/rwa/resultList/DiffconfigListAction/rule_querylist',{
+        data:body
+    })
+    ;
+}
+
+//修改,查询
+export async function rule_queryone(ruleId :String){
+    return baseFun.request<difftoleranceModel[]>('/api/product/rwa/resultList/DiffconfigListAction/rule_queryone',{
+        params:{ruleId}
+    })
+    ;
+}
+
+//修改,查询
+export async function diffconfig_deleteone(ruleId :String){
+    return baseFun.request<string>('/api/product/rwa/resultList/DiffconfigListAction/rule_queryone',{
+        params:{ruleId}
+    })
+    ;
+}
+

+ 1 - 1
Procedure/frontend/projectb/src/services/rwa/faGlBalanceSheet.ts

@@ -38,5 +38,5 @@ export async function getFaGlBalanceSheet(body:any){
 
      /** 全部导出 */
      export async function exportExcelModel(fileName:string,body:any) {
-        return baseFun.request('/api/product/rwa/parameter/FaGlBalanceSheetAction/exportExcelModel.do?fileName='+fileName,body);
+        baseFun.download('/api/product/rwa/parameter/FaGlBalanceSheetAction/exportExcelModel.do?fileName='+fileName,body);
       }

+ 9 - 1
Procedure/frontend/projectb/src/services/rwa/fcCommitment.ts

@@ -55,6 +55,14 @@ bpCustNo : String ;
 busLine : String[] ; 
 //承诺类型
 commType : String[] ; 
+ccyCdId : String ; 
+commTypeId: String ; 
+onOffFlagId: String ; 
+bookTypeCdId: String ; 
+orgname1: String ; 
+orgname2: String ; 
+custTypeId: String ; 
+busLineId: String ; 
 
 }
 export async function getFcCommitment(body:any){
@@ -68,5 +76,5 @@ export async function getFcCommitment(body:any){
 }
      /** 全部导出 */
      export async function exportExcelModel(fileName:string,body:any) {
-        return baseFun.request('/api/product/rwa/parameter/FcCommitmentAction/exportExcelModel.do?fileName='+fileName,body);
+        baseFun.download('/api/product/rwa/parameter/FaGlBalanceSheetAction/exportExcelModel.do?fileName='+fileName,body);
       }

+ 18 - 4
Procedure/frontend/projectb/src/services/rwa/fcLoan.ts

@@ -79,6 +79,9 @@ export type FcLoanModel ={
      overdueDays : number ; 
      //五级分类
      fiveClassCd : String ; 
+     fiveClassCdId : String ; 
+       //币种
+       ccyCdId : String ; 
      //币种代码
      ccyCd : String ; 
      //发放金额
@@ -93,6 +96,17 @@ export type FcLoanModel ={
      openingBankno : String ; 
      //跨境货物贸易标志
      domDocFlag : String ; 
+     onOffFlagId: String ; 
+     bookTypeCdId: String ; 
+     investIndustryCdId: String ; 
+     investIndustryCd1Id: String ; 
+     investIndustryCd2Id: String ; 
+     investIndustryCd3Id: String ; 
+     custTypeId: String ; 
+     propDevelProjTypeCdId: String ; 
+     domDocFlagId: String ; 
+     orgname1 :String;
+     orgname2 :String;
 
 }
 export async function getFcLoan(body:any){
@@ -103,7 +117,7 @@ export async function getFcLoan(body:any){
     ;
 }
 
-     /** 全部导出 */
-     export async function exportExcelModel(fileName:string,body:any) {
-        return baseFun.request('/api/product/rwa/parameter/FcLoanAction/exportExcelModel.do?fileName='+fileName,body);
-      }
+    /** 全部导出 */
+    export async function exportExcelModel(fileName:string,body:any) {
+        baseFun.download('/api/product/rwa/parameter/FcLoanAction/exportExcelModel.do?fileName='+fileName,body);
+     }

+ 92 - 0
Procedure/frontend/projectb/src/services/rwa/result_list.ts

@@ -0,0 +1,92 @@
+import { baseFun } from "@sundata/ui-frame"
+
+export type resultListModel={
+    //计算实例号
+calcindex : String;
+//起始数据日期
+sdate : String;
+//截止数据日期
+edate : String;
+//年月
+term : String;
+//数据日期
+dataDate : String;
+//规则编号
+ruleId : String;
+//规则名称
+ruleName : String;
+//总账科目号
+glCode : String;
+//科目名称
+subjectDesc : String;
+//科目性质
+subjectNature : String;
+//科目状态
+subjectState : String;
+//表内外标识
+onoroff : String;
+//记账方向(A:实际,D:借方,C:贷方)
+accountingDirection : String;
+//计算方式
+calcMethod : String;
+//正差异风险暴露分类
+positiveRiskType : String;
+//负差异风险暴露分类
+negativeRiskType : String;
+//正差异表外项目分类
+positiveOffProjectType : String;
+//负差异表外项目分类
+negativeOffProjectType : String;
+//所属阶段
+stageinId : String;
+//总账取数规则
+subjectSql : String;
+//勾稽明细取数规则
+productSql : String;
+//状态
+yesorno : String;
+}
+
+//初始化
+export async function rule_list(body:any){
+    return baseFun.request<resultListModel[]>('/api/product/rwa/resultList/ResultListAction/rule_list',{
+        data:body
+    })
+    ;
+}
+
+
+//修改,查询
+export async function rule_queryone(ruleId :String){
+    return baseFun.request<resultListModel[]>('/api/product/rwa/resultList/ResultListAction/rule_queryone',{
+        params:{ruleId}
+    })
+    ;
+}
+
+//新增
+export async function rule_addone(body :resultListModel){
+    return baseFun.request<any>('/api/product/rwa/resultList/ResultListAction/rule_addone',{
+        data:body
+    // dats:modelcode
+    });
+}
+
+//校验唯一性
+export async function selectsubjectNature(glCode :any){
+    return baseFun.request<any>('/api/product/rwa/resultList/ResultListAction/selectsubjectNature',{
+        params:{glCode}
+    // dats:modelcode
+    });
+
+}
+
+
+//作废状态
+export async function updateResultList(ruleId :String){
+    return baseFun.request<resultListModel>('/api/product/rwa/resultList/ResultListAction/updateResultList',{
+        params:{ruleId}
+    // dats:modelcode
+    })
+    ;
+}