优化审计报告生成接口
This commit is contained in:
@@ -20,6 +20,7 @@ import com.gxwebsoft.ai.config.TemplateConfig;
|
|||||||
import com.gxwebsoft.ai.dto.AuditReportRequest;
|
import com.gxwebsoft.ai.dto.AuditReportRequest;
|
||||||
import com.gxwebsoft.ai.dto.KnowledgeBaseRequest;
|
import com.gxwebsoft.ai.dto.KnowledgeBaseRequest;
|
||||||
import com.gxwebsoft.ai.enums.AuditReportEnum;
|
import com.gxwebsoft.ai.enums.AuditReportEnum;
|
||||||
|
import com.gxwebsoft.ai.util.AuditReportUtil;
|
||||||
import com.gxwebsoft.common.core.web.ApiResult;
|
import com.gxwebsoft.common.core.web.ApiResult;
|
||||||
import com.gxwebsoft.common.core.web.BaseController;
|
import com.gxwebsoft.common.core.web.BaseController;
|
||||||
import com.gxwebsoft.common.system.entity.User;
|
import com.gxwebsoft.common.system.entity.User;
|
||||||
@@ -88,11 +89,12 @@ public class AuditReportController extends BaseController {
|
|||||||
|
|
||||||
KnowledgeBaseRequest knowledgeBaseRequest = new KnowledgeBaseRequest();
|
KnowledgeBaseRequest knowledgeBaseRequest = new KnowledgeBaseRequest();
|
||||||
knowledgeBaseRequest.setKbId(req.getKbId());
|
knowledgeBaseRequest.setKbId(req.getKbId());
|
||||||
knowledgeBaseRequest.setFormCommit((req.getFormCommit() > 10) ? req.getFormCommit() / 10 : req.getFormCommit());
|
knowledgeBaseRequest.setFormCommit((req.getFormCommit() >= 10) ? req.getFormCommit() / 10 : req.getFormCommit());
|
||||||
String knowledge = knowledgeBaseController.query(knowledgeBaseRequest).getData().toString();
|
String knowledge = knowledgeBaseController.query(knowledgeBaseRequest).getData().toString();
|
||||||
|
|
||||||
String query = AuditReportEnum.getByCode(req.getFormCommit()).getDesc();
|
String query = AuditReportEnum.getByCode(req.getFormCommit()).getDesc();
|
||||||
String ret = this.invok(query, knowledge, req.getHistory(), req.getSuggestion(), loginUser.getUsername());
|
// String ret = this.invok(query, knowledge, AuditReportUtil.generateReportContent(req), req.getSuggestion(), loginUser.getUsername());
|
||||||
|
String ret = this.invok(query, knowledge, AuditReportUtil.generateReportContentByFormCommit(req), req.getSuggestion(), loginUser.getUsername());
|
||||||
|
|
||||||
return success(ret);
|
return success(ret);
|
||||||
}
|
}
|
||||||
@@ -112,13 +114,29 @@ public class AuditReportController extends BaseController {
|
|||||||
|
|
||||||
// 准备模板数据
|
// 准备模板数据
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put(AuditReportEnum.AUDIT_TITLE.getCode().toString(), req.getFrom0());
|
map.put(AuditReportEnum.TITLE.getCode().toString(), req.getFrom00());
|
||||||
map.put(AuditReportEnum.AUDIT_BASIS.getCode().toString(), convertNewlines(req.getFrom1()));
|
map.put(AuditReportEnum.BASIS.getCode().toString(), convertNewlines(req.getFrom10()));
|
||||||
map.put(AuditReportEnum.AUDIT_OBJECTIVE.getCode().toString(), convertNewlines(req.getFrom2()));
|
map.put(AuditReportEnum.OBJECTIVE.getCode().toString(), convertNewlines(req.getFrom20()));
|
||||||
map.put(AuditReportEnum.AUDIT_SCOPE.getCode().toString(), convertNewlines(req.getFrom3()));
|
map.put(AuditReportEnum.SCOPE.getCode().toString(), convertNewlines(req.getFrom30()));
|
||||||
map.put(AuditReportEnum.UNIT_OVERVIEW.getCode().toString(), convertNewlines(req.getFrom41()));
|
map.put(AuditReportEnum.UNIT_OVERVIEW.getCode().toString(), convertNewlines(req.getFrom41()));
|
||||||
map.put(AuditReportEnum.ORG_AND_PERSONNEL.getCode().toString(), convertNewlines(req.getFrom42()));
|
map.put(AuditReportEnum.ORG_PERSONNEL.getCode().toString(), convertNewlines(req.getFrom42()));
|
||||||
map.put(AuditReportEnum.AUDIT_CONTENT_METHODS.getCode().toString(), convertNewlines(req.getFrom5()));
|
map.put(AuditReportEnum.FINANCIAL_ACCOUNTING.getCode().toString(), convertNewlines(req.getFrom43()));
|
||||||
|
// 处理列表数据
|
||||||
|
map.put(AuditReportEnum.ANNUAL_BUSINESS.getCode().toString(), req.getFrom44());
|
||||||
|
map.put(AuditReportEnum.INTERNAL_CONTROL.getCode().toString(), convertNewlines(req.getFrom45()));
|
||||||
|
map.put(AuditReportEnum.ECONOMIC_POLICIES.getCode().toString(), convertNewlines(req.getFrom51()));
|
||||||
|
map.put(AuditReportEnum.DEV_STRATEGY.getCode().toString(), convertNewlines(req.getFrom52()));
|
||||||
|
map.put(AuditReportEnum.MAJOR_ECONOMIC.getCode().toString(), convertNewlines(req.getFrom53()));
|
||||||
|
map.put(AuditReportEnum.CORP_GOVERNANCE.getCode().toString(), convertNewlines(req.getFrom54()));
|
||||||
|
map.put(AuditReportEnum.FINANCIAL_LEGAL.getCode().toString(), convertNewlines(req.getFrom55()));
|
||||||
|
map.put(AuditReportEnum.INTEGRITY_COMPLIANCE.getCode().toString(), convertNewlines(req.getFrom56()));
|
||||||
|
map.put(AuditReportEnum.PREV_AUDIT_ISSUES.getCode().toString(), convertNewlines(req.getFrom57()));
|
||||||
|
map.put(AuditReportEnum.OTHER_MATTERS.getCode().toString(), convertNewlines(req.getFrom58()));
|
||||||
|
map.put(AuditReportEnum.RISK_IDENTIFY.getCode().toString(), convertNewlines(req.getFrom61()));
|
||||||
|
map.put(AuditReportEnum.RISK_RESPONSE.getCode().toString(), convertNewlines(req.getFrom62()));
|
||||||
|
map.put(AuditReportEnum.TECHNIQUES.getCode().toString(), convertNewlines(req.getFrom70()));
|
||||||
|
map.put(AuditReportEnum.SCHEDULE.getCode().toString(), convertNewlines(req.getFrom80()));
|
||||||
|
map.put(AuditReportEnum.ORGANIZATION.getCode().toString(), convertNewlines(req.getFrom90()));
|
||||||
|
|
||||||
// 使用Easypoi的Word模板功能
|
// 使用Easypoi的Word模板功能
|
||||||
XWPFDocument document = WordExportUtil.exportWord07(templateConfig.getWordTemplatePath(), map);
|
XWPFDocument document = WordExportUtil.exportWord07(templateConfig.getWordTemplatePath(), map);
|
||||||
@@ -141,14 +159,11 @@ public class AuditReportController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 将文本中的 \n\n 转换为Word可识别的换行格式
|
|
||||||
*/
|
|
||||||
private String convertNewlines(String text) {
|
private String convertNewlines(String text) {
|
||||||
if (text == null) {
|
if (text == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
String line = System.getProperty("line.separator");
|
text = text.replace("\n\n", "\n");
|
||||||
return text.replace("\n\n", line).replace("\n", line);
|
return text.replace("\n", "\r\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.gxwebsoft.ai.dto;
|
package com.gxwebsoft.ai.dto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -7,16 +9,16 @@ import lombok.Data;
|
|||||||
public class AuditReportRequest{
|
public class AuditReportRequest{
|
||||||
|
|
||||||
@Schema(description = "审计标题")
|
@Schema(description = "审计标题")
|
||||||
private String from0;
|
private String from00;
|
||||||
|
|
||||||
@Schema(description = "审计依据")
|
@Schema(description = "审计依据")
|
||||||
private String from1;
|
private String from10;
|
||||||
|
|
||||||
@Schema(description = "审计目标")
|
@Schema(description = "审计目标")
|
||||||
private String from2;
|
private String from20;
|
||||||
|
|
||||||
@Schema(description = "审计对象和范围")
|
@Schema(description = "审计对象和范围")
|
||||||
private String from3;
|
private String from30;
|
||||||
|
|
||||||
@Schema(description = "被审计单位基本情况-单位概况")
|
@Schema(description = "被审计单位基本情况-单位概况")
|
||||||
private String from41;
|
private String from41;
|
||||||
@@ -24,8 +26,53 @@ public class AuditReportRequest{
|
|||||||
@Schema(description = "被审计单位基本情况-机构和人员相关情况")
|
@Schema(description = "被审计单位基本情况-机构和人员相关情况")
|
||||||
private String from42;
|
private String from42;
|
||||||
|
|
||||||
@Schema(description = "审计内容和重点及审计方法")
|
@Schema(description = "被审计单位基本情况-财务会计、重大会计政策选用及变动情况")
|
||||||
private String from5;
|
private String from43;
|
||||||
|
|
||||||
|
@Schema(description = "审计期间合并口径年度资产负债及各项业务总体情况")
|
||||||
|
private List<String> from44;
|
||||||
|
|
||||||
|
@Schema(description = "被审计单位基本情况-相关内部控制")
|
||||||
|
private String from45;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-贯彻执行党和国家有关经济方针和上级决策部署情况")
|
||||||
|
private String from51;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-公司发展战略规划的制定、执行和效果情况以及年度责任目标完成情况")
|
||||||
|
private String from52;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-重大经济事项的决策、执行和效果情况")
|
||||||
|
private String from53;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-公司法人治理结构的建立、健全和运行情况,内部控制制度的制定和执行情况")
|
||||||
|
private String from54;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-公司财务的真实合法效益情况,风险管控情况,境外资产管理情况")
|
||||||
|
private String from55;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-在经济活动中落实有关党风廉政建设责任和遵守廉洁从业规定情况")
|
||||||
|
private String from56;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-对以往审计中发现问题的整改情况")
|
||||||
|
private String from57;
|
||||||
|
|
||||||
|
@Schema(description = "审计内容和重点及审计方法-其他需要审计的事项")
|
||||||
|
private String from58;
|
||||||
|
|
||||||
|
@Schema(description = "重要风险的识别及应对-重要风险的识别")
|
||||||
|
private String from61;
|
||||||
|
|
||||||
|
@Schema(description = "重要风险的识别及应对-风险的应对策略")
|
||||||
|
private String from62;
|
||||||
|
|
||||||
|
@Schema(description = "审计技术方法")
|
||||||
|
private String from70;
|
||||||
|
|
||||||
|
@Schema(description = "工作步骤与时间安排")
|
||||||
|
private String from80;
|
||||||
|
|
||||||
|
@Schema(description = "审计工作的组织实施")
|
||||||
|
private String from90;
|
||||||
|
|
||||||
@Schema(description = "知识库ID")
|
@Schema(description = "知识库ID")
|
||||||
private String kbId;
|
private String kbId;
|
||||||
|
|||||||
@@ -2,13 +2,37 @@ package com.gxwebsoft.ai.enums;
|
|||||||
|
|
||||||
public enum AuditReportEnum {
|
public enum AuditReportEnum {
|
||||||
|
|
||||||
AUDIT_TITLE(0, "审计标题"),
|
// 基础信息
|
||||||
AUDIT_BASIS(1, "审计依据"),
|
TITLE(00, "审计标题"),
|
||||||
AUDIT_OBJECTIVE(2, "审计目标"),
|
BASIS(10, "一、审计依据"),
|
||||||
AUDIT_SCOPE(3, "审计对象和范围"),
|
OBJECTIVE(20, "二、审计目标"),
|
||||||
UNIT_OVERVIEW(41, "被审计单位基本情况-单位概况"),
|
SCOPE(30, "三、审计对象和范围"),
|
||||||
ORG_AND_PERSONNEL(42, "被审计单位基本情况-机构和人员相关情况"),
|
|
||||||
AUDIT_CONTENT_METHODS(5, "审计内容和重点及审计方法");
|
// 被审计单位基本情况
|
||||||
|
UNIT_OVERVIEW(41, "四、被审计单位基本情况-(一)单位概况"),
|
||||||
|
ORG_PERSONNEL(42, "四、被审计单位基本情况-(二)机构和人员相关情况"),
|
||||||
|
FINANCIAL_ACCOUNTING(43, "四、被审计单位基本情况-(三)财务会计、重大会计政策选用及变动情况"),
|
||||||
|
ANNUAL_BUSINESS(44, "四、被审计单位基本情况-(四)审计期间合并口径年度资产负债及各项业务总体情况"),
|
||||||
|
INTERNAL_CONTROL(45, "四、被审计单位基本情况-(五)相关内部控制"),
|
||||||
|
|
||||||
|
// 审计内容和重点及审计方法
|
||||||
|
ECONOMIC_POLICIES(51, "五、审计内容和重点及审计方法-(一)贯彻执行党和国家有关经济方针和上级决策部署情况"),
|
||||||
|
DEV_STRATEGY(52, "五、审计内容和重点及审计方法-(二)公司发展战略规划的制定、执行和效果情况以及年度责任目标完成情况"),
|
||||||
|
MAJOR_ECONOMIC(53, "五、审计内容和重点及审计方法-(三)重大经济事项的决策、执行和效果情况"),
|
||||||
|
CORP_GOVERNANCE(54, "五、审计内容和重点及审计方法-(四)公司法人治理结构的建立、健全和运行情况,内部控制制度的制定和执行情况"),
|
||||||
|
FINANCIAL_LEGAL(55, "五、审计内容和重点及审计方法-(五)公司财务的真实合法效益情况,风险管控情况,境外资产管理情况"),
|
||||||
|
INTEGRITY_COMPLIANCE(56, "五、审计内容和重点及审计方法-(六)在经济活动中落实有关党风廉政建设责任和遵守廉洁从业规定情况"),
|
||||||
|
PREV_AUDIT_ISSUES(57, "五、审计内容和重点及审计方法-(七)对以往审计中发现问题的整改情况"),
|
||||||
|
OTHER_MATTERS(58, "五、审计内容和重点及审计方法-(八)其他需要审计的事项"),
|
||||||
|
|
||||||
|
// 重要风险的识别及应对
|
||||||
|
RISK_IDENTIFY(61, "六、重要风险的识别及应对-(一)重要风险的识别"),
|
||||||
|
RISK_RESPONSE(62, "六、重要风险的识别及应对-(二)风险的应对策略"),
|
||||||
|
|
||||||
|
// 其他部分
|
||||||
|
TECHNIQUES(70, "七、审计技术方法"),
|
||||||
|
SCHEDULE(80, "八、工作步骤与时间安排"),
|
||||||
|
ORGANIZATION(90, "九、审计工作的组织实施");
|
||||||
|
|
||||||
private final Integer code;
|
private final Integer code;
|
||||||
private final String desc;
|
private final String desc;
|
||||||
@@ -42,4 +66,35 @@ public enum AuditReportEnum {
|
|||||||
AuditReportEnum enumValue = getByCode(code);
|
AuditReportEnum enumValue = getByCode(code);
|
||||||
return enumValue != null ? enumValue.getDesc() : null;
|
return enumValue != null ? enumValue.getDesc() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据代码获取枚举名称
|
||||||
|
*/
|
||||||
|
public static String getNameByCode(Integer code) {
|
||||||
|
AuditReportEnum enumValue = getByCode(code);
|
||||||
|
return enumValue != null ? enumValue.name() : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据代码获取标题部分(不带序号)
|
||||||
|
*/
|
||||||
|
public static String getTitleByCode(Integer code) {
|
||||||
|
AuditReportEnum enumValue = getByCode(code);
|
||||||
|
if (enumValue == null) return null;
|
||||||
|
|
||||||
|
String desc = enumValue.getDesc();
|
||||||
|
int lastDashIndex = desc.lastIndexOf("-");
|
||||||
|
if (lastDashIndex > 0) {
|
||||||
|
return desc.substring(lastDashIndex + 1);
|
||||||
|
}
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据代码获取完整路径(带序号)
|
||||||
|
*/
|
||||||
|
public static String getFullPathByCode(Integer code) {
|
||||||
|
AuditReportEnum enumValue = getByCode(code);
|
||||||
|
return enumValue != null ? enumValue.getDesc() : null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
91
src/main/java/com/gxwebsoft/ai/util/AuditReportUtil.java
Normal file
91
src/main/java/com/gxwebsoft/ai/util/AuditReportUtil.java
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
package com.gxwebsoft.ai.util;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.gxwebsoft.ai.dto.AuditReportRequest;
|
||||||
|
|
||||||
|
public class AuditReportUtil {
|
||||||
|
|
||||||
|
public static String generateReportContent(AuditReportRequest request) {
|
||||||
|
// 创建模板字符串
|
||||||
|
String template =
|
||||||
|
"# \n" + request.getFrom00() + "\n\n" +
|
||||||
|
"## 一、审计依据\n" + request.getFrom10() + "\n\n" +
|
||||||
|
"## 二、审计目标\n" + request.getFrom20() + "\n\n" +
|
||||||
|
"## 三、审计对象和范围\n" + request.getFrom30() + "\n\n" +
|
||||||
|
"## 四、被审计单位基本情况\n" +
|
||||||
|
"### (一)单位概况\n" + request.getFrom41() + "\n" +
|
||||||
|
"### (二)机构和人员相关情况\n" + request.getFrom42() + "\n" +
|
||||||
|
"### (三)财务会计、重大会计政策选用及变动情况\n" + request.getFrom43() + "\n" + listToString(request.getFrom44()) + "\n" +
|
||||||
|
"### (五)相关内部控制\n" + request.getFrom45() + "\n\n" +
|
||||||
|
"## 五、审计内容和重点及审计方法\n" +
|
||||||
|
"### (一)贯彻执行党和国家有关经济方针和上级决策部署情况\n" + request.getFrom51() + "\n" +
|
||||||
|
"### (二)公司发展战略规划的制定、执行和效果情况以及年度责任目标完成情况\n" + request.getFrom52() + "\n" +
|
||||||
|
"### (三)重大经济事项的决策、执行和效果情况\n" + request.getFrom53() + "\n" +
|
||||||
|
"### (四)公司法人治理结构的建立、健全和运行情况,内部控制制度的制定和执行情况\n" + request.getFrom54() + "\n" +
|
||||||
|
"### (五)公司财务的真实合法效益情况,风险管控情况,境外资产管理情况\n" + request.getFrom55() + "\n" +
|
||||||
|
"### (六)在经济活动中落实有关党风廉政建设责任和遵守廉洁从业规定情况\n" + request.getFrom56() + "\n" +
|
||||||
|
"### (七)对以往审计中发现问题的整改情况\n" + request.getFrom57() + "\n" +
|
||||||
|
"### (八)其他需要审计的事项\n" + request.getFrom58() + "\n\n" +
|
||||||
|
"## 六、重要风险的识别及应对\n" +
|
||||||
|
"### (一)重要风险的识别\n" + request.getFrom61() + "\n" +
|
||||||
|
"### (二)风险的应对策略\n" + request.getFrom62() + "\n\n" +
|
||||||
|
"## 七、审计技术方法\n" + request.getFrom70() + "\n\n" +
|
||||||
|
"## 八、工作步骤与时间安排\n" + request.getFrom80() + "\n\n" +
|
||||||
|
"## 九、审计工作的组织实施\n" + request.getFrom90();
|
||||||
|
|
||||||
|
return template;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String listToString(List<String> list) {
|
||||||
|
if (list == null || list.isEmpty()) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (String item : list) {
|
||||||
|
sb.append(item).append("\n");
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String generateReportContentByFormCommit(AuditReportRequest request) {
|
||||||
|
int formCommit = (request.getFormCommit() >= 10) ? request.getFormCommit() / 10 : request.getFormCommit();
|
||||||
|
// 创建模板字符串
|
||||||
|
String template = "";
|
||||||
|
if(formCommit == 5) {
|
||||||
|
template =
|
||||||
|
"## 四、被审计单位基本情况\n" +
|
||||||
|
"### (一)单位概况\n" + request.getFrom41() + "\n" +
|
||||||
|
"### (二)机构和人员相关情况\n" + request.getFrom42() + "\n" +
|
||||||
|
"### (三)财务会计、重大会计政策选用及变动情况\n" + request.getFrom43() + "\n" + listToString(request.getFrom44()) + "\n" +
|
||||||
|
"### (五)相关内部控制\n" + request.getFrom45() + "\n\n" +
|
||||||
|
"## 五、审计内容和重点及审计方法\n" +
|
||||||
|
"### (一)贯彻执行党和国家有关经济方针和上级决策部署情况\n" + request.getFrom51() + "\n" +
|
||||||
|
"### (二)公司发展战略规划的制定、执行和效果情况以及年度责任目标完成情况\n" + request.getFrom52() + "\n" +
|
||||||
|
"### (三)重大经济事项的决策、执行和效果情况\n" + request.getFrom53() + "\n" +
|
||||||
|
"### (四)公司法人治理结构的建立、健全和运行情况,内部控制制度的制定和执行情况\n" + request.getFrom54() + "\n" +
|
||||||
|
"### (五)公司财务的真实合法效益情况,风险管控情况,境外资产管理情况\n" + request.getFrom55() + "\n" +
|
||||||
|
"### (六)在经济活动中落实有关党风廉政建设责任和遵守廉洁从业规定情况\n" + request.getFrom56() + "\n" +
|
||||||
|
"### (七)对以往审计中发现问题的整改情况\n" + request.getFrom57() + "\n" +
|
||||||
|
"### (八)其他需要审计的事项\n" + request.getFrom58() + "\n\n";
|
||||||
|
}else if(formCommit == 6) {
|
||||||
|
template =
|
||||||
|
"## 五、审计内容和重点及审计方法\n" +
|
||||||
|
"### (一)贯彻执行党和国家有关经济方针和上级决策部署情况\n" + request.getFrom51() + "\n" +
|
||||||
|
"### (二)公司发展战略规划的制定、执行和效果情况以及年度责任目标完成情况\n" + request.getFrom52() + "\n" +
|
||||||
|
"### (三)重大经济事项的决策、执行和效果情况\n" + request.getFrom53() + "\n" +
|
||||||
|
"### (四)公司法人治理结构的建立、健全和运行情况,内部控制制度的制定和执行情况\n" + request.getFrom54() + "\n" +
|
||||||
|
"### (五)公司财务的真实合法效益情况,风险管控情况,境外资产管理情况\n" + request.getFrom55() + "\n" +
|
||||||
|
"### (六)在经济活动中落实有关党风廉政建设责任和遵守廉洁从业规定情况\n" + request.getFrom56() + "\n" +
|
||||||
|
"### (七)对以往审计中发现问题的整改情况\n" + request.getFrom57() + "\n" +
|
||||||
|
"### (八)其他需要审计的事项\n" + request.getFrom58() + "\n\n" +
|
||||||
|
"## 六、重要风险的识别及应对\n" +
|
||||||
|
"### (一)重要风险的识别\n" + request.getFrom61() + "\n" +
|
||||||
|
"### (二)风险的应对策略\n" + request.getFrom62() + "\n\n";
|
||||||
|
}else {
|
||||||
|
template = request.getHistory();
|
||||||
|
}
|
||||||
|
return template.replaceAll("#", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user