| | |
| | | GiveCode giveCode; |
| | | |
| | | |
| | | //生成站点电路试验报告 |
| | | //生成站点电路试验报告(天线) |
| | | public void generateWord(String term, InsOrderState insOrderState) { |
| | | AtomicInteger lable = new AtomicInteger(1); |
| | | AtomicInteger index = new AtomicInteger(); |
| | | String title = term + "电路参数"; |
| | | List<Map<String, Object>> tables = new ArrayList<>(); |
| | | //查询订单 |
| | | InsOrder insOrder = insOrderMapper.selectById(insOrderState.getInsOrderId()); |
| | | //查询样品 |
| | | InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId()); |
| | | //查询项目 |
| | | List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() |
| | | .eq(InsProduct::getState,1) |
| | | .eq(InsProduct::getInsSampleId, insSample.getId()) |
| | | .eq(InsProduct::getSonLaboratory, "电路试验")); |
| | | //获取最大端口数量,角度数量,频段数量 |
| | | List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() |
| | | .eq(InsProductResult2::getNum, insOrderState.getNum()) |
| | | .in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()))); |
| | | //按照频段分表(查询所有频段) |
| | | List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList()); |
| | | frequencys.forEach(s -> { |
| | | int ports = 0;//端口数 |
| | | int angles = 0;//角度数 |
| | | List<InsProductResult2> productResult2s = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s)).collect(Collectors.toList()); |
| | | for (InsProductResult2 insProductResult2 : productResult2s) { |
| | | if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("电压驻波比") && insProductResult2.getPort().split(",").length > ports) { |
| | | ports = insProductResult2.getPort().split(",").length; |
| | | } |
| | | if (insProductResult2.getAngle().split(",").length > angles) { |
| | | angles = insProductResult2.getAngle().split(",").length; |
| | | } |
| | | } |
| | | //频点数 |
| | | long often = productResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s)) |
| | | .filter(insProductResult2 -> |
| | | insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("互调") |
| | | ).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count(); |
| | | List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList()); |
| | | //行数 |
| | | int aa = 0; |
| | | int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1; |
| | | //先判断是1简单版还是0复杂版 |
| | | if (insOrderState.getVersion() == 1) { |
| | | if (inspectionItemSubclass.contains("电压驻波比")) { |
| | | aa += 2 * portRow; |
| | | } |
| | | if (inspectionItemSubclass.contains("同极化隔离度")) { |
| | | aa += 1 * portRow; |
| | | } |
| | | if (inspectionItemSubclass.contains("同列隔离度")) { |
| | | aa += 1 * portRow; |
| | | } |
| | | if (inspectionItemSubclass.contains("端口间隔离度")) { |
| | | aa += 1 * portRow; |
| | | } |
| | | if (inspectionItemSubclass.contains("异极化隔离度")) { |
| | | aa += 1 * portRow; |
| | | } |
| | | if (inspectionItemSubclass.contains("互调")) { |
| | | aa += (angles + 1) * portRow * often; |
| | | } |
| | | } else { |
| | | if (inspectionItemSubclass.contains("电压驻波比")) { |
| | | aa += (angles + 1) * portRow; |
| | | } |
| | | if (inspectionItemSubclass.contains("同极化隔离度")) { |
| | | List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 -> |
| | | insProductMapper.selectById(insProductResult2.getInsProductId()) |
| | | .getInspectionItemSubclass().equals("同极化隔离度") && insProductResult2.getFrequency().equals(s) |
| | | ).collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | } |
| | | if (inspectionItemSubclass.contains("同列隔离度")) { |
| | | List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 -> |
| | | insProductMapper.selectById(insProductResult2.getInsProductId()) |
| | | .getInspectionItemSubclass().equals("同列隔离度") && insProductResult2.getFrequency().equals(s) |
| | | ).collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | } |
| | | if (inspectionItemSubclass.contains("端口间隔离度")) { |
| | | List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 -> |
| | | insProductMapper.selectById(insProductResult2.getInsProductId()) |
| | | .getInspectionItemSubclass().equals("端口间隔离度") && insProductResult2.getFrequency().equals(s) |
| | | ).collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | } |
| | | if (inspectionItemSubclass.contains("异极化隔离度")) { |
| | | List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 -> |
| | | insProductMapper.selectById(insProductResult2.getInsProductId()) |
| | | .getInspectionItemSubclass().equals("异极化隔离度") && insProductResult2.getFrequency().equals(s) |
| | | ).collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | } |
| | | if (inspectionItemSubclass.contains("互调")) { |
| | | aa += (angles + 1) * portRow * often; |
| | | } |
| | | if (inspectionItemSubclass.contains("最大耦合度")) { |
| | | aa += (angles + 1); |
| | | } |
| | | if (inspectionItemSubclass.contains("最小耦合度")) { |
| | | aa += (angles + 1); |
| | | } |
| | | if (inspectionItemSubclass.contains("幅度偏差")) { |
| | | List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 -> |
| | | insProductMapper.selectById(insProductResult2.getInsProductId()) |
| | | .getInspectionItemSubclass().equals("幅度偏差")&& insProductResult2.getFrequency().equals(s) |
| | | ).collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1); |
| | | } |
| | | if (inspectionItemSubclass.contains("最大相位偏差")) { |
| | | List<InsProductResult2> result2s = productResult2s.stream().filter(insProductResult2 -> |
| | | insProductMapper.selectById(insProductResult2.getInsProductId()) |
| | | .getInspectionItemSubclass().equals("最大相位偏差")&& insProductResult2.getFrequency().equals(s) |
| | | ).collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1); |
| | | } |
| | | } |
| | | List<RowRenderData> rows = new ArrayList<>(); |
| | | Set<String> itemSet = new HashSet<>(); |
| | | int cc = 0; |
| | | int dd = 0; |
| | | int ee = 0; |
| | | int ff = 0; |
| | | int gg = 0; |
| | | int hh = 0; |
| | | int mm = 0; |
| | | int nn = 0; |
| | | int pp = 0; |
| | | //表格的行数 |
| | | for (int i = 0; i <= aa; i++) { |
| | | RowRenderData rowRenderData = new RowRenderData(); |
| | | RowStyle rowStyle = new RowStyle(); |
| | | rowStyle.setHeight(40); |
| | | rowRenderData.setRowStyle(rowStyle); |
| | | List<CellRenderData> cells = new ArrayList<>(); |
| | | //表格的列数 |
| | | int bb = ports > 8 ? 14 : ports + 6; |
| | | for (int j = 0; j < bb; j++) { |
| | | CellRenderData cellRenderData = new CellRenderData(); |
| | | CellStyle cellStyle = new CellStyle(); |
| | | cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); |
| | | cellRenderData.setCellStyle(cellStyle); |
| | | List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); |
| | | ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); |
| | | ParagraphStyle paragraphStyle = new ParagraphStyle(); |
| | | paragraphStyle.setAlign(ParagraphAlignment.CENTER); |
| | | paragraphRenderData.setParagraphStyle(paragraphStyle); |
| | | List<RenderData> renderData = new ArrayList<>(); |
| | | TextRenderData textRenderData = new TextRenderData(); |
| | | Style style = new Style(); |
| | | style.setFontFamily("宋体"); |
| | | style.setColor("000000"); |
| | | textRenderData.setStyle(style); |
| | | if (i == 0) { |
| | | //第一行 |
| | | textRenderData.setText("频段:" + s + "∑0" + lable); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | if (insOrderState.getVersion() == 1) { |
| | | //非电调版本(简单版) |
| | | if (inspectionItemSubclass.contains("电压驻波比") && i <= 2 * portRow) { |
| | | cc = 2 * portRow; |
| | | if (itemSet.add("电压驻波比")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //电压驻波比所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("电压驻波比∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if (i % 2 == 0) { |
| | | //最差值 |
| | | textRenderData.setText("最差值"); |
| | | } else { |
| | | //端口 |
| | | textRenderData.setText("端口"); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if (i % 2 == 0) { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格"); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格"); |
| | | } else { |
| | | textRenderData.setText("不判定"); |
| | | } |
| | | } else { |
| | | textRenderData.setText("/"); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if (i % 2 == 0) { |
| | | //最差值 |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | //端口 |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("同极化隔离度") && i > cc && i <= cc + portRow) { |
| | | dd = cc + portRow; |
| | | if (itemSet.add("同极化隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream() |
| | | .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度")) |
| | | .collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //同极化隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("同极化隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | textRenderData.setText("最差值"); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格"); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格"); |
| | | } else { |
| | | textRenderData.setText("不判定"); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j % 2 == 0) { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("同列隔离度") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) { |
| | | ee = (dd == 0 ? cc : dd) + portRow; |
| | | if (itemSet.add("同列隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream() |
| | | .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度")) |
| | | .collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | textRenderData.setText("最差值"); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格"); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格"); |
| | | } else { |
| | | textRenderData.setText("不判定"); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j % 2 == 0) { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("端口间隔离度") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow) { |
| | | ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + portRow; |
| | | if (itemSet.add("端口间隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream() |
| | | .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度")) |
| | | .collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //同极化隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("同极化隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | textRenderData.setText("最差值"); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格"); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格"); |
| | | } else { |
| | | textRenderData.setText("不判定"); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j % 2 == 0) { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) * 4] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("异极化隔离度") && i >(ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)&& i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow) { |
| | | gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + portRow; |
| | | if (itemSet.add("异极化隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream() |
| | | .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度")) |
| | | .collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //异极化隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("异极化隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | textRenderData.setText("最差值"); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格"); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格"); |
| | | } else { |
| | | textRenderData.setText("不判定"); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j % 2 == 0) { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); |
| | | try { |
| | | textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) - 1) * 4] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) { |
| | | if (itemSet.add("互调")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream() |
| | | .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调")) |
| | | .collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //互调所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("互调∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) { |
| | | textRenderData.setText("角度"); |
| | | } else { |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1)); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1)); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1)); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) { |
| | | textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index); |
| | | } else { |
| | | String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\["); |
| | | String[] split = value[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | try { |
| | | textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | } else { |
| | | //电调版本(复杂版) |
| | | if (inspectionItemSubclass.contains("电压驻波比") && i <= (angles + 1) * portRow) { |
| | | cc = (angles + 1) * portRow; |
| | | if (itemSet.add("电压驻波比")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("电压驻波比")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //电压驻波比所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("电压驻波比∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if (i % (angles + 1) == 1) { |
| | | //端口 |
| | | textRenderData.setText("端口"); |
| | | } else { |
| | | //角度 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if (i % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if (i % (angles + 1) == 1) { |
| | | //端口 |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | try { |
| | | textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("同极化隔离度")) { |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同极化隔离度")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | int k = (angles + 1) * portRow2; |
| | | if (i > cc && i <= cc + k) { |
| | | dd = cc + k; |
| | | if (itemSet.add("同极化隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | //同极化隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("同极化隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - cc) % (angles + 1) == 1) { |
| | | //端口 |
| | | textRenderData.setText("端口"); |
| | | } else { |
| | | //角度 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - cc) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - cc) / (angles + 2))); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - cc) / (angles + 2))); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - cc) / (angles + 2))); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - cc) % (angles + 1) == 1) { |
| | | //端口 |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("同列隔离度")) { |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("同列隔离度")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | int k = (angles + 1) * portRow2; |
| | | if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) { |
| | | ee = (dd == 0 ? cc : dd) + k; |
| | | if (itemSet.add("同列隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | //隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { |
| | | //端口 |
| | | textRenderData.setText("端口"); |
| | | } else { |
| | | //角度 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { |
| | | //端口 |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(split[(j - 6) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(split[(j - 5) / 2 + ((i - (dd == 0 ? cc : dd)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("端口间隔离度")) { |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("端口间隔离度")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | int k = (angles + 1) * portRow2; |
| | | if (i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k) { |
| | | ff = (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + k; |
| | | if (itemSet.add("端口间隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | //同极化隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("端口间隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { |
| | | //端口 |
| | | textRenderData.setText("端口"); |
| | | } else { |
| | | //角度 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2))); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2))); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2))); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { |
| | | //端口 |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(split[(j - 6) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(split[(j - 5) / 2 + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("异极化隔离度")) { |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("异极化隔离度")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); |
| | | int k = (angles + 1) * portRow2; |
| | | if (i > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k) { |
| | | gg = (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + k; |
| | | if (itemSet.add("异极化隔离度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | //异极化隔离度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("异极化隔离度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) { |
| | | //端口 |
| | | textRenderData.setText("端口"); |
| | | } else { |
| | | //角度 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2))); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2))); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2))); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) { |
| | | //端口 |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | if (j % 2 == 0) { |
| | | try { |
| | | textRenderData.setText(split[(j - 6) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 6)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | try { |
| | | textRenderData.setText(split[(j - 5) / 2 + ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "∑5" + i + (j - 5)); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("互调") && i > (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) && i <= ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often)) { |
| | | hh = (int) ((gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1) * portRow * often); |
| | | if (itemSet.add("互调")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("互调")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //互调所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("互调∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) { |
| | | //角度 |
| | | textRenderData.setText("角度"); |
| | | } else { |
| | | //值 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1)); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1)); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1)); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) { |
| | | //频点 |
| | | textRenderData.setText(result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 1)).getOften() + "∑6" + i + index); |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) / portRow / (angles + 2)).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | try { |
| | | textRenderData.setText(split[((j - 5) + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("最大耦合度") && i > (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) && i <= ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1))) { |
| | | mm = ((hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) + (angles + 1)); |
| | | if (itemSet.add("最大耦合度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大耦合度")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //最大耦合度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("最大耦合度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) { |
| | | //角度 |
| | | textRenderData.setText("角度"); |
| | | } else { |
| | | //值 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh)) % (angles + 1) == 1) { |
| | | //频点 |
| | | textRenderData.setText(result2s.get(0).getOften() + "∑6" + index); |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | textRenderData.setText(split[0] + "∑7" + i); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("最小耦合度") && i > (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) && i <= ((mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1))) { |
| | | nn = (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) + (angles + 1); |
| | | if (itemSet.add("最小耦合度")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最小耦合度")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | //最小耦合度所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("最小耦合度∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) { |
| | | //角度 |
| | | textRenderData.setText("角度"); |
| | | } else { |
| | | //值 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm)) % (angles + 1) == 1) { |
| | | //频点 |
| | | textRenderData.setText(result2s.get(0).getOften() + "∑6" + index); |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | textRenderData.setText(split[0] + "∑7" + i); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("幅度偏差")) { |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("幅度偏差")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1); |
| | | int k = (angles + 1) * portRow2; |
| | | if (i > (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) && i <= (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k) { |
| | | pp = (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) + k; |
| | | if (itemSet.add("幅度偏差")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | //幅度偏差所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("幅度偏差∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) { |
| | | //频段 |
| | | textRenderData.setText("频段"); |
| | | } else { |
| | | //角度 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2))); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2))); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2))); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) % (angles + 1) == 1) { |
| | | //频段 |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | try { |
| | | textRenderData.setText(split[(j - 5) + ((i - (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn)) / (angles + 2)) * Math.min(length, 8)]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | } |
| | | if (inspectionItemSubclass.contains("最大相位偏差")) { |
| | | List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("最大相位偏差")).collect(Collectors.toList()); |
| | | List<InsProductResult2> result2s = productResult2s.stream() |
| | | .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) |
| | | .collect(Collectors.toList()); |
| | | int length = result2s.get(0).getPort().split(",").length; |
| | | int portRow2 = (length % 8 == 0 ? length / 8 : length / 8 + 1); |
| | | int k = (angles + 1) * portRow2; |
| | | if (i > (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) { |
| | | if (itemSet.add("最大相位偏差")) { |
| | | index.getAndIncrement(); |
| | | } |
| | | //最大相位偏差所在行 |
| | | if (j == 0) { |
| | | //第一列 |
| | | textRenderData.setText(index + "∑1" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 1) { |
| | | //第二列 |
| | | textRenderData.setText("最大相位偏差∑2" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 2) { |
| | | //第三列 |
| | | textRenderData.setText(products.get(0).getUnit() + "∑3" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 3) { |
| | | //第四列 |
| | | textRenderData.setText(products.get(0).getAsk() + "∑4" + index); |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == 4) { |
| | | //第五列 |
| | | if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) { |
| | | //频段 |
| | | textRenderData.setText("频段"); |
| | | } else { |
| | | //角度 |
| | | textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else if (j == bb - 1) { |
| | | //最后一列 |
| | | if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) { |
| | | textRenderData.setText("/"); |
| | | } else { |
| | | //结论 |
| | | if (products.get(0).getInsResult() == 1) { |
| | | textRenderData.setText("合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2))); |
| | | } else if (products.get(0).getInsResult() == 0) { |
| | | textRenderData.setText("不合格∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2))); |
| | | } else { |
| | | textRenderData.setText("不判定∑8" + index + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2))); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //其余列 |
| | | if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) % (angles + 1) == 1) { |
| | | //端口 |
| | | try { |
| | | textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } else { |
| | | //最差值 |
| | | String[] value = result2s.get(0).getValue().split("\\],\\["); |
| | | String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); |
| | | try { |
| | | textRenderData.setText(split[(j - 5) + ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh==0?(gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg):hh) : mm) : nn) : pp)) / (angles + 2)) * Math.min(length, 8)]); |
| | | } catch (Exception e) { |
| | | textRenderData.setText(""); |
| | | } |
| | | } |
| | | renderData.add(textRenderData); |
| | | paragraphRenderData.setContents(renderData); |
| | | paragraphRenderDataList.add(paragraphRenderData); |
| | | cellRenderData.setParagraphs(paragraphRenderDataList); |
| | | cells.add(cellRenderData); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | rowRenderData.setCells(cells); |
| | | if (rowRenderData.getCells().size() != 0) { |
| | | rows.add(rowRenderData); |
| | | } |
| | | } |
| | | TableRenderData tableRenderData = new TableRenderData(); |
| | | tableRenderData.setRows(rows); |
| | | int countSize = tableRenderData.getRows().get(0).getCells().size(); |
| | | for (RowRenderData row : tableRenderData.getRows()) { |
| | | if (row.getCells().size() != countSize) { |
| | | throw new ErrorException("每行单元格不相等"); |
| | | } |
| | | } |
| | | TableStyle tableStyle = new TableStyle(); |
| | | tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); |
| | | tableStyle.setAlign(TableRowAlign.CENTER); |
| | | BorderStyle borderStyle = new BorderStyle(); |
| | | borderStyle.setColor("000000"); |
| | | borderStyle.setType(XWPFTable.XWPFBorderType.THICK); |
| | | borderStyle.setSize(4); |
| | | tableStyle.setLeftBorder(borderStyle); |
| | | tableStyle.setTopBorder(borderStyle); |
| | | tableStyle.setRightBorder(borderStyle); |
| | | tableStyle.setBottomBorder(borderStyle); |
| | | tableRenderData.setTableStyle(tableStyle); |
| | | Map<String, Object> table = new HashMap<>(); |
| | | table.put("table", tableRenderData); |
| | | tables.add(table); |
| | | lable.getAndIncrement(); |
| | | }); |
| | | ZipSecureFile.setMinInflateRatio(0.0001); |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word1.docx"); |
| | | |
| | | ConfigureBuilder builder = Configure.builder(); |
| | | builder.useSpringEL(true); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("title", title); |
| | | put("tables", tables); |
| | | }}); |
| | | String name = insOrder.getEntrustCode().replace("/", "") + "-" +insSample.getSampleCode()+"-"+ title + ".docx"; |
| | | String url = UUID.randomUUID() + "_" + name; |
| | | try { |
| | | template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + url))); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | // 处理合并单元格的问题 |
| | | String path = wordUrl + "/" + url; |
| | | try { |
| | | ZipSecureFile.setMinInflateRatio(0.0001); |
| | | FileInputStream stream = new FileInputStream(path); |
| | | XWPFDocument document = new XWPFDocument(stream); |
| | | List<XWPFTable> xwpfTables = document.getTables(); |
| | | for (int i = 0; i < xwpfTables.size(); i++) { |
| | | Set<String> set1 = new HashSet<>(); |
| | | Map<String, Map<String, Integer>> maps = new HashMap<>(); |
| | | for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) { |
| | | for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) { |
| | | if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("∑") > -1) { |
| | | String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑"); |
| | | if (set1.add(split[1])) { |
| | | Map<String, Integer> map = new HashMap<>(); |
| | | map.put("sr", j); |
| | | map.put("sc", k); |
| | | map.put("er", j + 0); |
| | | map.put("ec", k + 0); |
| | | maps.put(split[1], map); |
| | | } else { |
| | | Map<String, Integer> map1 = maps.get(split[1]); |
| | | if (j == map1.get("sr")) { |
| | | map1.put("ec", map1.get("ec") + 1); |
| | | } else if (k == map1.get("sc")) { |
| | | map1.put("er", map1.get("er") + 1); |
| | | } |
| | | } |
| | | String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("∑")[0]; |
| | | xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); |
| | | xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str); |
| | | xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); |
| | | xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 单元格排序, 避免格式错乱 |
| | | List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet()); |
| | | entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc")); |
| | | |
| | | // 按照顺序添加进集合 |
| | | List<String> list = new ArrayList<>(); |
| | | for (Map.Entry<String, Map<String, Integer>> entry : entries) { |
| | | list.add(entry.getKey()); |
| | | } |
| | | /*List<String> list = new ArrayList<>(); |
| | | for (String s : maps.keySet()) { |
| | | list.add(s); |
| | | }*/ |
| | | for (int a = list.size() - 1; a >= 0; a--) { |
| | | Map<String, Integer> v = maps.get(list.get(a)); |
| | | for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) { |
| | | if (v.get("ec") > v.get("sc")) { |
| | | try { |
| | | TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); |
| | | } catch (Exception e) { |
| | | } |
| | | } |
| | | } |
| | | if (v.get("er") > v.get("sr")) { |
| | | try { |
| | | TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); |
| | | } catch (Exception e) { |
| | | } |
| | | } |
| | | } |
| | | } |
| | | FileOutputStream fileOutputStream = new FileOutputStream(path); |
| | | document.write(fileOutputStream); |
| | | fileOutputStream.close(); |
| | | } catch (FileNotFoundException e) { |
| | | throw new RuntimeException(e); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | InsOrderFile insOrderFile = new InsOrderFile(); |
| | | insOrderFile.setInsOrderId(insOrderState.getInsOrderId()); |
| | | insOrderFile.setInsSampleId(insOrderState.getInsSampleId()); |
| | | insOrderFile.setFileName(name); |
| | | insOrderFile.setType(2); |
| | | insOrderFile.setFileUrl(url); |
| | | insOrderFile.setSonLaboratory("电路试验"); |
| | | insOrderFileMapper.insert(insOrderFile); |
| | | } |
| | | |
| | | //生成站点电路试验报告(无源器件) |
| | | public void generateWord2(String term, InsOrderState insOrderState) { |
| | | AtomicInteger lable = new AtomicInteger(1); |
| | | AtomicInteger index = new AtomicInteger(); |
| | | String title = term + "电路参数"; |
| | |
| | | InsOrderState orderState = insOrderStateMapper.selectById(insOrderUser.getInsOrderStateId()); |
| | | if (orderState.getLaboratory().equals("电路试验")) { |
| | | orderState.setNum(insOrderUser.getNum()); |
| | | if(!insOrder.getSampleType().equals("无源器件")){ |
| | | getWord1(insOrderUser.getTerm(), orderState, tables2); |
| | | }else { |
| | | getWord2(insOrderUser.getTerm(), orderState, tables2); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | //电路报告用于总报告的方法 |
| | | //电路报告用于总报告的方法(天线) |
| | | private void getWord1(String term, InsOrderState insOrderState,List<Map<String, Object>> tables2) { |
| | | AtomicInteger lable = new AtomicInteger(1); |
| | | AtomicInteger index = new AtomicInteger(); |
| | | String title = term + "电路参数"; |
| | | InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId()); |
| | | |
| | | //查询项目 |
| | | List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() |
| | | .eq(InsProduct::getState,1) |
| | |
| | | }); |
| | | } |
| | | |
| | | //电路报告用于总报告的方法(无源器件) |
| | | private void getWord2(String term, InsOrderState insOrderState,List<Map<String, Object>> tables2){ |
| | | |
| | | } |
| | | |
| | | // 水平合并单元格 |
| | | private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { |
| | | for (int i = fromCol; i <= toCol; i++) { |