修改山洪表格显示以及模版简单修改

This commit is contained in:
wzy-warehouse
2026-06-28 17:08:25 +08:00
parent 9390c5dc85
commit ad05e64685
4 changed files with 13 additions and 5 deletions
@@ -48,6 +48,8 @@ public class DisasterRiskData {
private int index; private int index;
/** 位置 */ /** 位置 */
private String position; private String position;
/** 灾害点名称 */
private String disasterName;
/** 乡镇/街道 */ /** 乡镇/街道 */
private String village; private String village;
/** 发生概率(小数 0-1 */ /** 发生概率(小数 0-1 */
@@ -130,7 +130,7 @@ public class IReportOutputServiceImpl implements ReportOutputService {
inferenceResultFileMapper.upsert(id, relativePath, baseName); inferenceResultFileMapper.upsert(id, relativePath, baseName);
log.info("文件记录已写入: inference_id={}, file_name={}, file_path={}", id, baseName, relativePath); log.info("文件记录已写入: inference_id={}, file_name={}, file_path={}", id, baseName, relativePath);
return fileServerPath.replaceAll("/+$", "") + "/" + relativePath; return relativePath;
} }
/** /**
@@ -223,6 +223,7 @@ public class IReportOutputServiceImpl implements ReportOutputService {
String level = prob >= 70 ? "" : ""; String level = prob >= 70 ? "" : "";
return new DisasterRiskData.SpotRisk() return new DisasterRiskData.SpotRisk()
.setPosition(spot.getPosition()) .setPosition(spot.getPosition())
.setDisasterName(spot.getDisasterName())
.setVillage(spot.getVillage()) .setVillage(spot.getVillage())
.setProbability(prob) .setProbability(prob)
.setRiskLevel(level); .setRiskLevel(level);
@@ -34,22 +34,27 @@ public class ReportTableBuilder {
* 构建灾害风险表(四列:序号、位置、发生概率、灾害等级) * 构建灾害风险表(四列:序号、位置、发生概率、灾害等级)
*/ */
public static TableRenderData buildRiskTable(String disasterType, List<DisasterRiskData.SpotRisk> spots) { public static TableRenderData buildRiskTable(String disasterType, List<DisasterRiskData.SpotRisk> spots) {
// 山洪第二列用灾害点名称,其他用位置
boolean useDisasterName = "山洪".equals(disasterType);
String col2Header = useDisasterName ? "灾害名称" : "位置";
RowRenderData header = Rows.of( RowRenderData header = Rows.of(
"序号", "序号",
"位置", col2Header,
disasterType + "发生概率", disasterType + "发生概率",
"灾害等级" "灾害等级"
).textFontFamily("黑体").textFontSize(XIAO_SI_FONT).textBold().center().create(); ).textFontFamily("黑体").textFontSize(XIAO_SI_FONT).textBold().center().verticalCenter().create();
Tables.TableBuilder builder = Tables.of(header); Tables.TableBuilder builder = Tables.of(header);
AtomicInteger idx = new AtomicInteger(1); AtomicInteger idx = new AtomicInteger(1);
for (DisasterRiskData.SpotRisk spot : spots) { for (DisasterRiskData.SpotRisk spot : spots) {
String col2 = useDisasterName ? spot.getDisasterName() : spot.getPosition();
builder.addRow(Rows.of( builder.addRow(Rows.of(
String.valueOf(idx.getAndIncrement()), String.valueOf(idx.getAndIncrement()),
spot.getPosition(), col2,
PCT_FMT.format(spot.getProbability()) + "%", PCT_FMT.format(spot.getProbability()) + "%",
spot.getRiskLevel() spot.getRiskLevel()
).textFontFamily("仿宋_GB2312").textFontSize(XIAO_SI_FONT).center().create()); ).textFontFamily("仿宋_GB2312").textFontSize(XIAO_SI_FONT).center().verticalCenter().create());
} }
TableRenderData table = builder.create(); TableRenderData table = builder.create();