package com.ruoyi.requier.handler;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.deepoove.poi.data.*;
|
import com.deepoove.poi.data.style.*;
|
import com.ruoyi.framework.exception.ErrorException;
|
import com.ruoyi.inspect.dto.SampleProductDto;
|
import com.ruoyi.inspect.mapper.InsFiberMapper;
|
import com.ruoyi.inspect.mapper.InsProductMapper;
|
import com.ruoyi.inspect.mapper.InsProductResultMapper;
|
import com.ruoyi.inspect.pojo.InsFiber;
|
import com.ruoyi.inspect.pojo.InsProduct;
|
import com.ruoyi.inspect.pojo.InsProductResult;
|
import com.ruoyi.inspect.pojo.InsReport;
|
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
|
import org.apache.poi.xwpf.usermodel.TableRowAlign;
|
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
|
|
import java.util.*;
|
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.stream.Collectors;
|
import java.util.stream.Stream;
|
|
/**
|
* 温度循环报告生成处理方法
|
*/
|
public class TemperatureCyclingReportHandler1 {
|
|
private final InsProductMapper insProductMapper;
|
|
private final InsFiberMapper insFiberMapper;
|
|
private final InsProductResultMapper insProductResultMapper;
|
|
public TemperatureCyclingReportHandler1(InsProductMapper insProductMapper, InsFiberMapper insFiberMapper, InsProductResultMapper insProductResultMapper) {
|
this.insProductMapper = insProductMapper;
|
this.insFiberMapper = insFiberMapper;
|
this.insProductResultMapper = insProductResultMapper;
|
}
|
|
public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String, Object>> tables3) {
|
AtomicInteger index3 = new AtomicInteger(1);
|
// 自定义比较器
|
Comparator<InsProduct> customComparator = Comparator.comparing(
|
InsProduct::getInspectionItemSubclass,
|
Comparator.naturalOrder()
|
);
|
samples.forEach(sample -> {
|
// 查询温度循环下的检验项目
|
List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getState, 1)
|
.eq(InsProduct::getInsSampleId, sample.getId())
|
.isNotNull(InsProduct::getSpecialItemParentId)
|
.isNotNull(InsProduct::getInsFiberId)
|
.isNotNull(InsProduct::getInspectionItemClass));
|
//获取所有光纤色标
|
List<InsFiber> insFibers = insFiberMapper.selectBatchIds(insPros.stream().map(InsProduct::getInsFiberId).collect(Collectors.toList()));
|
//获取光纤色标的数量(行数)
|
long size2 = insPros.stream().map(InsProduct::getInsFiberId).distinct().count();
|
//获取所有的光纤项目(1310nm)
|
List<String> nm = insPros.stream().map(InsProduct::getInspectionItemClass).distinct().collect(Collectors.toList());
|
/*先根据循环次数进行遍历*/
|
Map<String, List<InsProduct>> xunhuans = insPros.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItem));
|
for (int i = 0; i < xunhuans.entrySet().size(); i++) {
|
//获取该循环的所有温度
|
String s1 = String.valueOf((i + 1));
|
//过滤出20℃(常温)和20℃
|
List<InsProduct> filterList = xunhuans.get(s1).stream().filter(f->f.getInspectionItemSubclass().equals("20℃(常温)")).collect(Collectors.toList());
|
List<InsProduct> filterList2 = xunhuans.get(s1).stream().filter(f->f.getInspectionItemSubclass().equals("20℃")).collect(Collectors.toList());
|
//排序其他温度
|
List<InsProduct> sortList = xunhuans.get(s1).stream()
|
.filter(f->!Arrays.asList("20℃(常温)","20℃").contains(f.getInspectionItemSubclass()))
|
.sorted(customComparator).collect(Collectors.toList());
|
//合并
|
Map<String, List<InsProduct>> wendus = Stream.of(filterList,sortList,filterList2).flatMap(List::stream).collect(Collectors.groupingBy(
|
InsProduct::getInspectionItemSubclass,
|
LinkedHashMap::new, // 保证 Map 中键的顺序是插入顺序
|
Collectors.toCollection(ArrayList::new) // 保证每个组内元素顺序
|
));
|
List<String> wendu = new ArrayList<>(wendus.keySet());
|
for (int m = 0; m < wendu.size(); m += 3) {
|
//三个温度一张表,当遍历到第四个温度的时候需要重新建表
|
List<RowRenderData> rows = new ArrayList<>();
|
//表格的行数(光纤色标的数量+8)
|
for (int j = 0; j < size2 + 8; j++) {
|
RowRenderData rowRenderData = new RowRenderData();
|
RowStyle rowStyle = new RowStyle();
|
rowStyle.setHeight(40);
|
rowRenderData.setRowStyle(rowStyle);
|
List<CellRenderData> cells = new ArrayList<>();
|
//表格的列数(2*光纤项目*3+1)
|
for (int k = 0; k < 6 * nm.size() + 1; k++) {
|
CellRenderData cellRenderData = new CellRenderData();
|
CellStyle cellStyle = new CellStyle();
|
cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
|
cellRenderData.setCellStyle(cellStyle);
|
List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
|
ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
|
ParagraphStyle paragraphStyle = new ParagraphStyle();
|
paragraphStyle.setAlign(ParagraphAlignment.CENTER);
|
paragraphRenderData.setParagraphStyle(paragraphStyle);
|
List<RenderData> renderData = new ArrayList<>();
|
TextRenderData textRenderData = new TextRenderData();
|
Style style = new Style();
|
style.setFontFamily("宋体");
|
style.setColor("000000");
|
style.setFontSize(10);
|
textRenderData.setStyle(style);
|
if (j == 0) {
|
//第一行
|
if (k <= (6L * nm.size() + 1) / 4) {
|
//第一列
|
textRenderData.setText("样品编号@Sample number∑1000");
|
} else if (k > (6L * nm.size() + 1) / 4 && k <= (6L * nm.size() + 1) / 2) {
|
//第二列
|
textRenderData.setText(sample.getSampleCode() + "∑998");
|
} else if (k > (6L * nm.size() + 1) / 2 && k < 6L * nm.size()) {
|
//第三列
|
textRenderData.setText("规格型号@Type ∑999");
|
} else {
|
//第四列
|
textRenderData.setText(sample.getModel());
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
else if (j == 1) {
|
//第二行
|
if (k == 0) {
|
//第一列
|
textRenderData.setText("光纤色标@ScanningNumber∑1004");
|
} else {
|
textRenderData.setText("检测结果(dB/km)(循环" + (i + 1) + ")∑1005");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
else if (j == 2) {
|
//第三行
|
if (k == 0) {
|
//第一列
|
textRenderData.setText("光纤色标@ScanningNumber∑1004");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (k <= 6L * nm.size() / 3) {
|
textRenderData.setText(wendu.get(m) + "∑52"+j + m);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
|
int i1 = m + 1;
|
String s = "";
|
try {
|
s = wendu.get(m + 1);
|
} catch (Exception e) {
|
}
|
textRenderData.setText(s + "∑52"+j + i1);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
int i1 = m + 2;
|
String s = "";
|
try {
|
s = wendu.get(m + 2);
|
} catch (Exception e) {
|
}
|
textRenderData.setText(s + "∑52" +j+ i1);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
else if (j == 3) {
|
//第四行
|
if (k == 0) {
|
//第一列
|
textRenderData.setText("光纤色标@ScanningNumber∑1004");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
for (int j1 = 0; j1 < 3; j1++) {//一张表3个温度
|
for (int i1 = 0; i1 < nm.size(); i1++) {//循环光纤项目:1310nm
|
if (k > 2 * j1 * nm.size() + 2 * i1 && k <= 2 * j1 * nm.size() + 2 * (i1 + 1)) {
|
textRenderData.setText(nm.get(i1) + "∑88888" + ((k + 1) / nm.size()) + i1);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
}
|
}
|
else if (j == 4) {
|
//第五行
|
if (k == 0) {
|
//第一列
|
textRenderData.setText("光纤色标@ScanningNumber∑1004");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (k % 2 == 1) {
|
if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20℃(常温)")) {
|
textRenderData.setText("衰减" + "∑42" +j+ k);
|
} else {
|
textRenderData.setText(" 衰减 ");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20℃(常温)")) {
|
textRenderData.setText("衰减" + "∑42"+j + (k - 1));
|
} else {
|
textRenderData.setText("|∆ α|");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
else if (j == size2 + 5) {
|
//倒数第三行
|
if (k == 0) {
|
//第一列
|
textRenderData.setText("|max|");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
else if (k % 2 == 0) {
|
String s = "";
|
if (k <= 6L * nm.size() / 3) {
|
s = wendu.get(m);
|
} else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
|
try {
|
s = wendu.get(m + 1);
|
} catch (Exception e) {
|
}
|
} else {
|
try {
|
s = wendu.get(m + 2);
|
} catch (Exception e) {
|
}
|
}
|
//计算第()温度的第()个项目的所有色标的最终值的最大值
|
if (s.equals("")) {
|
textRenderData.setText("");
|
} else {
|
try {
|
if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20℃(常温)")){
|
List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, sample.getId())
|
.isNotNull(InsProduct::getInsFiberId)
|
.eq(InsProduct::getInspectionItem, i + 1)
|
.eq(InsProduct::getInspectionItemSubclass, s)
|
.eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())))
|
.stream().map(InsProduct::getId).collect(Collectors.toList());
|
List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
|
Optional<String> max = insProductResults.stream().map(insProductResult -> {
|
{
|
String[] splitStr = insProductResult.getComValue().split(":");
|
return splitStr[splitStr.length - 1].split("\"")[1];
|
}
|
}).filter(value -> !value.isEmpty()).max(String::compareTo);
|
textRenderData.setText(max.get() + "∑"+j+ (k-1));
|
}else {
|
Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, sample.getId())
|
.isNotNull(InsProduct::getInsFiberId)
|
.eq(InsProduct::getInspectionItem, i + 1)
|
.eq(InsProduct::getInspectionItemSubclass, s)
|
.eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())))
|
.stream().map(InsProduct::getLastValue)
|
.filter(value -> !value.isEmpty())
|
.max(String::compareTo);
|
if (max.isPresent()) {
|
textRenderData.setText(max.get());
|
} else {
|
textRenderData.setText("");
|
}
|
}
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
else {
|
String s = "";
|
if (k <= 6L * nm.size() / 3) {
|
s = wendu.get(m);
|
} else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
|
try {
|
s = wendu.get(m + 1);
|
} catch (Exception e) {
|
}
|
} else {
|
try {
|
s = wendu.get(m + 2);
|
} catch (Exception e) {
|
}
|
}
|
//计算第()温度的第()个项目的所有色标的平均值的最大值
|
if (s.equals("")) {
|
textRenderData.setText("");
|
} else {
|
List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, sample.getId())
|
.isNotNull(InsProduct::getInsFiberId)
|
.eq(InsProduct::getInspectionItem, i + 1)
|
.eq(InsProduct::getInspectionItemSubclass, s)
|
.eq(InsProduct::getInspectionItemClass, nm.get((k - 1) / 2 % nm.size()))).stream().map(InsProduct::getId).collect(Collectors.toList());
|
List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
|
Optional<String> max = insProductResults.stream().map(insProductResult -> {
|
{
|
String[] splitStr = insProductResult.getComValue().split(":");
|
return splitStr[splitStr.length - 1].split("\"")[1];
|
}
|
}).filter(value -> !value.isEmpty()).max(String::compareTo);
|
if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20℃(常温)")){
|
textRenderData.setText(max.get() + "∑"+j+ k);
|
}else {
|
if (max.isPresent()) {
|
textRenderData.setText(max.get());
|
} else {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
else if (j == size2 + 6) {
|
//倒数第二行
|
if (k == 0) {
|
//第一列
|
textRenderData.setText("|∆ α max|");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (k % 2 == 0) {
|
String s = "";
|
if (k <= 6L * nm.size() / 3) {
|
s = wendu.get(m);
|
} else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
|
try {
|
s = wendu.get(m + 1);
|
} catch (Exception e) {
|
}
|
} else {
|
try {
|
s = wendu.get(m + 2);
|
} catch (Exception e) {
|
}
|
}
|
//计算第()温度的第()个项目的所有色标的最终值的最大值
|
if (s.equals("")) {
|
textRenderData.setText("");
|
} else {
|
if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20℃(常温)")) {
|
textRenderData.setText("-" + "∑" + j + (k-1));
|
} else {
|
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, sample.getId())
|
.isNotNull(InsProduct::getInsFiberId)
|
.eq(InsProduct::getInspectionItem, i + 1)
|
.eq(InsProduct::getInspectionItemSubclass, s)
|
.eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())));
|
try {
|
Optional<String> max = insProducts.stream().map(InsProduct::getLastValue)
|
.filter(value -> !value.isEmpty())
|
.max(String::compareTo);
|
if (max.isPresent()) {
|
textRenderData.setText(max.get());
|
} else {
|
textRenderData.setText("");
|
}
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20℃(常温)")) {
|
textRenderData.setText("-" + "∑" + j + k);
|
} else {
|
textRenderData.setText("-");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
else if (j == size2 + 7) {
|
//倒数第一行
|
textRenderData.setText("“|∆ α|”表示附加衰减绝对值∑111111");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
else {
|
//其余填写检验值的内容
|
if (k == 0) {
|
//第一列填写色标
|
InsFiber insFiber = insFibers.get((j - 5));
|
textRenderData.setText(insFiber.getBushColor() + "-" + insFiber.getColor());
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (k % 2 == 0) {
|
//填写衰减差就是last_value
|
String s = "";
|
if (k <= 6L * nm.size() / 3) {
|
s = wendu.get(m);
|
} else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
|
try {
|
s = wendu.get(m + 1);
|
} catch (Exception e) {
|
}
|
} else {
|
try {
|
s = wendu.get(m + 2);
|
} catch (Exception e) {
|
}
|
}
|
if (s.isEmpty()) {
|
textRenderData.setText("");
|
} else {
|
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, sample.getId())
|
.isNotNull(InsProduct::getInsFiberId)
|
.eq(InsProduct::getInsFiberId, insFibers.get(j - 5).getId())
|
.eq(InsProduct::getInspectionItem, i + 1)
|
.eq(InsProduct::getInspectionItemSubclass, s)
|
.eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())));
|
if (k <= 6L * nm.size() / 3 && s.equals("20℃(常温)")) {
|
String comValue = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
|
.eq(InsProductResult::getInsProductId, insProducts.get(0).getId()))
|
.getComValue();
|
String[] splitStr = comValue.split(":");
|
textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1] + "∑" + j + (k - 1));
|
} else {
|
textRenderData.setText(insProducts.get(0).getLastValue());
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//填写其余正常温度的衰减(result表里面的com_value)
|
String s = "";
|
if (k <= 6L * nm.size() / 3) {
|
s = wendu.get(m);
|
} else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
|
try {
|
s = wendu.get(m + 1);
|
} catch (Exception e) {
|
}
|
} else {
|
try {
|
s = wendu.get(m + 2);
|
} catch (Exception e) {
|
}
|
}
|
if (s.equals("")) {
|
textRenderData.setText("");
|
} else {
|
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, sample.getId())
|
.isNotNull(InsProduct::getInsFiberId)
|
.eq(InsProduct::getInsFiberId, insFibers.get(j - 5).getId())
|
.eq(InsProduct::getInspectionItem, i + 1)
|
.eq(InsProduct::getInspectionItemSubclass, s)
|
.eq(InsProduct::getInspectionItemClass, nm.get((k - 1) / 2 % nm.size())));
|
String comValue = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
|
.eq(InsProductResult::getInsProductId, insProducts.get(0).getId()))
|
.getComValue();
|
String[] splitStr = comValue.split(":");
|
if (k <= 6L * nm.size() / 3 && s.equals("20℃(常温)")) {
|
textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1] + "∑" + j + k);
|
} else {
|
textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1]);
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
rowRenderData.setCells(cells);
|
if (!rowRenderData.getCells().isEmpty()) {
|
rows.add(rowRenderData);
|
}
|
}
|
TableRenderData tableRenderData = new TableRenderData();
|
tableRenderData.setRows(rows);
|
int countSize = tableRenderData.getRows().get(0).getCells().size();
|
for (RowRenderData row : tableRenderData.getRows()) {
|
if (row.getCells().size() != countSize) {
|
throw new ErrorException("每行单元格不相等5");
|
}
|
}
|
TableStyle tableStyle = new TableStyle();
|
tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
|
tableStyle.setAlign(TableRowAlign.CENTER);
|
BorderStyle borderStyle = new BorderStyle();
|
borderStyle.setColor("000000");
|
borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
|
borderStyle.setSize(14);
|
tableStyle.setLeftBorder(borderStyle);
|
tableStyle.setTopBorder(borderStyle);
|
tableStyle.setRightBorder(borderStyle);
|
tableStyle.setBottomBorder(borderStyle);
|
tableRenderData.setTableStyle(tableStyle);
|
Map<String, Object> table = new HashMap<>();
|
table.put("table3", tableRenderData);
|
table.put("report", insReport);
|
table.put("index3", index3.get());
|
tables3.add(table);
|
index3.getAndIncrement();
|
}
|
}
|
});
|
}
|
|
}
|