|
|
@ -653,6 +653,18 @@ public class ContractualTaskResultsServiceImpl implements IContractualTaskResult |
|
|
|
return arrayNode.get(0).asText(); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (fieldName.equals("review_points_all")) { |
|
|
|
if (jsonNode.has("review_points") && jsonNode.get("review_points").isArray()) { |
|
|
|
JsonNode arrayNode = jsonNode.get("review_points"); |
|
|
|
StringBuilder result = new StringBuilder(); |
|
|
|
for (int i = 0; i < arrayNode.size(); i++) { |
|
|
|
if (i > 0) { |
|
|
|
result.append("\n"); |
|
|
|
} |
|
|
|
result.append(arrayNode.get(i).asText()); |
|
|
|
} |
|
|
|
return result.toString(); |
|
|
|
} |
|
|
|
} else if (fieldName.equals("review_content")) { |
|
|
|
if (jsonNode.has("review_content") && !jsonNode.get("review_content").isNull()) { |
|
|
|
return jsonNode.get("review_content").asText(); |
|
|
@ -675,6 +687,27 @@ public class ContractualTaskResultsServiceImpl implements IContractualTaskResult |
|
|
|
} |
|
|
|
|
|
|
|
XWPFParagraph paragraph = cell.addParagraph(); |
|
|
|
|
|
|
|
if (text != null && text.contains("\n")) { |
|
|
|
// 处理包含换行符的文本
|
|
|
|
String[] lines = text.split("\n"); |
|
|
|
for (int i = 0; i < lines.length; i++) { |
|
|
|
XWPFRun run = paragraph.createRun(); |
|
|
|
run.setText(lines[i]); |
|
|
|
run.setFontFamily("Microsoft YaHei"); |
|
|
|
run.setFontSize(12); |
|
|
|
|
|
|
|
if (isHeader) { |
|
|
|
run.setBold(true); |
|
|
|
} |
|
|
|
|
|
|
|
// 除了最后一行,其他行都添加换行符
|
|
|
|
if (i < lines.length - 1) { |
|
|
|
run.addBreak(); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 处理普通文本
|
|
|
|
XWPFRun run = paragraph.createRun(); |
|
|
|
run.setText(text != null ? text : ""); |
|
|
|
run.setFontFamily("Microsoft YaHei"); |
|
|
@ -682,6 +715,10 @@ public class ContractualTaskResultsServiceImpl implements IContractualTaskResult |
|
|
|
|
|
|
|
if (isHeader) { |
|
|
|
run.setBold(true); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (isHeader) { |
|
|
|
// 设置表头背景色
|
|
|
|
cell.setColor("E6E6E6"); |
|
|
|
} |
|
|
@ -729,7 +766,7 @@ public class ContractualTaskResultsServiceImpl implements IContractualTaskResult |
|
|
|
// 法规依据标签行(跨两列合并)
|
|
|
|
config.addCellConfig(new CellConfiguration(2, 0).header("法规依据").mergeHorizontal(2)); |
|
|
|
// 法规依据内容行(跨两列合并)
|
|
|
|
config.addCellConfig(new CellConfiguration(3, 0).field("review_points[0]").mergeHorizontal(2)); |
|
|
|
config.addCellConfig(new CellConfiguration(3, 0).field("review_points_all").mergeHorizontal(2)); |
|
|
|
break; |
|
|
|
|
|
|
|
case "一致性审查": |
|
|
@ -792,6 +829,8 @@ public class ContractualTaskResultsServiceImpl implements IContractualTaskResult |
|
|
|
return formatReviewBasisCombined(item.getReviewBasis()); |
|
|
|
case "review_points[0]": |
|
|
|
return formatReviewBasisField(item.getReviewBasis(), "review_points[0]"); |
|
|
|
case "review_points_all": |
|
|
|
return formatReviewBasisField(item.getReviewBasis(), "review_points_all"); |
|
|
|
case "review_content": |
|
|
|
return formatReviewBasisField(item.getReviewBasis(), "review_content"); |
|
|
|
case "": |
|
|
|