报表基础模块:新增保存/修改/复制时校验xml、新增页眉页脚不支持的表达式提示

This commit is contained in:
gaoqr
2025-01-24 11:10:47 +08:00
parent 03e406fec4
commit f470af4e89
2 changed files with 15 additions and 2 deletions
@@ -57,6 +57,7 @@ import com.cf.imes.module.report.dal.mysql.datasource.ReportDatasourceMapper;
import com.cf.imes.module.report.dal.mysql.template.ReportTemplateMapper;
import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum;
import com.cf.imes.module.report.utils.TenantParamsUtils;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -135,7 +136,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
// url解码xml
String content = createReqVO.getContent();
if (StringUtils.isNotEmpty(content)) {
createReqVO.setContent(URLUtil.decode(content));
String decode = URLUtil.decode(content);
createReqVO.setContent(decode);
// 解析xml
new ReportParser().parse(new ByteArrayInputStream(decode.getBytes()), createReqVO.getName());
}
// 新增模板
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
@@ -184,6 +188,12 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
copyTemplateDO.setUpdater(null);
copyTemplateDO.setUpdateTime(null);
copyTemplateDO.setCreateTime(null);
// 解析xml
String content = copyTemplateDO.getContent();
if (StringUtil.isNotEmpty(content)) {
// 解析xml
new ReportParser().parse(new ByteArrayInputStream(content.getBytes()), createReqVO.getName());
}
// 生成id
copyTemplateDO.setId((Long) snowFlakeGenerator.nextId(null));
// 新增模版
@@ -204,7 +214,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
// url解码xml
String content = updateReqVO.getContent();
if (StringUtils.isNotEmpty(content)) {
updateReqVO.setContent(URLUtil.decode(content));
String decode = URLUtil.decode(content);
updateReqVO.setContent(decode);
// 解析xml
new ReportParser().parse(new ByteArrayInputStream(decode.getBytes()), updateReqVO.getName());
}
// 更新模板
ReportTemplateDO updateObj = BeanUtils.toBean(updateReqVO, ReportTemplateDO.class);