package com.yuanchu.mom.utils;
|
|
import cn.hutool.core.lang.UUID;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.deepoove.poi.XWPFTemplate;
|
import com.deepoove.poi.config.Configure;
|
import com.deepoove.poi.config.ConfigureBuilder;
|
import com.deepoove.poi.data.*;
|
import com.deepoove.poi.data.style.*;
|
import com.deepoove.poi.util.TableTools;
|
import com.yuanchu.mom.dto.InsReportDto1;
|
import com.yuanchu.mom.dto.InsReportDto2;
|
import com.yuanchu.mom.dto.SampleProductDto;
|
import com.yuanchu.mom.exception.ErrorException;
|
import com.yuanchu.mom.mapper.*;
|
import com.yuanchu.mom.pojo.*;
|
import org.apache.commons.io.IOUtils;
|
import org.apache.poi.openxml4j.util.ZipSecureFile;
|
import org.apache.poi.xwpf.usermodel.*;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHMerge;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTVMerge;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.io.*;
|
import java.nio.file.Files;
|
import java.nio.file.Paths;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.*;
|
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.stream.Collectors;
|
|
@Component
|
public class WordUtils {
|
|
@Value("${wordUrl}")
|
private String wordUrl;
|
|
@Resource
|
private InsOrderMapper insOrderMapper;
|
|
@Resource
|
private InsOrderFileMapper insOrderFileMapper;
|
|
@Resource
|
CustomMapper customMapper;
|
|
@Value("${file.path}")
|
private String imgUrl;
|
|
@Resource
|
InsReportMapper insReportMapper;
|
|
@Resource
|
private InsSampleMapper insSampleMapper;
|
|
@Resource
|
StandardMethodListMapper standardMethodListMapper;
|
|
@Value("${twoCode}")
|
private String twoCode;
|
|
@Resource
|
private InsProductMapper insProductMapper;
|
|
@Resource
|
private InsProductResult2Mapper insProductResult2Mapper;
|
|
@Resource
|
InsOrderUserMapper insOrderUserMapper;
|
|
@Resource
|
InsOrderStateMapper insOrderStateMapper;
|
|
@Resource
|
private InsProductResultMapper insProductResultMapper;
|
|
@Resource
|
UserMapper userMapper;
|
|
@Resource
|
InsSampleUserMapper insSampleUserMapper;
|
|
@Resource
|
GiveCode giveCode;
|
|
|
//生成站点电路试验报告(天线)
|
public void generateWord(String term, InsOrderState insOrderState) {
|
AtomicInteger lable = new AtomicInteger(1);
|
AtomicInteger index = new AtomicInteger();
|
String title = term + "电路参数";
|
List<Map<String, Object>> tables = new ArrayList<>();
|
//查询订单
|
InsOrder insOrder = insOrderMapper.selectById(insOrderState.getInsOrderId());
|
//查询样品
|
InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId());
|
//查询项目
|
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getState,1)
|
.eq(InsProduct::getInsSampleId, insSample.getId())
|
.eq(InsProduct::getSonLaboratory, "电路试验"));
|
//获取最大端口数量,角度数量,频段数量
|
List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
|
.eq(InsProductResult2::getNum, insOrderState.getNum())
|
.in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList())));
|
//按照频段分表(查询所有频段)
|
List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList());
|
frequencys.forEach(s -> {
|
int ports = 0;//端口数
|
int angles = 0;//角度数
|
List<InsProductResult2> productResult2s = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s)).collect(Collectors.toList());
|
for (InsProductResult2 insProductResult2 : productResult2s) {
|
if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("电压驻波比") && insProductResult2.getPort().split(",").length > ports) {
|
ports = insProductResult2.getPort().split(",").length;
|
}
|
if (insProductResult2.getAngle().split(",").length > angles) {
|
angles = insProductResult2.getAngle().split(",").length;
|
}
|
}
|
//频点数
|
long often = productResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s))
|
.filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("互调")
|
).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count();
|
List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList());
|
//行数
|
int aa = 0;
|
int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1;
|
//先判断是1简单版还是0复杂版
|
if (insOrderState.getVersion() == 1) {
|
if (inspectionItemSubclass.contains("电压驻波比")) {
|
aa += 2 * portRow;
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("互调")) {
|
aa += (angles + 1) * portRow * often;
|
}
|
} else {
|
if (inspectionItemSubclass.contains("电压驻波比")) {
|
aa += (angles + 1) * portRow;
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("同极化隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("同列隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("端口间隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("异极化隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("互调")) {
|
aa += (angles + 1) * portRow * often;
|
}
|
if (inspectionItemSubclass.contains("最大耦合度")) {
|
aa += (angles + 1);
|
}
|
if (inspectionItemSubclass.contains("最小耦合度")) {
|
aa += (angles + 1);
|
}
|
if (inspectionItemSubclass.contains("幅度偏差")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("幅度偏差")&& insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
}
|
if (inspectionItemSubclass.contains("最大相位偏差")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("最大相位偏差")&& insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
}
|
}
|
List<RowRenderData> rows = new ArrayList<>();
|
Set<String> itemSet = new HashSet<>();
|
int cc = 0;
|
int dd = 0;
|
int ee = 0;
|
int ff = 0;
|
int gg = 0;
|
int hh = 0;
|
int mm = 0;
|
int nn = 0;
|
int pp = 0;
|
//表格的行数
|
for (int i = 0; i <= aa; i++) {
|
RowRenderData rowRenderData = new RowRenderData();
|
RowStyle rowStyle = new RowStyle();
|
rowStyle.setHeight(40);
|
rowRenderData.setRowStyle(rowStyle);
|
List<CellRenderData> cells = new ArrayList<>();
|
//表格的列数
|
int bb = ports > 8 ? 14 : ports + 6;
|
for (int j = 0; j < bb; j++) {
|
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");
|
textRenderData.setStyle(style);
|
if (i == 0) {
|
//第一行
|
textRenderData.setText("频段:" + s + "∑0" + lable);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if (insOrderState.getVersion() == 1) {
|
//非电调版本(简单版)
|
if (inspectionItemSubclass.contains("电压驻波比") && i <= 2 * portRow) {
|
cc = 2 * portRow;
|
if (itemSet.add("电压驻波比")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//电压驻波比所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("电压驻波比∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if (i % 2 == 0) {
|
//最差值
|
textRenderData.setText("最差值");
|
} else {
|
//端口
|
textRenderData.setText("端口");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (i % 2 == 0) {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
} else {
|
textRenderData.setText("/");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if (i % 2 == 0) {
|
//最差值
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度") && i > cc && i <= cc + portRow) {
|
dd = cc + portRow;
|
if (itemSet.add("同极化隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同列隔离度") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) {
|
ee = (dd == 0 ? cc : dd) + portRow;
|
if (itemSet.add("同列隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow) {
|
ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow;
|
if (itemSet.add("端口间隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度") && i >(ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)&& i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow) {
|
gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow;
|
if (itemSet.add("异极化隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//异极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("异极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) {
|
if (itemSet.add("互调")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//互调所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("互调∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("角度");
|
} else {
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index);
|
} else {
|
String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\[");
|
String[] split = value[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
} else {
|
//电调版本(复杂版)
|
if (inspectionItemSubclass.contains("电压驻波比") && i <= (angles + 1) * portRow) {
|
cc = (angles + 1) * portRow;
|
if (itemSet.add("电压驻波比")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//电压驻波比所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("电压驻波比∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if (i % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (i % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if (i % (angles + 1) == 1) {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > cc && i <= cc + k) {
|
dd = cc + k;
|
if (itemSet.add("同极化隔离度")) {
|
index.getAndIncrement();
|
}
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - cc) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - cc) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - cc) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - cc) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - cc) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - cc) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) {
|
ee = (dd == 0 ? cc : dd) + k;
|
if (itemSet.add("同列隔离度")) {
|
index.getAndIncrement();
|
}
|
//隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k) {
|
ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k;
|
if (itemSet.add("端口间隔离度")) {
|
index.getAndIncrement();
|
}
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("端口间隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k) {
|
gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k;
|
if (itemSet.add("异极化隔离度")) {
|
index.getAndIncrement();
|
}
|
//异极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("异极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) && i <= ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often)) {
|
hh = (int) ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often);
|
if (itemSet.add("互调")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//互调所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("互调∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index);
|
} else {
|
//最差值
|
String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("最大耦合度") && i > (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) && i <= ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1))) {
|
mm = ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1));
|
if (itemSet.add("最大耦合度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大耦合度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//最大耦合度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最大耦合度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index);
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index);
|
} else {
|
textRenderData.setText("不判定∑8" + index);
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get(0).getOften() + "∑6" + index);
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
textRenderData.setText(split[0] + "∑7" + i);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("最小耦合度") && i > (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) && i <= ((mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1))) {
|
nn = (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1);
|
if (itemSet.add("最小耦合度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最小耦合度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//最小耦合度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最小耦合度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index);
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index);
|
} else {
|
textRenderData.setText("不判定∑8" + index);
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get(0).getOften() + "∑6" + index);
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
textRenderData.setText(split[0] + "∑7" + i);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("幅度偏差")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("幅度偏差")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) && i <= (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k) {
|
pp = (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k;
|
if (itemSet.add("幅度偏差")) {
|
index.getAndIncrement();
|
}
|
//幅度偏差所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("幅度偏差∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
//频段
|
textRenderData.setText("频段");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
//频段
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("最大相位偏差")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大相位偏差")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) {
|
if (itemSet.add("最大相位偏差")) {
|
index.getAndIncrement();
|
}
|
//最大相位偏差所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最大相位偏差∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
//频段
|
textRenderData.setText("频段");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
}
|
}
|
}
|
rowRenderData.setCells(cells);
|
if (rowRenderData.getCells().size() != 0) {
|
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("每行单元格不相等");
|
}
|
}
|
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(4);
|
tableStyle.setLeftBorder(borderStyle);
|
tableStyle.setTopBorder(borderStyle);
|
tableStyle.setRightBorder(borderStyle);
|
tableStyle.setBottomBorder(borderStyle);
|
tableRenderData.setTableStyle(tableStyle);
|
Map<String, Object> table = new HashMap<>();
|
table.put("table", tableRenderData);
|
tables.add(table);
|
lable.getAndIncrement();
|
});
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
InputStream inputStream = this.getClass().getResourceAsStream("/static/word1.docx");
|
|
ConfigureBuilder builder = Configure.builder();
|
builder.useSpringEL(true);
|
XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render(
|
new HashMap<String, Object>() {{
|
put("title", title);
|
put("tables", tables);
|
}});
|
String name = insOrder.getEntrustCode().replace("/", "") + "-" +insSample.getSampleCode()+"-"+ title + ".docx";
|
String url = UUID.randomUUID() + "_" + name;
|
try {
|
template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + url)));
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
// 处理合并单元格的问题
|
String path = wordUrl + "/" + url;
|
try {
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
FileInputStream stream = new FileInputStream(path);
|
XWPFDocument document = new XWPFDocument(stream);
|
List<XWPFTable> xwpfTables = document.getTables();
|
for (int i = 0; i < xwpfTables.size(); i++) {
|
Set<String> set1 = new HashSet<>();
|
Map<String, Map<String, Integer>> maps = new HashMap<>();
|
for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) {
|
for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) {
|
if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("∑") > -1) {
|
String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑");
|
if (set1.add(split[1])) {
|
Map<String, Integer> map = new HashMap<>();
|
map.put("sr", j);
|
map.put("sc", k);
|
map.put("er", j + 0);
|
map.put("ec", k + 0);
|
maps.put(split[1], map);
|
} else {
|
Map<String, Integer> map1 = maps.get(split[1]);
|
if (j == map1.get("sr")) {
|
map1.put("ec", map1.get("ec") + 1);
|
} else if (k == map1.get("sc")) {
|
map1.put("er", map1.get("er") + 1);
|
}
|
}
|
String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑")[0];
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER);
|
}
|
}
|
}
|
|
// 单元格排序, 避免格式错乱
|
List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet());
|
entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc"));
|
|
// 按照顺序添加进集合
|
List<String> list = new ArrayList<>();
|
for (Map.Entry<String, Map<String, Integer>> entry : entries) {
|
list.add(entry.getKey());
|
}
|
/*List<String> list = new ArrayList<>();
|
for (String s : maps.keySet()) {
|
list.add(s);
|
}*/
|
for (int a = list.size() - 1; a >= 0; a--) {
|
Map<String, Integer> v = maps.get(list.get(a));
|
for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) {
|
if (v.get("ec") > v.get("sc")) {
|
try {
|
TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec"));
|
} catch (Exception e) {
|
}
|
}
|
}
|
if (v.get("er") > v.get("sr")) {
|
try {
|
TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er"));
|
} catch (Exception e) {
|
}
|
}
|
}
|
}
|
FileOutputStream fileOutputStream = new FileOutputStream(path);
|
document.write(fileOutputStream);
|
fileOutputStream.close();
|
} catch (FileNotFoundException e) {
|
throw new RuntimeException(e);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
InsOrderFile insOrderFile = new InsOrderFile();
|
insOrderFile.setInsOrderId(insOrderState.getInsOrderId());
|
insOrderFile.setInsSampleId(insOrderState.getInsSampleId());
|
insOrderFile.setFileName(name);
|
insOrderFile.setType(2);
|
insOrderFile.setFileUrl(url);
|
insOrderFile.setSonLaboratory("电路试验");
|
insOrderFileMapper.insert(insOrderFile);
|
}
|
|
//生成站点电路试验报告(无源器件)
|
public void generateWord2(String term, InsOrderState insOrderState) {
|
AtomicInteger lable = new AtomicInteger(1);
|
AtomicInteger index = new AtomicInteger();
|
String title = term + "电路参数";
|
List<Map<String, Object>> tables = new ArrayList<>();
|
//查询订单
|
InsOrder insOrder = insOrderMapper.selectById(insOrderState.getInsOrderId());
|
//查询样品
|
InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId());
|
//查询项目
|
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getState,1)
|
.eq(InsProduct::getInsSampleId, insSample.getId())
|
.eq(InsProduct::getSonLaboratory, "电路试验"));
|
//获取最大端口数量,角度数量,频段数量
|
List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
|
.eq(InsProductResult2::getNum, insOrderState.getNum())
|
.in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList())));
|
//按照频段分表(查询所有频段)
|
List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList());
|
frequencys.forEach(s -> {
|
int ports = 0;//端口数
|
int angles = 0;//角度数
|
List<InsProductResult2> productResult2s = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s)).collect(Collectors.toList());
|
for (InsProductResult2 insProductResult2 : productResult2s) {
|
if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("电压驻波比") && insProductResult2.getPort().split(",").length > ports) {
|
ports = insProductResult2.getPort().split(",").length;
|
}
|
if (insProductResult2.getAngle().split(",").length > angles) {
|
angles = insProductResult2.getAngle().split(",").length;
|
}
|
}
|
//频点数
|
long often = productResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s))
|
.filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("互调")
|
).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count();
|
List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList());
|
//行数
|
int aa = 0;
|
int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1;
|
//先判断是1简单版还是0复杂版
|
if (insOrderState.getVersion() == 1) {
|
if (inspectionItemSubclass.contains("电压驻波比")) {
|
aa += 2 * portRow;
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("互调")) {
|
aa += (angles + 1) * portRow * often;
|
}
|
} else {
|
if (inspectionItemSubclass.contains("电压驻波比")) {
|
aa += (angles + 1) * portRow;
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("同极化隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("同列隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("端口间隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("异极化隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("互调")) {
|
aa += (angles + 1) * portRow * often;
|
}
|
if (inspectionItemSubclass.contains("最大耦合度")) {
|
aa += (angles + 1);
|
}
|
if (inspectionItemSubclass.contains("最小耦合度")) {
|
aa += (angles + 1);
|
}
|
if (inspectionItemSubclass.contains("幅度偏差")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("幅度偏差")&& insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
}
|
if (inspectionItemSubclass.contains("最大相位偏差")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("最大相位偏差")&& insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
}
|
}
|
List<RowRenderData> rows = new ArrayList<>();
|
Set<String> itemSet = new HashSet<>();
|
int cc = 0;
|
int dd = 0;
|
int ee = 0;
|
int ff = 0;
|
int gg = 0;
|
int hh = 0;
|
int mm = 0;
|
int nn = 0;
|
int pp = 0;
|
//表格的行数
|
for (int i = 0; i <= aa; i++) {
|
RowRenderData rowRenderData = new RowRenderData();
|
RowStyle rowStyle = new RowStyle();
|
rowStyle.setHeight(40);
|
rowRenderData.setRowStyle(rowStyle);
|
List<CellRenderData> cells = new ArrayList<>();
|
//表格的列数
|
int bb = ports > 8 ? 14 : ports + 6;
|
for (int j = 0; j < bb; j++) {
|
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");
|
textRenderData.setStyle(style);
|
if (i == 0) {
|
//第一行
|
textRenderData.setText("频段:" + s + "∑0" + lable);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if (insOrderState.getVersion() == 1) {
|
//非电调版本(简单版)
|
if (inspectionItemSubclass.contains("电压驻波比") && i <= 2 * portRow) {
|
cc = 2 * portRow;
|
if (itemSet.add("电压驻波比")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//电压驻波比所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("电压驻波比∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if (i % 2 == 0) {
|
//最差值
|
textRenderData.setText("最差值");
|
} else {
|
//端口
|
textRenderData.setText("端口");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (i % 2 == 0) {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
} else {
|
textRenderData.setText("/");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if (i % 2 == 0) {
|
//最差值
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度") && i > cc && i <= cc + portRow) {
|
dd = cc + portRow;
|
if (itemSet.add("同极化隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同列隔离度") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) {
|
ee = (dd == 0 ? cc : dd) + portRow;
|
if (itemSet.add("同列隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow) {
|
ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow;
|
if (itemSet.add("端口间隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度") && i >(ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)&& i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow) {
|
gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow;
|
if (itemSet.add("异极化隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//异极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("异极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) {
|
if (itemSet.add("互调")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//互调所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("互调∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("角度");
|
} else {
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index);
|
} else {
|
String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\[");
|
String[] split = value[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
} else {
|
//电调版本(复杂版)
|
if (inspectionItemSubclass.contains("电压驻波比") && i <= (angles + 1) * portRow) {
|
cc = (angles + 1) * portRow;
|
if (itemSet.add("电压驻波比")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//电压驻波比所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("电压驻波比∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if (i % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (i % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if (i % (angles + 1) == 1) {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > cc && i <= cc + k) {
|
dd = cc + k;
|
if (itemSet.add("同极化隔离度")) {
|
index.getAndIncrement();
|
}
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - cc) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - cc) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - cc) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - cc) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - cc) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - cc) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) {
|
ee = (dd == 0 ? cc : dd) + k;
|
if (itemSet.add("同列隔离度")) {
|
index.getAndIncrement();
|
}
|
//隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k) {
|
ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k;
|
if (itemSet.add("端口间隔离度")) {
|
index.getAndIncrement();
|
}
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("端口间隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k) {
|
gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k;
|
if (itemSet.add("异极化隔离度")) {
|
index.getAndIncrement();
|
}
|
//异极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("异极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) && i <= ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often)) {
|
hh = (int) ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often);
|
if (itemSet.add("互调")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//互调所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("互调∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index);
|
} else {
|
//最差值
|
String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("最大耦合度") && i > (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) && i <= ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1))) {
|
mm = ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1));
|
if (itemSet.add("最大耦合度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大耦合度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//最大耦合度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最大耦合度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index);
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index);
|
} else {
|
textRenderData.setText("不判定∑8" + index);
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get(0).getOften() + "∑6" + index);
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
textRenderData.setText(split[0] + "∑7" + i);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("最小耦合度") && i > (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) && i <= ((mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1))) {
|
nn = (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1);
|
if (itemSet.add("最小耦合度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最小耦合度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//最小耦合度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最小耦合度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index);
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index);
|
} else {
|
textRenderData.setText("不判定∑8" + index);
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get(0).getOften() + "∑6" + index);
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
textRenderData.setText(split[0] + "∑7" + i);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("幅度偏差")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("幅度偏差")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) && i <= (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k) {
|
pp = (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k;
|
if (itemSet.add("幅度偏差")) {
|
index.getAndIncrement();
|
}
|
//幅度偏差所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("幅度偏差∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
//频段
|
textRenderData.setText("频段");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
//频段
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("最大相位偏差")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大相位偏差")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) {
|
if (itemSet.add("最大相位偏差")) {
|
index.getAndIncrement();
|
}
|
//最大相位偏差所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最大相位偏差∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
//频段
|
textRenderData.setText("频段");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
}
|
}
|
}
|
rowRenderData.setCells(cells);
|
if (rowRenderData.getCells().size() != 0) {
|
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("每行单元格不相等");
|
}
|
}
|
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(4);
|
tableStyle.setLeftBorder(borderStyle);
|
tableStyle.setTopBorder(borderStyle);
|
tableStyle.setRightBorder(borderStyle);
|
tableStyle.setBottomBorder(borderStyle);
|
tableRenderData.setTableStyle(tableStyle);
|
Map<String, Object> table = new HashMap<>();
|
table.put("table", tableRenderData);
|
tables.add(table);
|
lable.getAndIncrement();
|
});
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
InputStream inputStream = this.getClass().getResourceAsStream("/static/word1.docx");
|
|
ConfigureBuilder builder = Configure.builder();
|
builder.useSpringEL(true);
|
XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render(
|
new HashMap<String, Object>() {{
|
put("title", title);
|
put("tables", tables);
|
}});
|
String name = insOrder.getEntrustCode().replace("/", "") + "-" +insSample.getSampleCode()+"-"+ title + ".docx";
|
String url = UUID.randomUUID() + "_" + name;
|
try {
|
template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + url)));
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
// 处理合并单元格的问题
|
String path = wordUrl + "/" + url;
|
try {
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
FileInputStream stream = new FileInputStream(path);
|
XWPFDocument document = new XWPFDocument(stream);
|
List<XWPFTable> xwpfTables = document.getTables();
|
for (int i = 0; i < xwpfTables.size(); i++) {
|
Set<String> set1 = new HashSet<>();
|
Map<String, Map<String, Integer>> maps = new HashMap<>();
|
for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) {
|
for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) {
|
if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("∑") > -1) {
|
String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑");
|
if (set1.add(split[1])) {
|
Map<String, Integer> map = new HashMap<>();
|
map.put("sr", j);
|
map.put("sc", k);
|
map.put("er", j + 0);
|
map.put("ec", k + 0);
|
maps.put(split[1], map);
|
} else {
|
Map<String, Integer> map1 = maps.get(split[1]);
|
if (j == map1.get("sr")) {
|
map1.put("ec", map1.get("ec") + 1);
|
} else if (k == map1.get("sc")) {
|
map1.put("er", map1.get("er") + 1);
|
}
|
}
|
String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑")[0];
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER);
|
}
|
}
|
}
|
|
// 单元格排序, 避免格式错乱
|
List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet());
|
entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc"));
|
|
// 按照顺序添加进集合
|
List<String> list = new ArrayList<>();
|
for (Map.Entry<String, Map<String, Integer>> entry : entries) {
|
list.add(entry.getKey());
|
}
|
/*List<String> list = new ArrayList<>();
|
for (String s : maps.keySet()) {
|
list.add(s);
|
}*/
|
for (int a = list.size() - 1; a >= 0; a--) {
|
Map<String, Integer> v = maps.get(list.get(a));
|
for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) {
|
if (v.get("ec") > v.get("sc")) {
|
try {
|
TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec"));
|
} catch (Exception e) {
|
}
|
}
|
}
|
if (v.get("er") > v.get("sr")) {
|
try {
|
TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er"));
|
} catch (Exception e) {
|
}
|
}
|
}
|
}
|
FileOutputStream fileOutputStream = new FileOutputStream(path);
|
document.write(fileOutputStream);
|
fileOutputStream.close();
|
} catch (FileNotFoundException e) {
|
throw new RuntimeException(e);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
InsOrderFile insOrderFile = new InsOrderFile();
|
insOrderFile.setInsOrderId(insOrderState.getInsOrderId());
|
insOrderFile.setInsSampleId(insOrderState.getInsSampleId());
|
insOrderFile.setFileName(name);
|
insOrderFile.setType(2);
|
insOrderFile.setFileUrl(url);
|
insOrderFile.setSonLaboratory("电路试验");
|
insOrderFileMapper.insert(insOrderFile);
|
}
|
|
//生成总报告
|
public void generateReport(Integer orderId, InsReportDto1 insReportDto1) {
|
LocalDateTime now = LocalDateTime.now();
|
InsOrder insOrder = insOrderMapper.selectById(orderId);
|
//委托部门 departLims
|
String departLims = userMapper.selectDepartLims(insOrder.getPrepareUser());
|
SampleProductDto insSample = insSampleMapper.selectSampleProductListByOrderId(insReportDto1.getSampleId());
|
String sampleCode = insSample.getSampleCode();
|
InsReport insReport = new InsReport();
|
insReport.setCode(giveCode.giveCode("TXJC-", "ins_report", "-", "yyMMdd"));
|
insReport.setInsSampleId(insSample.getId());
|
insReport.setInsOrderId(orderId);
|
Set<String> standardMethod = new HashSet<>();
|
Set<String> deviceSet = new HashSet<>();
|
Set<String> models = new HashSet<>();
|
|
AtomicReference<Integer> productSize = new AtomicReference<>(0);
|
AtomicReference<Integer> productSize1 = new AtomicReference<>(0);
|
AtomicReference<Integer> productSize2 = new AtomicReference<>(0);
|
AtomicReference<Integer> productSize3 = new AtomicReference<>(0);
|
String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
|
SampleProductDto s=insSample;
|
models.add(s.getModel());
|
standardMethod.addAll(standardMethodListMapper.selectList(Wrappers.<StandardMethodList>lambdaQuery()
|
.in(StandardMethodList::getId, Arrays.stream(s.getStandardMethodListId().replaceAll("[\\[\\]]", "").split(","))
|
.map(String::trim).map(Integer::parseInt).collect(Collectors.toList()))).stream().map(aa -> {
|
return aa.getCode() + " " + aa.getName();
|
}).distinct().collect(Collectors.toList()));
|
//总数
|
Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, s.getId()));
|
productSize.set(productSize.get() + Integer.parseInt(productCount + ""));
|
//不判定
|
Long productCount1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, s.getId())
|
.eq(InsProduct::getInsResult, 3));
|
productSize1.set(productSize1.get() + Integer.parseInt(productCount1 + ""));
|
//不合格
|
Long productCount2 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, s.getId())
|
.eq(InsProduct::getInsResult, 0));
|
productSize2.set(productSize2.get() + Integer.parseInt(productCount2 + ""));
|
//合格
|
Long productCount3 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getInsSampleId, s.getId())
|
.eq(InsProduct::getInsResult, 1));
|
productSize3.set(productSize3.get() + Integer.parseInt(productCount3 + ""));
|
//将项目按照站点进行分类
|
Map<String, List<InsProduct>> listMap = s.getInsProduct().stream().collect(Collectors.groupingBy(InsProduct::getSonLaboratory));
|
// 创建一个 Map 将站点和项目ID的映射关系
|
Map<String, Set<Integer>> labToDeviceMap = new HashMap<>();
|
// 获取所有站点的项目ID 列表
|
for (Map.Entry<String, List<InsProduct>> entry : listMap.entrySet()) {
|
Set<Integer> productIds = entry.getValue().stream()
|
.map(InsProduct::getId)
|
.collect(Collectors.toSet());
|
labToDeviceMap.put(entry.getKey(), productIds);
|
}
|
for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) {
|
String laboratory = insReportDto2.getLaboratory();
|
if (!labToDeviceMap.containsKey(laboratory)) {
|
continue;
|
}
|
Set<Integer> productIds = labToDeviceMap.get(laboratory);
|
Integer num = insReportDto2.getNum();
|
//普通试验结果表
|
List<InsProductResult> insProductResults = insProductResultMapper.selectList(
|
Wrappers.<InsProductResult>lambdaQuery()
|
.eq(InsProductResult::getNum, num)
|
.in(InsProductResult::getInsProductId, productIds));
|
for (InsProductResult insProductResult : insProductResults) {
|
List<JSONObject> jsonObjects = JSON.parseArray(insProductResult.getEquipValue(), JSONObject.class);
|
if (ObjectUtils.isNotEmpty(jsonObjects)) {
|
for (JSONObject jsonObject : jsonObjects) {
|
String value = jsonObject.getString("v");
|
if (value != null && !value.isEmpty()) {
|
deviceSet.add(value);
|
}
|
}
|
}
|
}
|
//电路试验结果表
|
List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(
|
Wrappers.<InsProductResult2>lambdaQuery()
|
.eq(InsProductResult2::getNum, num)
|
.in(InsProductResult2::getInsProductId, productIds));
|
for (InsProductResult2 result2 : insProductResult2s) {
|
String equipValue = result2.getEquipValue();
|
if (equipValue != null && !equipValue.isEmpty()) {
|
deviceSet.add(equipValue);
|
}
|
}
|
}
|
|
|
/*检验情况一览表*/
|
List<Map<String, String>> tables = new ArrayList<>();
|
List<Map<String, Object>> tables2 = new ArrayList<>();
|
List<Map<String, Object>> tables3 = new ArrayList<>();
|
List<Map<String, Object>> tables4 = new ArrayList<>();
|
Integer indexs = 1;
|
//判断是否有电路试验,环境试验
|
List<String> strings = insReportDto1.getInsReportDto2s().stream().map(InsReportDto2::getLaboratory).distinct().collect(Collectors.toList());
|
if (strings.contains("近场") || strings.contains("远场")) {
|
Map<String, String> table = new HashMap<>();
|
table.put("indexs", indexs + "");
|
indexs += 1;
|
table.put("term", "辐射方向图参数");
|
table.put("result", "不判定");
|
tables.add(table);
|
/*辐射的试验表*/
|
List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery()
|
.eq(InsOrderFile::getInsOrderId, orderId)
|
.eq(InsOrderFile::getInsSampleId, insReportDto1.getSampleId())
|
.like(InsOrderFile::getFileName, "解析的辐射站点报告")
|
.and(wrapper -> wrapper
|
.eq(InsOrderFile::getSonLaboratory, "远场")
|
.or()
|
.eq(InsOrderFile::getSonLaboratory, "近场")
|
));
|
if (insOrderFiles.size() > 0) {
|
int aa = 0;
|
for (InsOrderFile insOrderFile : insOrderFiles) {
|
try {
|
XWPFDocument circuitParamsDoc = new XWPFDocument(new FileInputStream(wordUrl + "/" + insOrderFile.getFileUrl()));
|
// 遍历电路参数文件的所有元素,段落和表格
|
for (IBodyElement element : circuitParamsDoc.getBodyElements()) {
|
Map<String, Object> table3 = new HashMap<>();
|
TableRenderData tableData = new TableRenderData();
|
List<RowRenderData> rows = new ArrayList<>();
|
if (element instanceof XWPFTable) {
|
aa += 1;
|
XWPFTable tab = (XWPFTable) element;
|
List<XWPFTableRow> row = tab.getRows();
|
for (int i = 0; i < row.size(); i++) {
|
RowRenderData rowRenderData = new RowRenderData();
|
List<CellRenderData> cells = new ArrayList<>();
|
List<XWPFTableCell> cell = row.get(i).getTableCells();
|
for (int j = 0; j < cell.size(); j++) {
|
CellRenderData cellRenderData = new CellRenderData();
|
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");
|
textRenderData.setStyle(style);
|
CTTcPr tcPr = cell.get(j).getCTTc().getTcPr();
|
if (tcPr != null) {
|
//合并列
|
CTHMerge hMerge = tcPr.getHMerge();
|
if (ObjectUtils.isNotEmpty(hMerge)) {
|
if (STMerge.RESTART.equals(hMerge.getVal()) || STMerge.CONTINUE.equals(hMerge.getVal())) {
|
int index = j;
|
String text = null;
|
while (text == null || text.equals("")) {
|
if (index < 0) {
|
text = "/";
|
}
|
text = cell.get(index).getText();
|
index--;
|
}
|
textRenderData.setText(text + "∑88" + aa + i);
|
}
|
}
|
//合并行
|
CTVMerge vMerge = tcPr.getVMerge();
|
if (ObjectUtils.isNotEmpty(vMerge)) {
|
if (STMerge.RESTART.equals(vMerge.getVal()) || STMerge.CONTINUE.equals(vMerge.getVal())) {
|
int index = i;
|
String text = null;
|
while (text == null || text.equals("")) {
|
if (index < 0) {
|
text = "/";
|
break;
|
}
|
text = row.get(index).getCell(j).getText();
|
index--;
|
}
|
if (text.equals("合格") || text.equals("不合格")) {
|
textRenderData.setText(text + "∑25" + aa + j);
|
} else {
|
textRenderData.setText(text + "∑22" + aa + j);
|
}
|
}
|
}
|
} else {
|
textRenderData.setText(cell.get(j).getText());
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
rowRenderData.setCells(cells);
|
rows.add(rowRenderData);
|
}
|
tableData.setRows(rows);
|
table3.put("table3", tableData);
|
tables3.add(table3);
|
}
|
}
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
if (strings.contains("电路试验")) {
|
strings.remove("电路试验");
|
strings.remove("近场");
|
strings.remove("远场");
|
List<Integer> productIdes = insSample.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList());
|
List<Integer> collect = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
|
.in(InsProductResult2::getInsProductId, productIdes))
|
.stream().map(InsProductResult2::getResult).distinct().collect(Collectors.toList());
|
//如果有环境试验
|
if (strings.size() > 0) {
|
Map<String, String> table1 = new HashMap<>();
|
table1.put("indexs", indexs + "");
|
table1.put("term", "环境试验前电路参数");
|
if (collect.contains(0)) {
|
table1.put("result", "不合格");
|
} else {
|
table1.put("result", "合格");
|
}
|
tables.add(table1);
|
indexs += 1;
|
|
Map<String, String> table2 = new HashMap<>();
|
table2.put("indexs", "环境试验:" + String.join("、", strings) + "∑1");
|
table2.put("term", "环境试验:" + String.join("、", strings) + "∑1");
|
table2.put("result", "环境试验:" + String.join("、", strings) + "∑1");
|
tables.add(table2);
|
|
Map<String, String> table3 = new HashMap<>();
|
table3.put("indexs", indexs + "");
|
table3.put("term", "环境试验后电路参数");
|
if (collect.contains(0)) {
|
table3.put("result", "不合格");
|
} else {
|
table3.put("result", "合格");
|
}
|
tables.add(table3);
|
indexs += 1;
|
|
/*创建环境试验条件表2*(项目数+1)*/
|
List<InsProduct> products = insSample.getInsProduct().stream()
|
.filter(insProduct -> !insProduct.getInspectionItem().equals("电路试验"))
|
.filter(insProduct -> !insProduct.getInspectionItem().equals("辐射试验"))
|
.map(insProduct -> {
|
InsProduct product = new InsProduct();
|
product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
|
product.setTell(insProduct.getTell());
|
return product;
|
}).distinct().collect(Collectors.toList());
|
List<RowRenderData> rows = new ArrayList<>();
|
//行数
|
for (int i = 0; i < products.size() + 1; i++) {
|
RowRenderData rowRenderData = new RowRenderData();
|
RowStyle rowStyle = new RowStyle();
|
rowStyle.setHeight(40);
|
rowRenderData.setRowStyle(rowStyle);
|
List<CellRenderData> cells = new ArrayList<>();
|
//列数
|
for (int j = 0; j < 2; j++) {
|
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");
|
textRenderData.setStyle(style);
|
if (i == 0) {
|
//第一行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText("项目");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//第二列
|
textRenderData.setText("试验要求");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
} else {
|
//其余行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(products.get(i - 1).getInspectionItemSubclass());
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
textRenderData.setText(products.get(i - 1).getTell());
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
rowRenderData.setCells(cells);
|
if (rowRenderData.getCells().size() != 0) {
|
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("每行单元格不相等");
|
}
|
}
|
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(4);
|
tableStyle.setLeftBorder(borderStyle);
|
tableStyle.setTopBorder(borderStyle);
|
tableStyle.setRightBorder(borderStyle);
|
tableStyle.setBottomBorder(borderStyle);
|
tableRenderData.setTableStyle(tableStyle);
|
Map<String, Object> table4 = new HashMap<>();
|
table4.put("table4", tableRenderData);
|
tables4.add(table4);
|
} else {
|
Map<String, String> table = new HashMap<>();
|
table.put("indexs", indexs + "");
|
table.put("term", "电路参数");
|
if (collect.contains(0)) {
|
table.put("result", "不合格");
|
} else {
|
table.put("result", "合格");
|
}
|
tables.add(table);
|
indexs += 1;
|
}
|
/*勾选的电路试验表*/
|
for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) {
|
InsOrderUser insOrderUser = insOrderUserMapper.selectById(insReportDto2.getInsOrderUsersId());
|
InsOrderState orderState = insOrderStateMapper.selectById(insOrderUser.getInsOrderStateId());
|
if (orderState.getLaboratory().equals("电路试验")) {
|
orderState.setNum(insOrderUser.getNum());
|
if(!insOrder.getSampleType().equals("无源器件")){
|
getWord1(insOrderUser.getTerm(), orderState, tables2);
|
}else {
|
getWord2(insOrderUser.getTerm(), orderState, tables2);
|
}
|
}
|
}
|
}
|
else {
|
//如果只有环境试验没有电路试验
|
strings.remove("近场");
|
strings.remove("远场");
|
if (strings.size() > 0) {
|
Map<String, String> table2 = new HashMap<>();
|
table2.put("indexs", "环境试验:" + String.join("、", strings) + "∑1");
|
table2.put("term", "环境试验:" + String.join("、", strings) + "∑1");
|
table2.put("result", "环境试验:" + String.join("、", strings) + "∑1");
|
tables.add(table2);
|
|
/*创建环境试验条件表2*(项目数+1)*/
|
List<InsProduct> products = insSample.getInsProduct().stream()
|
.filter(insProduct -> !insProduct.getInspectionItem().equals("电路试验"))
|
.filter(insProduct -> !insProduct.getInspectionItem().equals("辐射试验"))
|
.map(insProduct -> {
|
InsProduct product = new InsProduct();
|
product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
|
product.setTell(insProduct.getTell());
|
return product;
|
}).distinct().collect(Collectors.toList());
|
List<RowRenderData> rows = new ArrayList<>();
|
//行数
|
for (int i = 0; i < products.size() + 1; i++) {
|
RowRenderData rowRenderData = new RowRenderData();
|
RowStyle rowStyle = new RowStyle();
|
rowStyle.setHeight(40);
|
rowRenderData.setRowStyle(rowStyle);
|
List<CellRenderData> cells = new ArrayList<>();
|
//列数
|
for (int j = 0; j < 2; j++) {
|
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");
|
textRenderData.setStyle(style);
|
if (i == 0) {
|
//第一行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText("项目");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//第二列
|
textRenderData.setText("试验要求");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
} else {
|
//其余行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(products.get(i - 1).getInspectionItemSubclass());
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
textRenderData.setText(products.get(i - 1).getTell());
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
rowRenderData.setCells(cells);
|
if (rowRenderData.getCells().size() != 0) {
|
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("每行单元格不相等");
|
}
|
}
|
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(4);
|
tableStyle.setLeftBorder(borderStyle);
|
tableStyle.setTopBorder(borderStyle);
|
tableStyle.setRightBorder(borderStyle);
|
tableStyle.setBottomBorder(borderStyle);
|
tableRenderData.setTableStyle(tableStyle);
|
Map<String, Object> table4 = new HashMap<>();
|
table4.put("table4", tableRenderData);
|
tables4.add(table4);
|
}
|
}
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
|
StringBuilder standardMethod2 = new StringBuilder();
|
for (String s1 : standardMethod) {
|
standardMethod2.append(";\n").append(s1);
|
}
|
standardMethod2.append(";\n").append("GB/T 9410-2008 《移动通信天线通用技术规范》");
|
standardMethod2.replace(0, 1, "");
|
List<Map<String, String>> deviceList = null;
|
if (deviceSet.size() != 0) {
|
deviceList = insOrderMapper.selectDeviceList(deviceSet);
|
}
|
Map<String, String> codeStr = new HashMap<>();
|
codeStr.put("报告编号", insReport.getCode());
|
codeStr.put("样品名称", insSample.getSample());
|
codeStr.put("规格型号", insSample.getModel());
|
codeStr.put("发放日期", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
String codePath;
|
try {
|
codePath = new MatrixToImageWriter().code(JackSonUtil.marshal(codeStr).replaceAll("\\{", "")
|
.replaceAll("}", "").replaceAll(",", "").replaceAll("\"", ""), twoCode);
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
String modelStr = "";
|
for (String model : models) {
|
modelStr += "," + model;
|
}
|
String finalModelStr = modelStr;
|
String sampleEn = insSampleMapper.getSampleEn(insOrder.getSample());
|
String orderType = insOrderMapper.getEnumLabelByValue(insOrder.getOrderType());
|
String formType = insOrderMapper.getEnumLabelByValue(insOrder.getFormType());
|
ConfigureBuilder builder = Configure.builder();
|
builder.useSpringEL(true);
|
List<Map<String, String>> finalDeviceList = deviceList;
|
List<Map<String, String>> sampleList = insSampleMapper.selectSampleList(orderId);
|
Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery()
|
.eq(InsSampleUser::getInsSampleId, insReportDto1.getSampleId())
|
.eq(InsSampleUser::getState,0)
|
.last("limit 1")).getUserId();
|
String signatureUrl;
|
try {
|
signatureUrl = userMapper.selectById(userId).getSignatureUrl();
|
} catch (Exception e) {
|
throw new ErrorException("找不到检验人的签名");
|
}
|
if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.equals("")) {
|
throw new ErrorException("找不到检验人的签名");
|
}
|
Custom custom = customMapper.selectById(insOrder.getCompanyId());
|
|
/*获取附件图片类型*/
|
List<Map<String, Object>> images = new ArrayList<>();
|
List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery().eq(InsOrderFile::getType, 1).eq(InsOrderFile::getInsOrderId, orderId));
|
if (CollectionUtils.isNotEmpty(insOrderFiles)) {
|
insOrderFiles.forEach(insOrderFile -> {
|
Map<String, Object> image = new HashMap<>();
|
PictureRenderData pictureRenderData = Pictures.ofLocal(imgUrl + "/" + insOrderFile.getFileUrl()).sizeInCm(17, 20).create();
|
image.put("url", pictureRenderData);
|
image.put("report", insReport);
|
images.add(image);
|
});
|
}
|
//委托人和电话字段判断
|
if (ObjectUtils.isEmpty(insOrder.getPrepareUser())) {
|
insOrder.setPrepareUser("/");
|
}
|
if (ObjectUtils.isEmpty(insOrder.getPhone())) {
|
insOrder.setPhone("/");
|
}
|
//检验项目的环境
|
InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getState, 1)
|
.eq(InsProduct::getInsSampleId, insReportDto1.getSampleId())).get(0);
|
String environment = "";
|
environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "℃ " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : "");
|
String finalEnvironment = environment;
|
String title3 = "";
|
if (tables3.size() > 0) {
|
title3 = "辐射方向图参数";
|
}
|
String finalTitle = title3;
|
XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render(
|
new HashMap<String, Object>() {{
|
put("order", insOrder);
|
put("report", insReport);
|
put("departLims", departLims);
|
put("sampleCode", sampleCode);
|
put("environment", finalEnvironment);
|
put("custom", custom);
|
put("sampleSize", "1");
|
put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2));
|
put("deviceList", finalDeviceList);
|
put("tables", tables);
|
put("tables2", tables2);
|
put("title3", finalTitle);
|
put("tables3", tables3);
|
put("tables4", tables4);
|
put("sampleList", sampleList);
|
put("twoCode", Pictures.ofLocal(codePath).create());
|
put("models", finalModelStr.replace(",", ""));
|
put("productSize", productSize);
|
put("productSize1", productSize1);
|
put("productSize2", productSize2);
|
put("productSize3", productSize3);
|
put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")));
|
// put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
|
put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")));
|
put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + insOrder.getInsTime().getDayOfMonth() + ", " + insOrder.getInsTime().getYear());
|
put("writeUrl", null);
|
put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
|
put("images", images);
|
put("examineUrl", null);
|
put("ratifyUrl", null);
|
put("sampleEn", sampleEn);
|
put("orderType", orderType);
|
put("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")));
|
put("getTimeEn", monthNames[insOrder.getExamineTime().getMonthValue() - 1] + " " + insOrder.getExamineTime().getDayOfMonth() + ", " + insOrder.getExamineTime().getYear());
|
put("seal1", null);
|
put("seal2", null);
|
put("formTypeCh", formType);
|
put("formTypeEn", insOrder.getFormType());
|
}});
|
try {
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
String name = insReport.getCode().replace("/", "") + ".docx";
|
template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
|
insReport.setUrl("/word/" + name);
|
insReportMapper.insert(insReport);
|
insOrder.setInsState(5);
|
insOrderMapper.updateById(insOrder);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
String path = wordUrl + "/" + insReport.getCode().replace("/", "") + ".docx";
|
// 处理合并单元格的问题
|
try {
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
FileInputStream stream = new FileInputStream(path);
|
XWPFDocument document = new XWPFDocument(stream);
|
List<XWPFTable> xwpfTables = document.getTables();
|
for (int i = 1; i < xwpfTables.size() - (deviceList == null ? 1 : 2); i++) {
|
Set<String> set1 = new HashSet<>();
|
Map<String, Map<String, Integer>> maps = new HashMap<>();
|
for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) {
|
for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) {
|
if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("∑") > -1) {
|
String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑");
|
if (set1.add(split[1])) {
|
Map<String, Integer> map = new HashMap<>();
|
map.put("sr", j);
|
map.put("sc", k);
|
map.put("er", j + 0);
|
map.put("ec", k + 0);
|
maps.put(split[1], map);
|
} else {
|
Map<String, Integer> map1 = maps.get(split[1]);
|
if (j == map1.get("sr")) {
|
map1.put("ec", map1.get("ec") + 1);
|
} else if (k == map1.get("sc")) {
|
map1.put("er", map1.get("er") + 1);
|
}
|
}
|
String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑")[0];
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
|
xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER);
|
}
|
}
|
}
|
// 单元格排序, 避免格式错乱
|
List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet());
|
entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc"));
|
// 按照顺序添加进集合
|
List<String> list = new ArrayList<>();
|
for (Map.Entry<String, Map<String, Integer>> entry : entries) {
|
list.add(entry.getKey());
|
}
|
for (int a = list.size() - 1; a >= 0; a--) {
|
Map<String, Integer> v = maps.get(list.get(a));
|
for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) {
|
if (v.get("ec") > v.get("sc")) {
|
try {
|
mergeCellsHorizontally(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec"));
|
// TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec"));
|
} catch (Exception e) {
|
}
|
}
|
}
|
if (v.get("er") > v.get("sr")) {
|
try {
|
mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er"));
|
// TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er"));
|
} catch (Exception e) {
|
}
|
}
|
}
|
}
|
FileOutputStream fileOutputStream = new FileOutputStream(path);
|
document.write(fileOutputStream);
|
fileOutputStream.close();
|
} catch (FileNotFoundException e) {
|
throw new RuntimeException(e);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
//处理中英文换行的问题
|
try {
|
ZipSecureFile.setMinInflateRatio(0.0001);
|
FileInputStream stream1 = new FileInputStream(path);
|
XWPFDocument document1 = new XWPFDocument(stream1);
|
List<XWPFTable> xwpfTables1 = document1.getTables();
|
for (int i = 1; i < xwpfTables1.size() - (deviceList == null ? 1 : 2); i++) {
|
for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) {
|
for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) {
|
if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) {
|
String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText();
|
String[] split = text.split("@");
|
xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
|
XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph();
|
XWPFRun run = xwpfParagraph.createRun();
|
run.setText(split[0]);
|
if (ObjectUtils.isNotNull(split[1])) {
|
run.addBreak();
|
run.setText(split[1]);
|
}
|
xwpfParagraph.setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER);
|
}
|
}
|
}
|
}
|
FileOutputStream fileOutputStream1 = new FileOutputStream(path);
|
document1.write(fileOutputStream1);
|
fileOutputStream1.close();
|
} catch (FileNotFoundException e) {
|
throw new RuntimeException(e);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
}
|
|
|
//电路报告用于总报告的方法(天线)
|
private void getWord1(String term, InsOrderState insOrderState,List<Map<String, Object>> tables2) {
|
AtomicInteger lable = new AtomicInteger(1);
|
AtomicInteger index = new AtomicInteger();
|
String title = term + "电路参数";
|
InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId());
|
//查询项目
|
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
|
.eq(InsProduct::getState,1)
|
.eq(InsProduct::getInsSampleId, insSample.getId())
|
.eq(InsProduct::getSonLaboratory, "电路试验"));
|
//获取最大端口数量,角度数量,频段数量
|
List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
|
.eq(InsProductResult2::getNum, insOrderState.getNum())
|
.in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList())));
|
//按照频段分表(查询所有频段)
|
List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList());
|
frequencys.forEach(s -> {
|
int ports = 0;//端口数
|
int angles = 0;//角度数
|
List<InsProductResult2> productResult2s = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s)).collect(Collectors.toList());
|
for (InsProductResult2 insProductResult2 : productResult2s) {
|
if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("电压驻波比") && insProductResult2.getPort().split(",").length > ports) {
|
ports = insProductResult2.getPort().split(",").length;
|
}
|
if (insProductResult2.getAngle().split(",").length > angles) {
|
angles = insProductResult2.getAngle().split(",").length;
|
}
|
}
|
//频点数
|
long often = productResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s))
|
.filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("互调")
|
).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count();
|
List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList());
|
//行数
|
int aa = 0;
|
int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1;
|
//先判断是1简单版还是0复杂版
|
if (insOrderState.getVersion() == 1) {
|
if (inspectionItemSubclass.contains("电压驻波比")) {
|
aa += 2 * portRow;
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
aa += 1 * portRow;
|
}
|
if (inspectionItemSubclass.contains("互调")) {
|
aa += (angles + 1) * portRow * often;
|
}
|
}
|
else {
|
if (inspectionItemSubclass.contains("电压驻波比")) {
|
aa += (angles + 1) * portRow;
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("同极化隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("同列隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("端口间隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("异极化隔离度") && insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
}
|
if (inspectionItemSubclass.contains("互调")) {
|
aa += (angles + 1) * portRow * often;
|
}
|
if (inspectionItemSubclass.contains("最大耦合度")) {
|
aa += (angles + 1);
|
}
|
if (inspectionItemSubclass.contains("最小耦合度")) {
|
aa += (angles + 1);
|
}
|
if (inspectionItemSubclass.contains("幅度偏差")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("幅度偏差")&& insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
}
|
if (inspectionItemSubclass.contains("最大相位偏差")) {
|
List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 ->
|
insProductMapper.selectById(insProductResult2.getInsProductId())
|
.getInspectionItemSubclass().equals("最大相位偏差")&& insProductResult2.getFrequency().equals(s)
|
).collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
}
|
}
|
List<RowRenderData> rows = new ArrayList<>();
|
Set<String> itemSet = new HashSet<>();
|
int cc = 0;
|
int dd = 0;
|
int ee = 0;
|
int ff = 0;
|
int gg = 0;
|
int hh = 0;
|
int mm = 0;
|
int nn = 0;
|
int pp = 0;
|
//表格的行数
|
for (int i = 0; i <= aa; i++) {
|
RowRenderData rowRenderData = new RowRenderData();
|
RowStyle rowStyle = new RowStyle();
|
rowStyle.setHeight(40);
|
rowRenderData.setRowStyle(rowStyle);
|
List<CellRenderData> cells = new ArrayList<>();
|
//表格的列数
|
int bb = ports > 8 ? 14 : ports + 6;
|
for (int j = 0; j < bb; j++) {
|
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");
|
textRenderData.setStyle(style);
|
if (i == 0) {
|
//第一行
|
textRenderData.setText("频段:" + s + "∑0" + lable);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if (insOrderState.getVersion() == 1) {
|
//非电调版本(简单版)
|
if (inspectionItemSubclass.contains("电压驻波比") && i <= 2 * portRow) {
|
cc = 2 * portRow;
|
if (itemSet.add("电压驻波比")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//电压驻波比所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("电压驻波比∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if (i % 2 == 0) {
|
//最差值
|
textRenderData.setText("最差值");
|
} else {
|
//端口
|
textRenderData.setText("端口");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (i % 2 == 0) {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
} else {
|
textRenderData.setText("/");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if (i % 2 == 0) {
|
//最差值
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度") && i > cc && i <= cc + portRow) {
|
dd = cc + portRow;
|
if (itemSet.add("同极化隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同列隔离度") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) {
|
ee = (dd == 0 ? cc : dd) + portRow;
|
if (itemSet.add("同列隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow) {
|
ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow;
|
if (itemSet.add("端口间隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度") && i >(ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)&& i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow) {
|
gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow;
|
if (itemSet.add("异极化隔离度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//异极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("异极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
textRenderData.setText("最差值");
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格");
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格");
|
} else {
|
textRenderData.setText("不判定");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j % 2 == 0) {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
|
try {
|
textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) {
|
if (itemSet.add("互调")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream()
|
.filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调"))
|
.collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//互调所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("互调∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("角度");
|
} else {
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index);
|
} else {
|
String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\[");
|
String[] split = value[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
} else {
|
//电调版本(复杂版)
|
if (inspectionItemSubclass.contains("电压驻波比") && i <= (angles + 1) * portRow) {
|
cc = (angles + 1) * portRow;
|
if (itemSet.add("电压驻波比")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//电压驻波比所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("电压驻波比∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if (i % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if (i % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if (i % (angles + 1) == 1) {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("同极化隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > cc && i <= cc + k) {
|
dd = cc + k;
|
if (itemSet.add("同极化隔离度")) {
|
index.getAndIncrement();
|
}
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("同极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - cc) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - cc) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - cc) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - cc) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - cc) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - cc) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("同列隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) {
|
ee = (dd == 0 ? cc : dd) + k;
|
if (itemSet.add("同列隔离度")) {
|
index.getAndIncrement();
|
}
|
//隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("端口间隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k) {
|
ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k;
|
if (itemSet.add("端口间隔离度")) {
|
index.getAndIncrement();
|
}
|
//同极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("端口间隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("异极化隔离度")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k) {
|
gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k;
|
if (itemSet.add("异极化隔离度")) {
|
index.getAndIncrement();
|
}
|
//异极化隔离度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("异极化隔离度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
//端口
|
textRenderData.setText("端口");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
|
//端口
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
if (j % 2 == 0) {
|
try {
|
textRenderData.setText(split[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
try {
|
textRenderData.setText(split[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5));
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) && i <= ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often)) {
|
hh = (int) ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often);
|
if (itemSet.add("互调")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//互调所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("互调∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index);
|
} else {
|
//最差值
|
String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("最大耦合度") && i > (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) && i <= ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1))) {
|
mm = ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1));
|
if (itemSet.add("最大耦合度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大耦合度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//最大耦合度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最大耦合度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index);
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index);
|
} else {
|
textRenderData.setText("不判定∑8" + index);
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get(0).getOften() + "∑6" + index);
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
textRenderData.setText(split[0] + "∑7" + i);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("最小耦合度") && i > (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) && i <= ((mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1))) {
|
nn = (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1);
|
if (itemSet.add("最小耦合度")) {
|
index.getAndIncrement();
|
}
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最小耦合度")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
//最小耦合度所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最小耦合度∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
//角度
|
textRenderData.setText("角度");
|
} else {
|
//值
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index);
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index);
|
} else {
|
textRenderData.setText("不判定∑8" + index);
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) {
|
//频点
|
textRenderData.setText(result2s.get(0).getOften() + "∑6" + index);
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
textRenderData.setText(split[0] + "∑7" + i);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
if (inspectionItemSubclass.contains("幅度偏差")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("幅度偏差")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) && i <= (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k) {
|
pp = (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k;
|
if (itemSet.add("幅度偏差")) {
|
index.getAndIncrement();
|
}
|
//幅度偏差所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("幅度偏差∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
//频段
|
textRenderData.setText("频段");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) {
|
//频段
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
if (inspectionItemSubclass.contains("最大相位偏差")) {
|
List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大相位偏差")).collect(Collectors.toList());
|
List<InsProductResult2> result2s = productResult2s.stream()
|
.filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
|
.collect(Collectors.toList());
|
int length = result2s.get(0).getPort().split(",").length;
|
int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1);
|
int k = (angles + 1) * portRow2;
|
if (i > (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) {
|
if (itemSet.add("最大相位偏差")) {
|
index.getAndIncrement();
|
}
|
//最大相位偏差所在行
|
if (j == 0) {
|
//第一列
|
textRenderData.setText(index + "∑1" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 1) {
|
//第二列
|
textRenderData.setText("最大相位偏差∑2" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 2) {
|
//第三列
|
textRenderData.setText(products.get(0).getUnit() + "∑3" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 3) {
|
//第四列
|
textRenderData.setText(products.get(0).getAsk() + "∑4" + index);
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == 4) {
|
//第五列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
//频段
|
textRenderData.setText("频段");
|
} else {
|
//角度
|
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else if (j == bb - 1) {
|
//最后一列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
textRenderData.setText("/");
|
} else {
|
//结论
|
if (products.get(0).getInsResult() == 1) {
|
textRenderData.setText("合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
} else if (products.get(0).getInsResult() == 0) {
|
textRenderData.setText("不合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
} else {
|
textRenderData.setText("不判定∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)));
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
} else {
|
//其余列
|
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
|
//端口
|
try {
|
textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
} else {
|
//最差值
|
String[] value = result2s.get(0).getValue().split("\\],\\[");
|
String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
|
try {
|
textRenderData.setText(split[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]);
|
} catch (Exception e) {
|
textRenderData.setText("");
|
}
|
}
|
renderData.add(textRenderData);
|
paragraphRenderData.setContents(renderData);
|
paragraphRenderDataList.add(paragraphRenderData);
|
cellRenderData.setParagraphs(paragraphRenderDataList);
|
cells.add(cellRenderData);
|
}
|
}
|
}
|
}
|
}
|
}
|
rowRenderData.setCells(cells);
|
if (rowRenderData.getCells().size() != 0) {
|
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("每行单元格不相等");
|
}
|
}
|
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(4);
|
tableStyle.setLeftBorder(borderStyle);
|
tableStyle.setTopBorder(borderStyle);
|
tableStyle.setRightBorder(borderStyle);
|
tableStyle.setBottomBorder(borderStyle);
|
tableRenderData.setTableStyle(tableStyle);
|
Map<String, Object> table2 = new HashMap<>();
|
table2.put("table2", tableRenderData);
|
table2.put("title", title);
|
tables2.add(table2);
|
lable.getAndIncrement();
|
});
|
}
|
|
//电路报告用于总报告的方法(无源器件)
|
private void getWord2(String term, InsOrderState insOrderState,List<Map<String, Object>> tables2){
|
|
}
|
|
// 水平合并单元格
|
private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) {
|
for (int i = fromCol; i <= toCol; i++) {
|
if (i == fromCol) {
|
table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);
|
} else {
|
table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);
|
}
|
}
|
}
|
|
// 垂直合并单元格
|
private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) {
|
for (int i = fromRow; i <= toRow; i++) {
|
if (i == fromRow) {
|
table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART);
|
} else {
|
table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE);
|
}
|
}
|
}
|
}
|