zss
2024-12-31 e22d3ca089ad03cc33a7b5f440a67415283f75d1
无源器件的报告
已修改5个文件
已添加2个文件
2223 ■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/utils/DianLuUtils.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java 2126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/vo/InsProductResult2VO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/static/word2.docx 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.mom.pojo.InsProductResult;
import com.yuanchu.mom.pojo.InsProductResult2;
import com.yuanchu.mom.vo.InsProductResult2VO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -16,6 +17,7 @@
public interface InsProductResult2Mapper extends BaseMapper<InsProductResult2> {
    void saveBatch(@Param("result2s") List<InsProductResult2> result2s);
    List<InsProductResult2VO> selectWordHang(@Param("num") Integer num, @Param("ids") List<Integer> ids);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -1192,17 +1192,21 @@
        insSampleUserMapper.insert(insSampleUser);
        /*生成电路试验的站点报告并上传到附件中*/
        if (submitPlanDto.getLaboratory().equals("电路试验")) {
//            wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
            //todo ç”µè·¯ç«™ç‚¹æŠ¥å‘Š æ­£å¼åº“éƒ¨ç½²æ”¾å¼€
            try {
                if (!insOrder.getSampleType().equals("无源器件")) {
                    wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
                }else {
                    wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
                }
            } catch (Exception e) {
                throw new ErrorException("电路试验的站点报告生成有误,请联系开发人员调整!");
            if (!insOrder.getSampleType().equals("无源器件")) {
                wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
            }else {
                wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
            }
            //todo ç”µè·¯ç«™ç‚¹æŠ¥å‘Š æ­£å¼åº“éƒ¨ç½²æ”¾å¼€
//            try {
//                if (!insOrder.getSampleType().equals("无源器件")) {
//                    wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
//                }else {
//                    wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
//                }
//            } catch (Exception e) {
//                throw new ErrorException("电路试验的站点报告生成有误,请联系开发人员调整!");
//            }
        }
        /*生成产量工时*/
        //校验如果这个人这个检测项目已经添加过了则不需要再新增
inspect-server/src/main/java/com/yuanchu/mom/utils/DianLuUtils.java
@@ -340,6 +340,7 @@
                result2.setValue("[[" + value + "]]");
                result2.setAngle("0°");
                result2.setOften(entry.getValue().stream().map(InsProductResult2::getOften).collect(Collectors.joining(",")));
                result2.setNum(orderStates.get(0).getNum());
                filteredList.add(result2);
            }
        }
@@ -385,7 +386,6 @@
                    }
                    insProductResult2.setInsProductId(products1.get(0).getId());//电压驻波比
                    insProductResult2.setFrequency(listEntry.getKey());//频段
                    insProductResult2.setAngle("0°");//角度
                    insProductResult2.setNum(orderStates.get(0).getNum());//次数
                    //获取端口
                    String port = entry.getValue().stream().map(TianXianData::getPort).collect(Collectors.joining(","));
@@ -401,7 +401,6 @@
                    }
                    insProductResult2.setInsProductId(products2.get(0).getId());//无源器件隔离度
                    insProductResult2.setFrequency(listEntry.getKey());//频段
                    insProductResult2.setAngle("0°");//角度
                    insProductResult2.setNum(orderStates.get(0).getNum());//次数
                    //获取端口
                    String port = entry.getValue().stream().map(TianXianData::getPort).collect(Collectors.joining(","));
@@ -417,7 +416,6 @@
                    }
                    insProductResult2.setInsProductId(products3.get(0).getId());//插入损耗
                    insProductResult2.setFrequency(listEntry.getKey());//频段
                    insProductResult2.setAngle("0°");//角度
                    insProductResult2.setNum(orderStates.get(0).getNum());//次数
                    //获取端口
                    String port = entry.getValue().stream().map(TianXianData::getPort).collect(Collectors.joining(","));
@@ -433,7 +431,6 @@
                    }
                    insProductResult2.setInsProductId(products4.get(0).getId());//带内波动
                    insProductResult2.setFrequency(listEntry.getKey());//频段
                    insProductResult2.setAngle("0°");//角度
                    insProductResult2.setNum(orderStates.get(0).getNum());//次数
                    //获取端口
                    String port = entry.getValue().stream().map(TianXianData::getPort).collect(Collectors.joining(","));
@@ -449,7 +446,6 @@
                    }
                    insProductResult2.setInsProductId(products5.get(0).getId());//带外抑制
                    insProductResult2.setFrequency(listEntry.getKey());//频段
                    insProductResult2.setAngle("0°");//角度
                    insProductResult2.setNum(orderStates.get(0).getNum());//次数
                    //获取端口
                    String port = entry.getValue().stream().map(TianXianData::getPort).collect(Collectors.joining(","));
@@ -463,14 +459,12 @@
                    if (products6.size() <= 0 || products7.size()<=0) {
                        throw new ErrorException("耦合度项目未找到");
                    }
                    /*最大耦合度*/
                    insProductResult2.setFrequency(listEntry.getKey());//频段
                    insProductResult2.setAngle("0°");//角度
                    insProductResult2.setNum(orderStates.get(0).getNum());//次数
                    //获取端口
                    String port = entry.getValue().stream().map(TianXianData::getPort).collect(Collectors.joining(","));
                    insProductResult2.setPort(port);//端口
                    /*最大耦合度*/
                    insProductResult2.setInsProductId(products6.get(0).getId());//最大耦合度
                    //获取检验值
                    String value = entry.getValue().stream().map(tianXianData1 -> {
@@ -480,13 +474,18 @@
                    insProductResult2.setValue("[[" + value + "]]");//值
                    insProductResult2s.add(insProductResult2);
                    /*最小耦合度*/
                    insProductResult2.setInsProductId(products7.get(0).getId());//最小耦合度
                    InsProductResult2 insProductResult22 = new InsProductResult2();
                    insProductResult22.setFrequency(listEntry.getKey());//频段
                    insProductResult22.setNum(orderStates.get(0).getNum());//次数
                    //获取端口
                    insProductResult22.setPort(port);//端口
                    insProductResult22.setInsProductId(products7.get(0).getId());//最小耦合度
                    String value1 = entry.getValue().stream().map(tianXianData1 -> {
                        String input = tianXianData1.getValue().replace("[", "").replace("]", "");
                        String[] parts = input.split("--");
                        return "\"" +parts[0] + "\"" ; }).collect(Collectors.joining(","));
                    insProductResult2.setValue("[[" + value1 + "]]");//值
                    insProductResult2s.add(insProductResult2);
                    insProductResult22.setValue("[[" + value1 + "]]");//值
                    insProductResult2s.add(insProductResult22);
                }
            }
        }
@@ -508,8 +507,8 @@
                    return insProductResult2.getValue().replace("[[", "").replace("]]", "");
                }).collect(Collectors.joining(","));
                result2.setValue("[[" + value + "]]");
                result2.setAngle("0°");
                result2.setOften(entry.getValue().stream().map(InsProductResult2::getOften).collect(Collectors.joining(",")));
                result2.setNum(orderStates.get(0).getNum());
                filteredList.add(result2);
            }
        }
inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java
@@ -18,6 +18,7 @@
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.vo.InsProductResult2VO;
import org.apache.commons.io.IOUtils;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.xwpf.usermodel.*;
@@ -25,6 +26,7 @@
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.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -2052,7 +2054,6 @@
    //生成站点电路试验报告(无源器件)
    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<>();
@@ -2065,136 +2066,43 @@
                .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;
        //计算行数
        List<InsProductResult2VO> result2VOS = new ArrayList<>();
        List<InsProductResult2VO> insProductResult2VOS = insProductResult2Mapper.selectWordHang(insOrderState.getNum(), insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()));
        for (InsProductResult2VO insProductResult2VO : insProductResult2VOS) {
            String[] split = insProductResult2VO.getPort().split(",");
            String value = insProductResult2VO.getValue().replace("[[", "").replace("]]", "");
            if (split.length>1){
                for (int i = 0; i < split.length; i++) {
                    InsProductResult2VO insProductResult2VO1 = new InsProductResult2VO();
                    BeanUtils.copyProperties(insProductResult2VO,insProductResult2VO1);
                    //端口
                    insProductResult2VO1.setPort(split[i]);
                    //值
                    try{
                        insProductResult2VO1.setValue(value.split(",")[i].replace("\"",""));
                    }catch (Exception e){
                        insProductResult2VO1.setValue("");
                    }
                    result2VOS.add(insProductResult2VO1);
                }
            }
            //频点数
            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);
                }
            else {
                insProductResult2VO.setValue(value.replace("\"",""));
                result2VOS.add(insProductResult2VO);
            }
            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++) {
        }
        List<RowRenderData> rows = new ArrayList<>();
        Set<String> itemSet = new HashSet<>();
        //表格的行数
        for (int i = 0; i < result2VOS.size(); 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++) {
                for (int j = 0; j < 8; j++) {
                    CellRenderData cellRenderData = new CellRenderData();
                    CellStyle cellStyle = new CellStyle();
                    cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
@@ -2210,1666 +2118,102 @@
                    style.setFontFamily("宋体");
                    style.setColor("000000");
                    textRenderData.setStyle(style);
                    if (i == 0) {
                        //第一行
                        textRenderData.setText("频段:" + s + "∑0" + lable);
                    if (j==0){
                        //第一列(序号)
                        if (itemSet.add(result2VOS.get(i).getInspectionItemSubclass())) {
                            index.getAndIncrement();
                        }
                        textRenderData.setText(index + "∑1" + index);
                        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);
                                    }
                                }
                            }
                    }
                    else if (j==1){
                        //第二列(检验项目)
                        textRenderData.setText(result2VOS.get(i).getInspectionItemSubclass()+ "∑2" + index);
                        renderData.add(textRenderData);
                        paragraphRenderData.setContents(renderData);
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    }
                    else if (j==2){
                        //第三列(单位)
                        textRenderData.setText(result2VOS.get(i).getUnit()+ "∑3" + index);
                        renderData.add(textRenderData);
                        paragraphRenderData.setContents(renderData);
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    }
                    else if (j==3){
                        //第四列(标准与要求)
                        textRenderData.setText(result2VOS.get(i).getAsk());
                        renderData.add(textRenderData);
                        paragraphRenderData.setContents(renderData);
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    }
                    else if (j==4){
                        //第五列(端口)
                        try{
                            textRenderData.setText(result2VOS.get(i).getPort());
                        }catch (Exception e){
                            textRenderData.setText("");
                        }
                        renderData.add(textRenderData);
                        paragraphRenderData.setContents(renderData);
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    }
                    else if (j==5){
                        //第六列(频段)
                        try{
                            textRenderData.setText(result2VOS.get(i).getFrequency());
                        }catch (Exception e){
                            textRenderData.setText("");
                        }
                        renderData.add(textRenderData);
                        paragraphRenderData.setContents(renderData);
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    }
                    else if (j==6){
                        //第七列(检验值)
                        try{
                            textRenderData.setText(result2VOS.get(i).getValue());
                        }catch (Exception e){
                            textRenderData.setText("");
                        }
                        renderData.add(textRenderData);
                        paragraphRenderData.setContents(renderData);
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    }
                    else {
                        //最后一列(结论)
                        try{
                            if (result2VOS.get(i).getResult().equals("1")) {
                                textRenderData.setText("合格");
                            }else if (result2VOS.get(i).getResult().equals("0")){
                                textRenderData.setText("不合格");
                            }else {
                                textRenderData.setText("不判定");
                            }
                        }catch (Exception e){
                            textRenderData.setText("");
                        }
                        renderData.add(textRenderData);
                        paragraphRenderData.setContents(renderData);
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    }
                }
                rowRenderData.setCells(cells);
@@ -3877,33 +2221,32 @@
                    rows.add(rowRenderData);
                }
            }
            TableRenderData tableRenderData = new TableRenderData();
            tableRenderData.setRows(rows);
            int countSize = tableRenderData.getRows().get(0).getCells().size();
            for (RowRenderData row : tableRenderData.getRows()) {
        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();
        });
        }
        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);
        ZipSecureFile.setMinInflateRatio(0.0001);
        InputStream inputStream = this.getClass().getResourceAsStream("/static/word1.docx");
        InputStream inputStream = this.getClass().getResourceAsStream("/static/word2.docx");
        ConfigureBuilder builder = Configure.builder();
        builder.useSpringEL(true);
@@ -6597,7 +4940,190 @@
    //电路报告用于总报告的方法(无源器件)
    private void getWord2(String term, InsOrderState insOrderState,List<Map<String, Object>> tables2){
        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<InsProductResult2VO> result2VOS = new ArrayList<>();
        List<InsProductResult2VO> insProductResult2VOS = insProductResult2Mapper.selectWordHang(insOrderState.getNum(), insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()));
        for (InsProductResult2VO insProductResult2VO : insProductResult2VOS) {
            String[] split = insProductResult2VO.getPort().split(",");
            String value = insProductResult2VO.getValue().replace("[[", "").replace("]]", "");
            if (split.length>1){
                for (int i = 0; i < split.length; i++) {
                    InsProductResult2VO insProductResult2VO1 = new InsProductResult2VO();
                    BeanUtils.copyProperties(insProductResult2VO,insProductResult2VO1);
                    //端口
                    insProductResult2VO1.setPort(split[i]);
                    //值
                    insProductResult2VO1.setValue(value.split(",")[i].replace("\"",""));
                    result2VOS.add(insProductResult2VO1);
                }
            }
            else {
                insProductResult2VO.setValue(value.replace("\"",""));
                result2VOS.add(insProductResult2VO);
            }
        }
        List<RowRenderData> rows = new ArrayList<>();
        Set<String> itemSet = new HashSet<>();
        //表格的行数
        for (int i = 0; i < result2VOS.size(); 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 < 8; 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 (j==0){
                    //第一列(序号)
                    if (itemSet.add(result2VOS.get(i).getInspectionItemSubclass())) {
                        index.getAndIncrement();
                    }
                    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(result2VOS.get(i).getInspectionItemSubclass()+ "∑2" + index);
                    renderData.add(textRenderData);
                    paragraphRenderData.setContents(renderData);
                    paragraphRenderDataList.add(paragraphRenderData);
                    cellRenderData.setParagraphs(paragraphRenderDataList);
                    cells.add(cellRenderData);
                }
                else if (j==2){
                    //第三列(单位)
                    textRenderData.setText(result2VOS.get(i).getUnit()+ "∑3" + index);
                    renderData.add(textRenderData);
                    paragraphRenderData.setContents(renderData);
                    paragraphRenderDataList.add(paragraphRenderData);
                    cellRenderData.setParagraphs(paragraphRenderDataList);
                    cells.add(cellRenderData);
                }
                else if (j==3){
                    //第四列(标准与要求)
                    textRenderData.setText(result2VOS.get(i).getAsk());
                    renderData.add(textRenderData);
                    paragraphRenderData.setContents(renderData);
                    paragraphRenderDataList.add(paragraphRenderData);
                    cellRenderData.setParagraphs(paragraphRenderDataList);
                    cells.add(cellRenderData);
                }
                else if (j==4){
                    //第五列(端口)
                    try{
                        textRenderData.setText(result2VOS.get(i).getPort());
                    }catch (Exception e){
                        textRenderData.setText("");
                    }
                    renderData.add(textRenderData);
                    paragraphRenderData.setContents(renderData);
                    paragraphRenderDataList.add(paragraphRenderData);
                    cellRenderData.setParagraphs(paragraphRenderDataList);
                    cells.add(cellRenderData);
                }
                else if (j==5){
                    //第六列(频段)
                    try{
                        textRenderData.setText(result2VOS.get(i).getFrequency());
                    }catch (Exception e){
                        textRenderData.setText("");
                    }
                    renderData.add(textRenderData);
                    paragraphRenderData.setContents(renderData);
                    paragraphRenderDataList.add(paragraphRenderData);
                    cellRenderData.setParagraphs(paragraphRenderDataList);
                    cells.add(cellRenderData);
                }
                else if (j==6){
                    //第七列(检验值)
                    try{
                        textRenderData.setText(result2VOS.get(i).getValue());
                    }catch (Exception e){
                        textRenderData.setText("");
                    }
                    renderData.add(textRenderData);
                    paragraphRenderData.setContents(renderData);
                    paragraphRenderDataList.add(paragraphRenderData);
                    cellRenderData.setParagraphs(paragraphRenderDataList);
                    cells.add(cellRenderData);
                }
                else {
                    //最后一列(结论)
                    try{
                        if (result2VOS.get(i).getResult().equals("1")) {
                            textRenderData.setText("合格");
                        }else if (result2VOS.get(i).getResult().equals("0")){
                            textRenderData.setText("不合格");
                        }else {
                            textRenderData.setText("不判定");
                        }
                    }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);
    }
    // æ°´å¹³åˆå¹¶å•元格
inspect-server/src/main/java/com/yuanchu/mom/vo/InsProductResult2VO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.yuanchu.mom.vo;
import lombok.Data;
//无源器件的电路试验生成报告所用
@Data
public class InsProductResult2VO {
    //检验项目
    private String inspectionItemSubclass;
    //单位
    private String unit;
    //标准要求
    private String ask;
    //端口
    private String port;
    //频段
    private String frequency;
    //检验值
    private String value;
    //结论
    private String result;
}
inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml
@@ -35,4 +35,23 @@
             #{result2.num})
        </foreach>
    </insert>
    <select id="selectWordHang" resultType="com.yuanchu.mom.vo.InsProductResult2VO">
        select
        inspection_item_subclass,
        unit,
        ask,
        result,
        frequency,
        port,
        value,
        result
        from  ins_product_result_2 ipr2
                          left join ins_product ip on ipr2.ins_product_id = ip.id
        where num=#{num}
          and ip.id in
            <foreach collection="ids" separator="," item="id" open="(" close=")" >
                #{id}
            </foreach>
        order by inspection_item_subclass
    </select>
</mapper>
inspect-server/src/main/resources/static/word2.docx
Binary files differ