Ver código fonte

报表定义工具整体功能提交

username 5 meses atrás
pai
commit
ce119351ac
19 arquivos alterados com 3605 adições e 455 exclusões
  1. 1785 450
      Procedure/backend/project/logs/sundata.log
  2. 3 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/businessconfig/utils/FilesValueCheckUtils.java
  3. 103 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/action/ReportParamDefineAction.java
  4. 51 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/action/ReportResultQueryAction.java
  5. 19 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mapper/ReportParamDefineMapper.java
  6. 13 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mapper/ReportResultQueryMapper.java
  7. 144 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/model/ReportExecuteProcessModel.java
  8. 104 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/model/ReportParamDefineModel.java
  9. 155 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/model/ReportUnitExecuteStatusModel.java
  10. 126 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mybatis/ReportParamDefineMapper.xml
  11. 77 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mybatis/ReportResultQueryMapper.xml
  12. 75 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/service/ReportParamDefineService.java
  13. 40 0
      Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/service/ReportResultQueryService.java
  14. 2 0
      Procedure/frontend/projectb/config/config.ts
  15. 19 5
      Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportfillingconfig.tsx
  16. 340 0
      Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportparamdefine.tsx
  17. 366 0
      Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportresultquery.tsx
  18. 54 0
      Procedure/frontend/projectb/src/services/rwa/product/report_form_config_reportcreater/reportparamdefine.ts
  19. 129 0
      Procedure/frontend/projectb/src/services/rwa/product/report_form_config_reportcreater/reportresultquery.ts

Diferenças do arquivo suprimidas por serem muito extensas
+ 1785 - 450
Procedure/backend/project/logs/sundata.log


+ 3 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/businessconfig/utils/FilesValueCheckUtils.java

@@ -308,6 +308,9 @@ public class FilesValueCheckUtils {
                     model.setReportUnitRow(String.valueOf(rowNum+1));
                     // 当前sheet页当前行的当前列记入
                     model.setReportUnitCell(String.valueOf(cellNum+1));
+                    // 报表计算单元编号计入(报表编号+sheet页号+行号+列号)
+                    model.setReportUnitNo(defineModel.getReportNo()+
+                            String.valueOf(i+1)+String.valueOf(rowNum+1)+String.valueOf(cellNum+1));
                     if (cellData.getCellType().equals(CellType.FORMULA)) {
                         if (cellData.getCellFormula().equals("ROW()&\"-\"&COLUMN()")) {
                             // 序号记录

+ 103 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/action/ReportParamDefineAction.java

@@ -0,0 +1,103 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.action;
+
+import com.sundata.common.base.BaseAction;
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportDefinitionModel;
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportParamDefineModel;
+import com.sundata.product.rwa.reportformconfigreportcreater.service.ReportParamDefineService;
+import jakarta.servlet.http.HttpServletRequest;
+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;
+
+@RestController
+@RequestMapping("/product/rwa/reportformconfigreportcreater/ReportParamDefineAction")
+public class ReportParamDefineAction extends BaseAction {
+
+    @Autowired
+    ReportParamDefineService reportParamDefineService;
+    
+    /**
+     * @author: 张艳杰
+     * @methodsName: getDataList
+     * @description: 报表参数定义初始化查询
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return: List<ReportParamDefineModel>
+     * @throws:
+     */
+    @RequestMapping({"getDataList"})
+    public void getDataList(HttpServletRequest request, HttpServletResponse response,
+                            @RequestBody ReportParamDefineModel model) {
+        sendData(response, reportParamDefineService.getDataList(model));
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: createRowData
+     * @description: 报表参数定义新增数据
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return:
+     * @throws:
+     */
+    @RequestMapping({"createRowData"})
+    public void createRowData(HttpServletRequest request, HttpServletResponse response,
+                              @RequestBody ReportParamDefineModel model) {
+        reportParamDefineService.createRowData(model);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: updateRowData
+     * @description: 报表参数定义数据维护
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return:
+     * @throws:
+     */
+    @RequestMapping({"updateRowData"})
+    public void updateRowData(HttpServletRequest request, HttpServletResponse response,
+                              @RequestBody ReportParamDefineModel model, @RequestParam String paramNo) {
+        reportParamDefineService.updateRowData(model,paramNo);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: deleteRows
+     * @description: 报表参数定义数据删除
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return:
+     * @throws:
+     */
+    @RequestMapping({"deleteRows"})
+    public void deleteRows(HttpServletRequest request, HttpServletResponse response,
+                           @RequestBody ReportParamDefineModel model) {
+        reportParamDefineService.deleteRows(model);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: isNotExist
+     * @description: 唯一性检查
+     * @param: HttpServletRequest request, HttpServletResponse response, @RequestBody ReportDefinitionModel model
+     * @return:
+     * @throws:
+     */
+    @RequestMapping({"isNotExist"})
+    public void isNotExist(HttpServletRequest request, HttpServletResponse response, @RequestBody ReportParamDefineModel model) {
+        if (null != model && (null != model.getParamNo() || null != model.getParamObjectName())
+                && (!model.getParamNo().isEmpty() || !model.getParamObjectName().isEmpty())
+        ){
+            ReportParamDefineModel checkModel = reportParamDefineService.selectRowData(model);
+            if (null != checkModel) {
+                sendData(response,"该代码已存在");
+            } else {
+                sendData(response,true);
+            }
+        } else {
+            sendData(response,true);
+        }
+    }
+
+
+}

+ 51 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/action/ReportResultQueryAction.java

@@ -0,0 +1,51 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.action;
+
+
+import com.sundata.common.base.BaseAction;
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportExecuteProcessModel;
+import com.sundata.product.rwa.reportformconfigreportcreater.service.ReportResultQueryService;
+import jakarta.servlet.http.HttpServletRequest;
+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;
+
+@RestController
+@RequestMapping("/product/rwa/reportformconfigreportcreater/ReportResultQueryAction")
+public class ReportResultQueryAction extends BaseAction {
+
+    @Autowired
+    ReportResultQueryService reportResultQueryService;
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: getDataList
+     * @description: 初始化查询
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportExecuteProcessModel model
+     * @return: List<ReportExecuteProcessModel>
+     * @throws:
+     */
+    @RequestMapping({"getDataList"})
+    public void getDataList(HttpServletRequest request, HttpServletResponse response,
+                            @RequestBody ReportExecuteProcessModel model) {
+        sendData(response, reportResultQueryService.getDataList(model));
+    }
+
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: getUnitDataList
+     * @description: 计算单元格列表初始化查询
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestParam String reportResultNo
+     * @return: List<ReportUnitExecuteStatusModel>
+     * @throws:
+     */
+    @RequestMapping({"getUnitDataList"})
+    public void getUnitDataList(HttpServletRequest request, HttpServletResponse response,
+                                @RequestParam String reportResultNo) {
+        sendData(response, reportResultQueryService.getUnitDataList(reportResultNo));
+    }
+
+}

+ 19 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mapper/ReportParamDefineMapper.java

@@ -0,0 +1,19 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.mapper;
+
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportParamDefineModel;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ReportParamDefineMapper {
+
+    List<ReportParamDefineModel> getDataList(@Param("model") ReportParamDefineModel model);
+
+    ReportParamDefineModel selectRowData(@Param("model") ReportParamDefineModel model);
+
+    void createRowData(@Param("model") ReportParamDefineModel model);
+
+    void deleteRows(@Param("model") ReportParamDefineModel model);
+
+    void updateRowData(@Param("model") ReportParamDefineModel model, @Param("paramNo") String paramNo);
+}

+ 13 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mapper/ReportResultQueryMapper.java

@@ -0,0 +1,13 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.mapper;
+
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportExecuteProcessModel;
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportUnitExecuteStatusModel;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ReportResultQueryMapper {
+    List<ReportExecuteProcessModel> getDataList(@Param("model") ReportExecuteProcessModel model);
+
+    List<ReportUnitExecuteStatusModel> getUnitDataList(@Param("reportResultNo") String reportResultNo);
+}

+ 144 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/model/ReportExecuteProcessModel.java

@@ -0,0 +1,144 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.model;
+
+public class ReportExecuteProcessModel {
+    // 计算实例号
+    private String calcIndex;
+    // 起始数据日期
+    private String startDate;
+    // 截止数据日期
+    private String endDate;
+    // 年月
+    private String term;
+    // 数据日期
+    private String dataDate;
+    // 报表结果编号
+    private String reportResultNo;
+    // 报表编号
+    private String reportNo;
+    // 报表名称
+    private String reportName;
+    // 报表类型
+    private String reportType;
+    // 报表版本号
+    private String reportVersion;
+    // 开始时间
+    private String reportStartTime;
+    // 结束时间
+    private String reportEndTime;
+    // 计算耗时
+    private int reportCalcTook;
+    // 所属机构
+    private String reportOrgcode;
+
+    public String getCalcIndex() {
+        return calcIndex;
+    }
+
+    public void setCalcIndex(String calcIndex) {
+        this.calcIndex = calcIndex;
+    }
+
+    public String getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(String startDate) {
+        this.startDate = startDate;
+    }
+
+    public String getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(String endDate) {
+        this.endDate = endDate;
+    }
+
+    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 getReportResultNo() {
+        return reportResultNo;
+    }
+
+    public void setReportResultNo(String reportResultNo) {
+        this.reportResultNo = reportResultNo;
+    }
+
+    public String getReportNo() {
+        return reportNo;
+    }
+
+    public void setReportNo(String reportNo) {
+        this.reportNo = reportNo;
+    }
+
+    public String getReportName() {
+        return reportName;
+    }
+
+    public void setReportName(String reportName) {
+        this.reportName = reportName;
+    }
+
+    public String getReportType() {
+        return reportType;
+    }
+
+    public void setReportType(String reportType) {
+        this.reportType = reportType;
+    }
+
+    public String getReportVersion() {
+        return reportVersion;
+    }
+
+    public void setReportVersion(String reportVersion) {
+        this.reportVersion = reportVersion;
+    }
+
+    public String getReportStartTime() {
+        return reportStartTime;
+    }
+
+    public void setReportStartTime(String reportStartTime) {
+        this.reportStartTime = reportStartTime;
+    }
+
+    public String getReportEndTime() {
+        return reportEndTime;
+    }
+
+    public void setReportEndTime(String reportEndTime) {
+        this.reportEndTime = reportEndTime;
+    }
+
+    public int getReportCalcTook() {
+        return reportCalcTook;
+    }
+
+    public void setReportCalcTook(int reportCalcTook) {
+        this.reportCalcTook = reportCalcTook;
+    }
+
+    public String getReportOrgcode() {
+        return reportOrgcode;
+    }
+
+    public void setReportOrgcode(String reportOrgcode) {
+        this.reportOrgcode = reportOrgcode;
+    }
+}

+ 104 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/model/ReportParamDefineModel.java

@@ -0,0 +1,104 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.model;
+
+public class ReportParamDefineModel {
+    // 计算实例号
+    private String calcIndex;
+    // 起始数据日期
+    private String startDate;
+    // 截止数据日期
+    private String endDate;
+    // 年月
+    private String term;
+    // 数据日期
+    private String dataDate;
+    // 参数编号
+    private String paramNo;
+    // 参数名称
+    private String paramName;
+    // 参数计算类型
+    private String paramCalcType;
+    // 参数对象名称(不可重复)
+    private String paramObjectName;
+    // 参数计算配置
+    private String paramCalcGetdata;
+
+    public String getCalcIndex() {
+        return calcIndex;
+    }
+
+    public void setCalcIndex(String calcIndex) {
+        this.calcIndex = calcIndex;
+    }
+
+    public String getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(String startDate) {
+        this.startDate = startDate;
+    }
+
+    public String getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(String endDate) {
+        this.endDate = endDate;
+    }
+
+    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 getParamNo() {
+        return paramNo;
+    }
+
+    public void setParamNo(String paramNo) {
+        this.paramNo = paramNo;
+    }
+
+    public String getParamName() {
+        return paramName;
+    }
+
+    public void setParamName(String paramName) {
+        this.paramName = paramName;
+    }
+
+    public String getParamCalcType() {
+        return paramCalcType;
+    }
+
+    public void setParamCalcType(String paramCalcType) {
+        this.paramCalcType = paramCalcType;
+    }
+
+    public String getParamObjectName() {
+        return paramObjectName;
+    }
+
+    public void setParamObjectName(String paramObjectName) {
+        this.paramObjectName = paramObjectName;
+    }
+
+    public String getParamCalcGetdata() {
+        return paramCalcGetdata;
+    }
+
+    public void setParamCalcGetdata(String paramCalcGetdata) {
+        this.paramCalcGetdata = paramCalcGetdata;
+    }
+}

+ 155 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/model/ReportUnitExecuteStatusModel.java

@@ -0,0 +1,155 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.model;
+
+public class ReportUnitExecuteStatusModel {
+
+    // 计算实例号
+    private String calcIndex;
+    // 起始数据日期
+    private String startDate;
+    // 截止数据日期
+    private String endDate;
+    // 年月
+    private String term;
+    // 数据日期
+    private String dataDate;
+    // 报表结果编号
+    private String reportResultNo;
+    // 报表编号
+    private String reportNo;
+    // 计算单元id
+    private String reportUnitNo;
+    // 计算结果值
+    private String reportUnitResult;
+    // 计算耗时
+    private int calcTook;
+    // 开始时间
+    private String reportUnitStrTime;
+    // 结束时间
+    private String reportUnitEndTime;
+    // sheet页位置
+    private int reportUnitSheet;
+    // 行位置
+    private int reportUnitRow;
+    // 列位置
+    private int reportUnitCell;
+
+    public String getCalcIndex() {
+        return calcIndex;
+    }
+
+    public void setCalcIndex(String calcIndex) {
+        this.calcIndex = calcIndex;
+    }
+
+    public String getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(String startDate) {
+        this.startDate = startDate;
+    }
+
+    public String getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(String endDate) {
+        this.endDate = endDate;
+    }
+
+    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 getReportResultNo() {
+        return reportResultNo;
+    }
+
+    public void setReportResultNo(String reportResultNo) {
+        this.reportResultNo = reportResultNo;
+    }
+
+    public String getReportNo() {
+        return reportNo;
+    }
+
+    public void setReportNo(String reportNo) {
+        this.reportNo = reportNo;
+    }
+
+    public String getReportUnitNo() {
+        return reportUnitNo;
+    }
+
+    public void setReportUnitNo(String reportUnitNo) {
+        this.reportUnitNo = reportUnitNo;
+    }
+
+    public String getReportUnitResult() {
+        return reportUnitResult;
+    }
+
+    public void setReportUnitResult(String reportUnitResult) {
+        this.reportUnitResult = reportUnitResult;
+    }
+
+    public int getCalcTook() {
+        return calcTook;
+    }
+
+    public void setCalcTook(int calcTook) {
+        this.calcTook = calcTook;
+    }
+
+    public String getReportUnitStrTime() {
+        return reportUnitStrTime;
+    }
+
+    public void setReportUnitStrTime(String reportUnitStrTime) {
+        this.reportUnitStrTime = reportUnitStrTime;
+    }
+
+    public String getReportUnitEndTime() {
+        return reportUnitEndTime;
+    }
+
+    public void setReportUnitEndTime(String reportUnitEndTime) {
+        this.reportUnitEndTime = reportUnitEndTime;
+    }
+
+    public int getReportUnitSheet() {
+        return reportUnitSheet;
+    }
+
+    public void setReportUnitSheet(int reportUnitSheet) {
+        this.reportUnitSheet = reportUnitSheet;
+    }
+
+    public int getReportUnitRow() {
+        return reportUnitRow;
+    }
+
+    public void setReportUnitRow(int reportUnitRow) {
+        this.reportUnitRow = reportUnitRow;
+    }
+
+    public int getReportUnitCell() {
+        return reportUnitCell;
+    }
+
+    public void setReportUnitCell(int reportUnitCell) {
+        this.reportUnitCell = reportUnitCell;
+    }
+}

+ 126 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mybatis/ReportParamDefineMapper.xml

@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sundata.product.rwa.reportformconfigreportcreater.mapper.ReportParamDefineMapper">
+
+    <!-- 缓释工具类型页面初始化 -->
+    <select id="getDataList" resultType="com.sundata.product.rwa.reportformconfigreportcreater.model.ReportParamDefineModel">
+        SELECT
+        CALCINDEX              AS     calcIndex,
+        SDATE                  AS     startDate,
+        EDATE                  AS     endDate,
+        TERM                   AS     term,
+        DATA_DATE              AS     dataDate,
+        PARAM_NO               AS     paramNo,
+        PARAM_NAME             AS     paramName,
+        PARAM_CALC_TYPE        AS     paramCalcType,
+        PARAM_OBJECT_NAME      AS     paramObjectName,
+        PARAM_CALC_GETDATA     AS     paramCalcGetdata
+        FROM RWA_SYSTEM_REPORT_CONF_PARAM
+        <where>
+            <if test="model.paramName != null and model.paramName !=''">
+                PARAM_NAME like concat(concat('%',#{model.paramName}),'%')
+            </if>
+            <if test="model.paramObjectName != null and model.paramObjectName !=''">
+                and PARAM_OBJECT_NAME like concat(concat('%', #{model.paramObjectName}),'%')
+            </if>
+            <if test="model.paramCalcType != null and model.paramCalcType !=''">
+                and PARAM_CALC_TYPE like concat(concat('%', #{model.paramCalcType}),'%')
+            </if>
+        </where>
+    </select>
+
+
+    <!-- 缓释工具类型新建数据 -->
+    <insert id="createRowData" parameterType="com.sundata.product.rwa.reportformconfigreportcreater.model.ReportParamDefineModel">
+        insert into RWA_SYSTEM_REPORT_CONF_PARAM
+        (CALCINDEX,
+        SDATE,
+        EDATE,
+        TERM,
+        DATA_DATE,
+        PARAM_NO,
+        PARAM_NAME,
+        PARAM_CALC_TYPE,
+        PARAM_OBJECT_NAME,
+        PARAM_CALC_GETDATA
+        )
+        values(
+        #{model.calcIndex},
+        #{model.startDate},
+        #{model.endDate},
+        #{model.term},
+        #{model.dataDate},
+        #{model.paramNo},
+        #{model.paramName},
+        #{model.paramCalcType},
+        #{model.paramObjectName},
+        #{model.paramCalcGetdata}
+        )
+    </insert>
+
+
+    <update id="updateRowData">
+        update RWA_SYSTEM_REPORT_CONF_PARAM
+        <trim suffixOverrides=",">
+            <set>
+                <if test="model.paramNo != null and model.paramNo != ''">
+                    PARAM_NO = #{model.paramNo},
+                </if>
+                <if test="model.paramName != null and model.paramName != ''">
+                    PARAM_NAME = #{model.paramName},
+                </if>
+                <if test="model.paramCalcType != null and model.paramCalcType != ''">
+                    PARAM_CALC_TYPE = #{model.paramCalcType},
+                </if>
+                <if test="model.paramObjectName != null and model.paramObjectName != ''">
+                    PARAM_OBJECT_NAME = #{model.paramObjectName},
+                </if>
+                <if test="model.paramCalcGetdata != null and model.paramCalcGetdata != ''">
+                    PARAM_CALC_GETDATA = #{model.paramCalcGetdata},
+                </if>
+            </set>
+        </trim>
+        <where>
+            PARAM_NO = #{paramNo}
+        </where>
+    </update>
+
+
+    <!-- 缓释品类型删除数据 -->
+    <delete id="deleteRows">
+        delete from  RWA_SYSTEM_REPORT_CONF_PARAM
+        <where>
+            PARAM_NO = #{model.paramNo}
+        </where>
+    </delete>
+
+
+    <!-- 缓释工具类型页面初始化 -->
+    <select id="selectRowData" resultType="com.sundata.product.rwa.reportformconfigreportcreater.model.ReportParamDefineModel">
+        SELECT
+        CALCINDEX              AS     calcIndex,
+        SDATE                  AS     startDate,
+        EDATE                  AS     endDate,
+        TERM                   AS     term,
+        DATA_DATE              AS     dataDate,
+        PARAM_NO               AS     paramNo,
+        PARAM_NAME             AS     paramName,
+        PARAM_CALC_TYPE        AS     paramCalcType,
+        PARAM_OBJECT_NAME      AS     paramObjectName,
+        PARAM_CALC_GETDATA     AS     paramCalcGetdata
+        FROM RWA_SYSTEM_REPORT_CONF_PARAM
+        <where>
+            <if test="model.paramNo != null and model.paramNo !=''">
+                PARAM_NO = #{model.paramNo}
+            </if>
+            <if test="model.paramObjectName != null and model.paramObjectName !=''">
+                and PARAM_OBJECT_NAME = #{model.paramObjectName}
+            </if>
+        </where>
+    </select>
+
+
+
+</mapper>

+ 77 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/mybatis/ReportResultQueryMapper.xml

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sundata.product.rwa.reportformconfigreportcreater.mapper.ReportResultQueryMapper">
+
+    <!-- 页面初始化 -->
+    <select id="getDataList" resultType="com.sundata.product.rwa.reportformconfigreportcreater.model.ReportExecuteProcessModel">
+        SELECT
+        T1.CALCINDEX              AS     calcIndex,
+        T1.SDATE                  AS     startDate,
+        T1.EDATE                  AS     endDate,
+        T1.TERM                   AS     term,
+        T1.DATA_DATE              AS     dataDate,
+        T1.REPORT_RESULT_NO       AS     reportResultNo,
+        T1.REPORT_NO              AS     reportNo,
+        T1.REPORT_NAME            AS     reportName,
+        T1.REPORT_TYPE            AS     reportType,
+        T1.REPORT_VERSION         AS     reportVersion,
+        T1.REPORT_START_TIME      AS     reportStartTime,
+        T1.REPORT_END_TIME        AS     reportEndTime,
+        T1.REPORT_CALC_TOOK       AS     reportCalcTook,
+        T2.REPORT_ORGCODE	      AS     reportOrgcode
+        FROM RWA_SYSTEM_REPORT_PROCESS_TABLE    T1
+        LEFT JOIN RWA_SYSTEM_REPORT_CONF_INFO   T2
+        ON T1.REPORT_NO = T2.REPORT_NO
+        <where>
+            <if test="model.calcIndex != null and model.calcIndex !=''">
+                T1.CALCINDEX like concat(concat('%',#{model.calcIndex}),'%')
+            </if>
+            <if test="model.dataDate != null and model.dataDate !=''">
+                and T1.DATA_DATE like concat(concat('%', #{model.dataDate}),'%')
+            </if>
+            <if test="model.reportNo != null and model.reportNo !=''">
+                and T1.REPORT_NO like concat(concat('%', #{model.reportNo}),'%')
+            </if>
+            <if test="model.reportVersion != null and model.reportVersion !=''">
+                and T1.REPORT_VERSION like concat(concat('%', #{model.reportVersion}),'%')
+            </if>
+        </where>
+    </select>
+
+
+
+    <!-- 页面初始化 -->
+    <select id="getUnitDataList" resultType="com.sundata.product.rwa.reportformconfigreportcreater.model.ReportUnitExecuteStatusModel">
+        SELECT
+        T1.CALCINDEX                 AS     calcIndex,
+        T1.SDATE                     AS     startDate,
+        T1.EDATE                     AS     endDate,
+        T1.TERM                      AS     term,
+        T1.DATA_DATE                 AS     dataDate,
+        T1.REPORT_RESULT_NO          AS     reportResultNo,
+        T1.REPORT_NO                 AS     reportNo,
+        T1.REPORT_UNIT_NO            AS     reportUnitNo,
+        T1.REPORT_UNIT_RESULT        AS     reportUnitResult,
+        T1.CALC_TOOK                 AS     calcTook,
+        T1.REPORT_UNIT_STR_TIME      AS     reportUnitStrTime,
+        T1.REPORT_UNIT_END_TIME      AS     reportUnitEndTime,
+        T2.REPORT_UNIT_SHEET         AS     reportUnitSheet,
+        T2.REPORT_UNIT_ROW	         AS     reportUnitRow,
+        T2.REPORT_UNIT_CELL	         AS     reportUnitCell
+        FROM RWA_SYSTEM_REPORT_PROCESS_TABLEUNIT    T1
+        LEFT JOIN RWA_SYSTEM_REPORT_CONF_CALCUNIT   T2
+        ON T1.REPORT_NO = T2.REPORT_NO
+        AND T1.REPORT_UNIT_NO = T2.REPORT_UNIT_NO
+        <where>
+            <if test="reportResultNo != null and reportResultNo !=''">
+                T1.REPORT_RESULT_NO = #{reportResultNo}
+            </if>
+        </where>
+    </select>
+
+
+
+
+</mapper>

+ 75 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/service/ReportParamDefineService.java

@@ -0,0 +1,75 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.service;
+
+import com.sundata.product.rwa.reportformconfigreportcreater.mapper.ReportParamDefineMapper;
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportParamDefineModel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ReportParamDefineService {
+    
+    @Autowired
+    ReportParamDefineMapper reportParamDefineMapper;
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: getDataList
+     * @description: 报表参数定义初始化查询
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return: List<ReportParamDefineModel>
+     * @throws:
+     */
+    public List<ReportParamDefineModel> getDataList(ReportParamDefineModel model) {
+        return reportParamDefineMapper.getDataList(model);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: getDataList
+     * @description: 报表参数定义当前行查询
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return: ReportParamDefineModel
+     * @throws:
+     */
+    public ReportParamDefineModel selectRowData(ReportParamDefineModel model) {
+        return reportParamDefineMapper.selectRowData(model);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: createRowData
+     * @description: 报表参数定义新增数据
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return:
+     * @throws:
+     */
+    public void createRowData(ReportParamDefineModel model) {
+        reportParamDefineMapper.createRowData(model);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: deleteRows
+     * @description: 报表参数定义数据删除
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return:
+     * @throws:
+     */
+    public void deleteRows(ReportParamDefineModel model) {
+        reportParamDefineMapper.deleteRows(model);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: updateRowData
+     * @description: 报表参数定义数据维护
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportParamDefineModel model
+     * @return:
+     * @throws:
+     */
+    public void updateRowData(ReportParamDefineModel model,String paramNo) {
+        reportParamDefineMapper.updateRowData(model,paramNo);
+    }
+}

+ 40 - 0
Procedure/backend/project/src/main/java/com/sundata/product/rwa/reportformconfigreportcreater/service/ReportResultQueryService.java

@@ -0,0 +1,40 @@
+package com.sundata.product.rwa.reportformconfigreportcreater.service;
+
+import com.sundata.product.rwa.reportformconfigreportcreater.mapper.ReportResultQueryMapper;
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportExecuteProcessModel;
+import com.sundata.product.rwa.reportformconfigreportcreater.model.ReportUnitExecuteStatusModel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ReportResultQueryService {
+
+    @Autowired
+    ReportResultQueryMapper reportResultQueryMapper;
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: getDataList
+     * @description: 初始化查询
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestBody ReportExecuteProcessModel model
+     * @return: List<ReportExecuteProcessModel>
+     * @throws:
+     */
+    public List<ReportExecuteProcessModel> getDataList(ReportExecuteProcessModel model) {
+        return reportResultQueryMapper.getDataList(model);
+    }
+
+    /**
+     * @author: 张艳杰
+     * @methodsName: getUnitDataList
+     * @description: 计算单元格列表初始化查询
+     * @param: HttpServletRequest request, HttpServletResponse response,@RequestParam String reportResultNo
+     * @return: List<ReportUnitExecuteStatusModel>
+     * @throws:
+     */
+    public List<ReportUnitExecuteStatusModel> getUnitDataList(String reportResultNo) {
+        return reportResultQueryMapper.getUnitDataList(reportResultNo);
+    }
+}

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

@@ -166,6 +166,8 @@ export default defineConfig({
 
     // 报表定义
     { path: '/reportfillingconfig' , component: './product/report_form_config_reportcreater/reportfillingconfig'},
+    { path: '/reportparamdefine' , component: './product/report_form_config_reportcreater/reportparamdefine'},
+    { path: '/reportresultquery' , component: './product/report_form_config_reportcreater/reportresultquery'},
 
 
   ],

+ 19 - 5
Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportfillingconfig.tsx

@@ -32,6 +32,7 @@ const reportfillingconfig : React.FC<widowRush> = (prop:widowRush) => {
     const templateRef = useRef<FormInstance<any>>();
     const { fetchDict } = useModel('dict');
     const [fillInFormData,setFillInFormData] = useState<ReportCalculationModel[]>([]);
+    const [newCreateFormData,setNewCreateFormData] = useState<ReportCalculationModel[]>([]);
     const [calculateFormData,setCalculateFormData] = useState<ReportCalculationModel[]>([]);
 
     const [oldRowKeys, setOldRowKeys] = useState<React.Key[]>();
@@ -411,7 +412,7 @@ const analyseFile = async (data: ReportDefinitionModel) => {
 
   function setIntoRestId() {
 
-           
+
       let fillId ='0';
       let calcId ='0';
         
@@ -523,7 +524,7 @@ const analyseFile = async (data: ReportDefinitionModel) => {
             {editType == 'update' && (<SDFormText name="reportFile" label="模板文件"/>)}
             <SDFormText name="reportVersion"  label="报表版本号"/>
             <SDLayout footer={
-              [ !busiPk && (<SDSubmitButton  editType={editType}   formRef={formRef} doSubmit={analyseFile} >显示模板文件</SDSubmitButton>),
+              [editType == 'create' && !busiPk && (<SDSubmitButton  editType={editType}   formRef={formRef} doSubmit={analyseFile} >显示模板文件</SDSubmitButton>),
                 busiPk && (<SDSubmitButton  editType={editType}   formRef={formRef}  doSubmit={ 
                    handanalyseReportFile
                   } >解析模板文件</SDSubmitButton>)
@@ -536,6 +537,11 @@ const analyseFile = async (data: ReportDefinitionModel) => {
               recordCreatorProps={false}
               actionRef={fillInActionRef}
               value={fillInFormData}
+              editable={{
+                actionRender: (row,config,defaultDoms)=>{
+                  return [defaultDoms.save,defaultDoms.cancel]
+                }
+              }}
               rowSelection={{
                 type:'radio',
                 selectedRowKeys:oldRowKeys,
@@ -551,7 +557,7 @@ const analyseFile = async (data: ReportDefinitionModel) => {
                     setIntoRestId();
                     fillInActionRef.current?.addEditRecord?.({
                       id: reptId+1,
-                      title: '新的一行',
+                      title: 'NEWROW',
                     });
                   }}
                 >
@@ -562,8 +568,14 @@ const analyseFile = async (data: ReportDefinitionModel) => {
                 successMessage=''
                 onClick={() => {
                   if (selectRowData.id) {
-                    setFillInFormData(...[fillInFormData.filter((item)=>{return item.id !== selectRowData.id})]);
-                    fillInActionRef.current?.reload();
+                    if (newCreateFormData.some((item)=> item.id == selectRowData.id)) {
+                      setFillInFormData(...[fillInFormData.filter((item)=>{return item.id !== selectRowData.id})]);
+                      fillInActionRef.current?.reload();
+                    } else {
+                      baseFun.error('只能删除手动添加的元素');
+                      return;
+                    }
+                    
                   }
                 }}
               >
@@ -571,6 +583,8 @@ const analyseFile = async (data: ReportDefinitionModel) => {
               </SDButton>,
               ]:[]}
               onChange={ (value: readonly ReportCalculationModel[]) => {
+                newCreateFormData.push(value[value.length-1]);
+                setNewCreateFormData([...newCreateFormData]);
                 setFillInFormData([...value]);
               } }
            />

+ 340 - 0
Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportparamdefine.tsx

@@ -0,0 +1,340 @@
+import React, { useEffect, useRef, useState } from "react";
+import { type ProColumns, type ActionType, type ProFormInstance, ProTable } from '@ant-design/pro-components';
+import {Flex, type FormInstance} from 'antd'
+import { SDPage,SDTable,EditType,DictTree,SDFormItem,SDButton, baseFun,SDModalForm,SDOperate,SDSubmitButton, SDAreaTtile, SDFormDict, SDFormText, SDLayout, validateFun } from "@sundata/ui-frame";
+import { ProductProps } from "@/sundataImport";
+import { useModel } from '@umijs/max';
+import { PlusSquareTwoTone, WomanOutlined } from "@ant-design/icons";
+import { max, toNumber } from "lodash";
+import { deleteRows, getDataList, isNotExist,updateRowData, ReportParamDefineModel, createRowData } from "@/services/rwa/product/report_form_config_reportcreater/reportparamdefine";
+
+type widowProps = {
+  onCancel:  () => void;
+  onChangeVisible(visible: boolean, type: string): unknown;
+  onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
+  treeData: DictTree[];
+}& ProductProps;
+// 客户基本信息表
+const reportparamdefine : React.FC<widowProps> = (prop:widowProps) => {
+
+    /** 编辑方式,查看、修改、新增按钮时设置,详细信息表单中使用 */
+    const [editType, setEditType] = useState<EditType>(prop.editType || 'display');
+    const [toolRuleEditType, setToolRuleEditType] = useState<EditType>(prop.editType || 'display');
+    /** 是否显示详细信息窗口 */
+    const [detailVisible, setDetailVisible] = useState<boolean>(false);
+
+
+    const [currentRow, setCurrentRow] = useState<ReportParamDefineModel>();
+
+    
+    /** 参数编号编辑 */
+    const [paramIndex,setParamIndex] = useState<number>(0);
+
+    /** 表格引用对象,刷新表格使用   */
+    const actionRef = useRef<ActionType>();
+    const formRef = useRef<FormInstance<any>>();
+
+
+    const { fetchDict } = useModel('dict');
+
+    // 页面数据
+    var formDataList = new Array<ReportParamDefineModel>;
+
+    useEffect(() => {
+
+      }, []);
+    
+
+    //关闭窗口刷新父页面
+    const closeAndRefresh = ()=>{
+    actionRef.current?.reloadAndRest?.();
+    }
+
+  const selectRowData =async (record:any) => {
+    await getDataList(record);
+    formRef.current?.setFieldsValue(record);
+  }
+  
+    // 步骤删除
+    const delRows =async(record:any)=>{
+        baseFun.confirm('确认删除?',async() =>{
+         await deleteRows(record);
+         baseFun.info("删除成功");
+         closeAndRefresh();
+        });
+        
+    }
+
+
+  // 插入或者更新数据
+  const handleSave = async(data: ReportParamDefineModel,) => {
+    if (editType == 'update') {
+        if (currentRow && currentRow.paramNo) {
+            updateRowData(data,currentRow.paramNo);
+            setDetailVisible(false);
+            closeAndRefresh();
+        }
+    } else if (editType == 'create') {
+        await createRowData(data);
+        setDetailVisible(false);
+        closeAndRefresh();
+    }
+  }
+
+
+  
+    // 阶段信息页面展示元素
+    const columns: ProColumns<ReportParamDefineModel>[] = [
+      {
+        title: '序号',
+        dataIndex: 'index',
+        render: (text, record, index) => {(index = index + 1);setParamIndex(index); return index},
+      },
+        {
+            title: '计算实例号',
+            dataIndex: 'calcindex',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '起始数据日期',
+            dataIndex: 'startDate',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '截止数据日期',
+            dataIndex: 'endDate',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '年月',
+            dataIndex: 'term',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '数据日期',
+            dataIndex: 'dataDate',
+            search:false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true,
+            valueType: 'date',
+        },
+        {
+            title: '参数编号',
+            dataIndex: 'paramNo',
+            search:false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '参数名称',
+            dataIndex: 'paramName',
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '参数计算类型', 
+            dataIndex: 'paramCalcType',
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+            valueType: 'treeSelect',
+            request: () => fetchDict('CALC_TASK_RATE'),
+            fieldProps: {
+              treeDefaultExpandAll: true,
+              treeCheckable:true,
+            },
+        },
+        {
+            title: '参数对象名称', 
+            dataIndex: 'paramObjectName',
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '参数计算配置', 
+            dataIndex: 'paramCalcGetdata',
+            search:false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+          title: '操作',
+          dataIndex: 'operate',
+          valueType: 'option',
+          render: (_, record) => [
+            <SDOperate
+              key="update"
+              icon={<WomanOutlined />}
+              successMessage=""
+              onClick={
+                ()=>{
+                  setDetailVisible(true);
+                  setEditType('update');
+                  setCurrentRow(record);
+                  selectRowData(record);
+               } }
+            >
+              修改
+            </SDOperate>,
+          <SDOperate
+            key="delete"
+            icon={<WomanOutlined />}
+            successMessage=""
+            onClick={()=>{
+                delRows(record) } }
+          >
+            删除
+          </SDOperate>,
+          <SDOperate
+            key="update"
+            icon={<WomanOutlined />}
+            successMessage=""
+            onClick={
+              ()=>{
+                setDetailVisible(true);
+                setEditType('display');
+                setCurrentRow(record);
+                selectRowData(record);
+             } }
+          >
+            查看
+          </SDOperate>,
+          ],
+        },
+];
+
+// 中文字数校验
+function countChineseChars(str:any) {
+    const chineseRegex = /[\u4e00-\u9fa5]/g; // 匹配任何中文字符
+    if (null == str || undefined == str || '' == str) {
+        return -1;
+    } else {
+        return str.match(chineseRegex)?.length || 0;
+    }
+  }
+
+return (
+    <SDPage>
+    <SDTable
+     title="查询表格"
+     rowKey="regularRrcsRuleNo"
+     request={async (formdata:ReportParamDefineModel) =>{
+       const formDatas = await getDataList(formdata);
+       // 解构数组(导出用)
+       formDataList=[...formDatas];
+       return {data: formDatas}
+     }  }
+     columns={columns}
+     toolBarRender={(_, { selectedRows }) => [
+      <SDButton
+        key="create"
+        icon={<PlusSquareTwoTone/>}
+        successMessage=''
+        onClick={() => {
+          setDetailVisible(true);
+          setEditType('create');
+        }}
+      >
+        新增
+      </SDButton>,
+    ]}
+     actionRef={actionRef}
+     formRef={formRef}
+     setDetailVisible={() => {setDetailVisible(true)}}
+     setEditType={setEditType}
+     setCurrentRow={setCurrentRow}
+     />
+
+    {detailVisible && (
+    <SDModalForm          
+      editType={editType}
+      params={currentRow}
+      visible={detailVisible}
+      onVisibleChange={() => {
+        setDetailVisible(false);
+      }}
+      footer={[
+      <SDSubmitButton  editType={editType}   formRef={formRef} doSubmit={handleSave} >保存</SDSubmitButton>,
+      <SDButton
+        key="closeUpdate"
+        successMessage=''
+        onClick={() => {
+            setDetailVisible(false);
+        }}>关闭</SDButton>
+      ]}
+      tableRef={actionRef}
+      formRef={formRef}
+      initialValues={{
+        paramNo:"PARAM"+(paramIndex+1),
+      }}
+    >
+        <SDAreaTtile title='参数信息'/>
+        <SDFormText name="paramNo" 
+        bgValidater={(paramNo: string) => isNotExist(
+          {
+              calcIndex: "",
+              startDate: "",
+              endDate: "",
+              term: "",
+              dataDate: "",
+              paramNo: paramNo == undefined ? "":paramNo,
+              paramName: "",
+              paramCalcType: "",
+              paramObjectName: "",
+              paramCalcGetdata: ""
+          }
+        )} 
+         required={true} readonlyCond="both" label="参数编号"/>
+         <SDFormText name="paramName" label="参数名称" rules={[{validator:(rules,value,callback)=>{
+            let chineseCount = countChineseChars(value);
+            if (chineseCount > 100) {
+                callback('最多100个汉字');
+            } else if (chineseCount<=0) {
+                callback('请输入汉字');
+            } else{
+              callback();
+            }
+         }}]}/>
+        <SDFormDict dictKey='CALC_TASK_RATE' name="paramCalcType" label="参数计算类型" />
+        <SDFormText name="paramObjectName" required={true} rules={[{max:100,message:'最多100个字符'}]}
+        bgValidater={(paramObjectName: string) => isNotExist(
+            {
+                calcIndex: "",
+                startDate: "",
+                endDate: "",
+                term: "",
+                dataDate: "",
+                paramNo: "",
+                paramName: "",
+                paramCalcType: "",
+                paramObjectName: paramObjectName == undefined ? "":paramObjectName,
+                paramCalcGetdata: ""
+            }
+          )} 
+        label="参数对象名称"/>
+        <SDFormText type="textarea" name="paramCalcGetdata" label="参数计算配置"/>
+
+    </SDModalForm>
+  )}
+    </SDPage>
+    
+);
+}
+export default reportparamdefine;

+ 366 - 0
Procedure/frontend/projectb/src/pages/product/report_form_config_reportcreater/reportresultquery.tsx

@@ -0,0 +1,366 @@
+import React, { useEffect, useRef, useState } from "react";
+import { type ProColumns, type ActionType, type ProFormInstance, ProTable } from '@ant-design/pro-components';
+import {Flex, type FormInstance} from 'antd'
+import { SDPage,SDTable,EditType,DictTree,SDFormItem,SDButton, baseFun,SDModalForm,SDOperate,SDSubmitButton, SDAreaTtile, SDFormDict, SDFormText, SDLayout, validateFun } from "@sundata/ui-frame";
+import { ProductProps } from "@/sundataImport";
+import { useModel } from '@umijs/max';
+import { PlusSquareTwoTone, WomanOutlined } from "@ant-design/icons";
+import { ReportExecuteProcessModel, ReportUnitExecuteStatusModel, getDataList, getUnitDataList} from "@/services/rwa/product/report_form_config_reportcreater/reportresultquery";
+import { toNumber } from "lodash";
+
+type widowProps = {
+  onCancel:  () => void;
+  onChangeVisible(visible: boolean, type: string): unknown;
+  onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
+  treeData: DictTree[];
+}& ProductProps;
+// 客户基本信息表
+const reportresultquery : React.FC<widowProps> = (prop:widowProps) => {
+
+    /** 编辑方式,查看、修改、新增按钮时设置,详细信息表单中使用 */
+    const [editType, setEditType] = useState<EditType>(prop.editType || 'display');
+    const [toolRuleEditType, setToolRuleEditType] = useState<EditType>(prop.editType || 'display');
+    /** 是否显示详细信息窗口 */
+    const [detailVisible, setDetailVisible] = useState<boolean>(false);
+
+    /** 合格缓释认定规则信息窗口 */
+    const [reportConfigRuleVisible, setreportConfigRuleVisible] = useState<boolean>(false);
+
+    /** 记录执行过程列表行 */
+    const [currentRow, setCurrentRow] = useState<ReportExecuteProcessModel>();
+    /** 计算单元执行情况列表 */
+    const [reportFormData,setReportFormData] = useState<ReportUnitExecuteStatusModel[]>([]);
+
+    /** 表格引用对象,刷新表格使用   */
+    const actionRef = useRef<ActionType>();
+    const calcResultActionRef = useRef<ActionType>();
+
+    const formRef = useRef<FormInstance<any>>();
+    const calcResultFormRef = useRef<FormInstance<any>>();
+
+
+    const { fetchDict } = useModel('dict');
+
+    useEffect(() => {
+      }, []);
+    
+
+    //关闭窗口刷新父页面
+    const closeAndRefresh = ()=>{
+    actionRef.current?.reloadAndRest?.();
+    }
+
+
+    // 查询该报表下所有单元格执行情况
+    const selectCalcDataList = async(record:any) => {
+      
+      const resData = await getUnitDataList(record.reportResultNo);
+      // 列表赋值
+      setReportFormData(resData);
+      // 个表单赋值
+      calcResultFormRef.current?.setFieldsValue(record);
+    }
+
+
+    // 在线查看
+    function onlineView(value: any): Promise<void> {
+      throw new Error("Function not implemented.");
+    }
+
+
+     
+    // 报表执行过程页面展示元素
+    const columns: ProColumns<ReportExecuteProcessModel>[] = [
+      {
+        title: '序号',
+        dataIndex: 'index',
+        render: (text, record, index) => (index + 1),
+        width:100,
+        ellipsis:true
+      },
+        {
+            title: '计算实例编号',
+            dataIndex: 'calcindex',
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '起始数据日期',
+            dataIndex: 'startDate',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '截止数据日期',
+            dataIndex: 'endDate',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '年月',
+            dataIndex: 'term',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '计算日期',
+            dataIndex: 'dataDate',
+            hideInTable: true,
+            width:150,
+            ellipsis:true,
+            valueType: 'date',
+        },
+        {
+          title: '报表结果编号',
+          dataIndex: 'reportResultNo',
+          search:false,
+          hideInTable: true,
+          width:150,
+          ellipsis:true,
+        },
+        {
+            title: '报表编号',
+            dataIndex: 'reportNo',
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '报表名称', 
+            dataIndex: 'reportName',
+            search:false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '报表版本号', 
+            dataIndex: 'reportVersion',
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '所属机构', 
+            dataIndex: 'reportOrgcode',
+            search:false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+            valueType: 'treeSelect',
+            request: () => fetchDict('STEP_TYPE'),
+            fieldProps: {
+              treeDefaultExpandAll: true,
+            },
+        },
+        {
+            title: '计算结束时间',
+            dataIndex: 'reportEndTime',
+            search: false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '计算总耗时',
+            dataIndex: 'reportCalcTook',
+            search: false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true
+        },
+        {
+          title: '操作',
+          dataIndex: 'operate',
+          valueType: 'option',
+          render: (_, record) => [
+            <SDOperate
+            key="see"
+            icon={<WomanOutlined />}
+            successMessage=""
+            onClick={async()=>{
+              setDetailVisible(true);
+              setEditType('display');
+              selectCalcDataList(record);
+              setCurrentRow(record);
+            } }
+          >
+            查看
+          </SDOperate>,
+          ],
+        },
+];
+
+
+    // 阶段步骤列表信息页面展示元素
+    const reportListColumns: ProColumns<ReportUnitExecuteStatusModel>[] = [
+      {
+        title: '序号',
+        dataIndex: 'index',
+        render: (text, record, index) => (index + 1),
+        width:100,
+        ellipsis:true
+      },
+        {
+            title: '计算单元实例编号',
+            dataIndex: 'calcindex',
+            search: false,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '起始数据日期',
+            dataIndex: 'startDate',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '截止数据日期',
+            dataIndex: 'endDate',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '年月',
+            dataIndex: 'term',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '数据日期',
+            dataIndex: 'dataDate',
+            search: false,
+            hideInTable: true,
+            width:150,
+            ellipsis:true,
+            valueType: 'date',
+        },
+        {
+            title: '计算结果值',
+            dataIndex: 'reportUnitResult',
+            search:false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '计算结束时间', 
+            dataIndex: 'reportUnitEndTime',
+            search:false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+            valueType: 'treeSelect',
+        },
+        {
+            title: '计算耗时(毫秒)', 
+            dataIndex: 'calcTook',
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: 'Sheet页位置', 
+            dataIndex: 'reportUnitSheet',
+            hideInTable: false,
+            width:150,
+            ellipsis:true,
+        },
+        {
+            title: '所在行位置',
+            dataIndex: 'reportUnitRow',
+            search: false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true
+        },
+        {
+            title: '所在列位置',
+            dataIndex: 'reportUnitCell',
+            search: false,
+            hideInTable: false,
+            width:150,
+            ellipsis:true
+        },
+];
+
+
+return (
+    <SDPage>
+    <SDTable
+     title="查询表格"
+     rowKey="regularRrcsRuleNo"
+     request={async (formdata:ReportExecuteProcessModel) =>{
+       const formDatas = await getDataList(formdata);
+       return {data: formDatas}
+     }  }
+     columns={columns}
+     actionRef={actionRef}
+     formRef={formRef}
+     setDetailVisible={() => {setDetailVisible(true)}}
+     setEditType={setEditType}
+     setCurrentRow={setCurrentRow}
+     />
+
+    {detailVisible && (
+    <SDModalForm          
+      editType={editType}
+      params={currentRow}
+      visible={detailVisible}
+      onVisibleChange={() => {
+        setDetailVisible(false);
+      }}
+      footer={[
+      <SDSubmitButton  editType={'update'}   formRef={calcResultFormRef} doSubmit={onlineView} >在线查看</SDSubmitButton>,
+      <SDButton
+        key="closeUpdate"
+        successMessage=''
+        onClick={() => {
+            setDetailVisible(false);
+        }}>关闭</SDButton>
+      ]}
+      tableRef={actionRef}
+      formRef={calcResultFormRef}
+    >
+        
+        <SDAreaTtile title='报表结果计算过程信息'/>
+        <SDFormText name="calcIndex"  readonlyCond="update" required={true} label="计算实例编号"/>
+        <SDFormText name="dataDate" label="计算日期"/>
+        <SDFormText  name="reportNo" label="报表编号" />
+        <SDFormText name="reportName" label="报表名称"/>
+        <SDFormText name="reportVersion" label="报表版本号"/>
+        <SDFormText name="reportEndTime"  label="计算结束时间"/>
+        <SDFormText name="reportCalcTook"  label="计算总耗时"/>
+         <SDLayout>
+        <SDAreaTtile title='表格单元计算结果详情'/>
+        <ProTable
+          search={false}
+          rowKey="detailRuleNo"
+          columns={reportListColumns}
+          dataSource={reportFormData}
+          actionRef={calcResultActionRef}
+    />
+    </SDLayout>
+
+    </SDModalForm>
+  )}
+
+
+
+    </SDPage>
+    
+);
+}
+export default reportresultquery;

+ 54 - 0
Procedure/frontend/projectb/src/services/rwa/product/report_form_config_reportcreater/reportparamdefine.ts

@@ -0,0 +1,54 @@
+import type { BasePageModel, TableData } from '@sundata/ui-frame';
+import { baseFun } from '@sundata/ui-frame';
+
+// 计量任务定义表
+export type ReportParamDefineModel = {
+    // 计算实例号
+    calcIndex: string;
+    // 起始数据日期
+    startDate: string;
+    // 截止数据日期
+    endDate: string;
+    // 年月
+    term: string;
+    // 数据日期
+    dataDate: string;
+    // 参数编号
+    paramNo: string;
+    // 参数名称
+    paramName: string;
+    // 参数计算类型
+    paramCalcType: string;
+    // 参数对象名称(不可重复)
+    paramObjectName: string;
+    // 参数计算配置
+    paramCalcGetdata: string;
+  } & BasePageModel;
+
+
+/** 获取页面初始化及条件查询 POST*/
+export async function getDataList(body:ReportParamDefineModel) {
+    return baseFun.request<ReportParamDefineModel[]>('/api/product/rwa/reportformconfigreportcreater/ReportParamDefineAction/getDataList.do',{data: body});
+}
+
+/** 获取页面初始化及条件查询 POST*/
+export async function createRowData(body:ReportParamDefineModel) {
+    return baseFun.request<void>('/api/product/rwa/reportformconfigreportcreater/ReportParamDefineAction/createRowData.do',{data: body});
+}
+
+/** 获取页面初始化及条件查询 POST*/
+export async function updateRowData(body: ReportParamDefineModel, paramNo: string) {
+    return baseFun.request<void>('/api/product/rwa/reportformconfigreportcreater/ReportParamDefineAction/updateRowData.do',{data: body,params:{paramNo}});
+}
+
+/** 获取页面初始化及条件查询 POST*/
+export async function deleteRows(body:ReportParamDefineModel) {
+    return baseFun.request<void>('/api/product/rwa/reportformconfigreportcreater/ReportParamDefineAction/deleteRows.do',{data: body});
+}
+
+/** 唯一性校验 POST */
+export async function isNotExist(body: ReportParamDefineModel) {
+    return baseFun.request<any>('/api/product/rwa/reportformconfigreportcreater/ReportParamDefineAction/isNotExist.do', {
+      data: body,
+    });
+  }

+ 129 - 0
Procedure/frontend/projectb/src/services/rwa/product/report_form_config_reportcreater/reportresultquery.ts

@@ -0,0 +1,129 @@
+import type { BasePageModel, TableData } from '@sundata/ui-frame';
+import { baseFun } from '@sundata/ui-frame';
+
+// 报表定义基本信息表
+type ReportDefinitionModel = {
+    // 所属机构
+    reportOrgcode?: string;
+}
+
+// 报表计算单元清单表
+type ReportCalculationModel = {
+
+  // sheet页位置
+  reportUnitSheet?: string;
+  // 行位置
+  reportUnitRow?: string;
+  // 列位置
+  reportUnitCell?: string;
+};
+
+// 报表执行过程表
+export type ReportExecuteProcessModel = {
+    // 计算实例号
+    calcIndex: string;
+    // 起始数据日期
+    startDate: string;
+    // 截止数据日期
+    endDate: string;
+    // 年月
+    term: string;
+    // 数据日期
+    dataDate: string;
+    // 报表结果编号
+    reportResultNo: string;
+    // 报表编号
+    reportNo: string;
+    // 报表名称
+    reportName: string;
+    // 报表类型
+    reportType: string;
+    // 报表版本号
+    reportVersion: string;
+    // 开始时间
+    reportStartTime: string;
+    // 结束时间
+    reportEndTime: string;
+    // 计算耗时
+    reportCalcTook: string;
+  }& ReportDefinitionModel & BasePageModel;
+
+
+// 报表计算单元执行情况表
+export type ReportUnitExecuteStatusModel = {
+    // 计算实例号
+    calcIndex: string;
+    // 起始数据日期
+    startDate: string;
+    // 截止数据日期
+    endDate: string;
+    // 年月
+    term: string;
+    // 数据日期
+    dataDate: string;
+    // 报表结果编号
+    reportResultNo: string;
+    // 报表编号
+    reportNo: string;
+    // 计算单元id
+    reportUnitNo: string;
+    // 计算结果值
+    reportUnitResult: string;
+    // 计算耗时
+    calcTook: string;
+    // 开始时间
+    reportUnitStrTime: string;
+    // 结束时间
+    reportUnitEndTime: string;
+  }& ReportCalculationModel & BasePageModel;
+
+
+
+// 报表数据结果表
+export type ReportDataResultModel = {
+    // 计算实例号
+    calcIndex: string;
+    // 起始数据日期
+    startDate: string;
+    // 截止数据日期
+    endDate: string;
+    // 年月
+    term: string;
+    // 数据日期
+    dataDate: string;
+    // 机构编号
+    orgId: string;
+    // 报表版本号
+    reptVersion: string;
+    // 行号
+    rowSeq: string;
+    // 列号
+    colNum: string;
+    // 统计币种
+    statCurrcd: string;
+    // 汇总结果
+    sumResult: string;
+    // 合并行数
+    mergeLinecnt: string;
+    // 合并列数
+    mergeColcnt: string;
+    // 报表口径
+    reptCali: string;
+    // 报表编号
+    reptId: string;
+  } & BasePageModel;
+
+
+
+
+
+/** 获取页面初始化及条件查询 POST*/
+export async function getDataList(body:ReportExecuteProcessModel) {
+    return baseFun.request<ReportExecuteProcessModel[]>('/api/product/rwa/reportformconfigreportcreater/ReportResultQueryAction/getDataList.do',{data: body});
+}
+
+
+/** 获取单元格计算详情列表 POST*/
+export async function getUnitDataList(reportResultNo:string) {
+  return baseFun.request<ReportUnitExecuteStatusModel[]>('/api/product/rwa/reportformconfigreportcreater/ReportResultQueryAction/getUnitDataList.do',{params: {reportResultNo}});
+}

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff