From a00890e840b80a741f62eb6cb31b46f13be6202f Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 24 十月 2024 16:46:45 +0800 Subject: [PATCH] 附件调试修改+辐射站点报告生成 --- inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java | 3712 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 3,569 insertions(+), 143 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java index b0e467e..e28d68e 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java @@ -1,40 +1,71 @@ package com.yuanchu.mom.utils; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yuanchu.mom.controller.InsOrderPlanController; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.deepoove.poi.util.TableTools; +import com.yuanchu.mom.dto.InsReportDto1; +import com.yuanchu.mom.dto.SampleProductDto; +import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.*; -import com.yuanchu.mom.pojo.InsOrderState; -import com.yuanchu.mom.pojo.InsProduct; -import com.yuanchu.mom.pojo.InsProductResult2; -import com.yuanchu.mom.pojo.InsSample; -import com.yuanchu.mom.service.impl.InsOrderPlanServiceImpl; +import com.yuanchu.mom.pojo.*; +import org.apache.commons.io.IOUtils; +import org.apache.poi.openxml4j.util.ZipSecureFile; import org.apache.poi.xwpf.usermodel.*; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr; import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; +import org.springframework.beans.factory.annotation.Value; import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.List; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @Component public class WordUtils { + @Value("${wordUrl}") + private String wordUrl; + @Resource private InsOrderMapper insOrderMapper; @Resource - private InsOrderStateMapper insOrderStateMapper; + private InsOrderFileMapper insOrderFileMapper; + + @Resource + CustomMapper customMapper; + + @Value("${file.path}") + private String imgUrl; + + @Resource + InsReportMapper insReportMapper; @Resource private InsSampleMapper insSampleMapper; + + @Resource + StandardMethodListMapper standardMethodListMapper; + + @Value("${twoCode}") + private String twoCode; @Resource private InsProductMapper insProductMapper; @@ -42,30 +73,32 @@ @Resource private InsProductResult2Mapper insProductResult2Mapper; - private void writeText(XWPFParagraph xwpfParagraph, String text, Integer size, String bold) { - // 鍒涘缓鏂扮殑鏂囨湰杩愯 - XWPFRun run = xwpfParagraph.createRun(); - // 璁剧疆鏂扮殑鏁版嵁 - run.setText(text); - if (ObjectUtils.isNotEmpty(size)) { - run.setFontSize(size); - } - if (ObjectUtils.isNotEmpty(bold)) { - run.setBold(true); - } - } + @Resource + InsOrderUserMapper insOrderUserMapper; - //鐢熸垚鐢佃矾璇曢獙鐨勭珯鐐规姤鍛� - public MultipartFile generateWord(String note, String term, InsOrderState insOrderState) { + @Resource + InsOrderStateMapper insOrderStateMapper; + + @Resource + private InsProductResultMapper insProductResultMapper; + + @Resource + UserMapper userMapper; + + @Resource + InsSampleUserMapper insSampleUserMapper; + + + //鐢熸垚绔欑偣鐢佃矾璇曢獙鎶ュ憡 + public void generateWord(String term, InsOrderState insOrderState) { + AtomicInteger lable = new AtomicInteger(1); AtomicInteger index = new AtomicInteger(); - // 鍒涘缓涓�涓┖鐨刉ord鏂囨。 - XWPFDocument document = new XWPFDocument(); - //鍒涘缓涓�涓钀芥爣棰� - XWPFParagraph paragraph = document.createParagraph(); - writeText(paragraph, term + "鐢佃矾鍙傛暟", 20, "鍔犵矖"); - - //鏌ヨ鏍峰搧 - List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insOrderState.getInsOrderId())); + String title = term + "鐢佃矾鍙傛暟"; + List<Map<String, Object>> tables = new ArrayList<>(); + //鏌ヨ璁㈠崟 + InsOrder insOrder = insOrderMapper.selectById(insOrderState.getInsOrderId()); + //鏌ヨ涓旇繃婊ゅ嚭鏈夌數璺瘯楠岀殑鏍峰搧 + List<InsSample> insSamples = insSampleMapper.selectSample(insOrderState.getInsOrderId()); insSamples.forEach(insSample -> { //鏌ヨ椤圭洰 List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() @@ -75,141 +108,3534 @@ List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() .eq(InsProductResult2::getNum, insOrderState.getNum()) .in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()))); - int ports = 0; - int angles = 0; - for (InsProductResult2 insProductResult2 : insProductResult2s) { - if (insProductResult2.getPort().split(",").length > ports) { - ports = insProductResult2.getPort().split(",").length; + //鎸夌収棰戞鍒嗚〃(鏌ヨ鎵�鏈夐娈�) + List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList()); + frequencys.forEach(s -> { + int ports = 0;//绔彛鏁� + int angles = 0;//瑙掑害鏁� + for (InsProductResult2 insProductResult2 : insProductResult2s) { + 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; + } } - if (insProductResult2.getAngle().split(",").length > angles) { - angles = insProductResult2.getAngle().split(",").length; - } - } - List<String> frequencyses = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList()); - int frequencys = frequencyses.size(); - List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList()); - //鍏堝垽鏂槸1绠�鍗曠増杩樻槸0澶嶆潅鐗� - if (insOrderState.getVersion() == 1) { - //(鍒楁暟鏄鍙f暟+6,琛屾暟鏄�(椹绘尝姣�*2+闅旂搴�+浜掕皟*(瑙掑害+1)+1)*棰戞+1) - int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1; + //棰戠偣鏁� + long often = insProductResult2s.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 rows = 0; - if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { - rows += 2 * portRow; + 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 += (angles + 1) * portRow * often; + } } - if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { - rows += 1 * portRow; + else { + if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { + aa += (angles + 1) * portRow; + } + if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { + List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害") + ).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 = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害") + ).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 = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("骞呭害鍋忓樊") + ).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 = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("鏈�澶х浉浣嶅亸宸�") + ).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("寮傛瀬鍖栭殧绂诲害")) { - rows += 1 * portRow; - } - if (inspectionItemSubclass.contains("浜掕皟")) { - rows += (angles + 1) * portRow; - } - //鍒楁暟 - int cols = ports > 8 ? 14 : ports + 6; - //鍒涘缓涓�涓〃鏍� - XWPFTable table = document.createTable((rows + 1) * frequencys + 1, cols); - // 濉厖琛ㄦ牸鍐呭 - for (int rowIndex = 0; rowIndex < (rows + 1) * frequencys + 1; rowIndex++) { - XWPFTableRow row = table.getRow(rowIndex); - for (int colIndex = 0; colIndex < cols; colIndex++) { - XWPFTableCell cell = row.getCell(colIndex); - if (rowIndex == 0) { + 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; + //琛ㄦ牸鐨勮鏁� + 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) { //绗竴琛� - if (colIndex == 0) { - //绗竴鍒� - cell.setText("搴忓彿"); - } else if (colIndex == 1) { - //绗簩鍒� - cell.setText("妫�楠岄」鐩�"); - } else if (colIndex == 2) { - //绗笁鍒� - cell.setText("鍗曚綅"); - } else if (colIndex == 3) { - //绗洓鍒� - cell.setText("鏍囧噯涓庤姹�"); - } else if (colIndex == cols - 1) { - //鏈�鍚庝竴鍒� - cell.setText("妫�楠岀粨璁�"); - } else if (colIndex == 4){ - //鍏朵綑鍒� - cell.setText("妫�楠岀粨鏋�"); - } - } - else if (rowIndex == 1 || rowIndex % (rows + 1) == 1) { - if (colIndex==0) { - //棰戞鎵�鍦ㄨ - cell.setText("棰戞锛�" + frequencyses.get(rowIndex / (rows + 1))); - } + textRenderData.setText("棰戞锛�" + s + "鈭�0" + lable); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); } else { - //portRow绔彛琛屾暟 - if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { - + 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 = insProductResult2s.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 = insProductResult2s.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 = insProductResult2s.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)) { + if (itemSet.add("浜掕皟")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream() + .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("浜掕皟")) + .collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.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 - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { + textRenderData.setText("瑙掑害"); + } else { + textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 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 - (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 - 1)) / (angles + 1) - 1)); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } + } + 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) { + textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index); + } else { + String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\["); + String[] split = value[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); + try { + textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 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("鍚屾瀬鍖栭殧绂诲害")) { + 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 = insProductResult2s.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 = insProductResult2s.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(""); + } + } - } - if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) { - - } - if (inspectionItemSubclass.contains("浜掕皟")) { - + } 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 = insProductResult2s.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("浜掕皟") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= ((ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles + 1) * portRow * often)) { + ff = (int) ((ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (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 = insProductResult2s.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 - (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 - 1)) / (angles + 1) - 1)); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } + } + 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) { + //棰戠偣 + textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index); + } else { + //鏈�宸�� + String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\["); + String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); + try { + textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 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 > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= ((ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + (angles + 1))) { + gg = ((ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + (angles + 1)); + if (itemSet.add("鏈�澶ц�﹀悎搴�")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鏈�澶ц�﹀悎搴�")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.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 - (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); + } 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 - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (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 > (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))) { + hh = (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1); + if (itemSet.add("鏈�灏忚�﹀悎搴�")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鏈�灏忚�﹀悎搴�")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.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); + } 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 - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (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 = insProductResult2s.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 > (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) + k) { + mm = (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) + 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 - (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 + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (angles + 2))); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (angles + 2))); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (angles + 2))); + } + } + 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) { + //棰戞 + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (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 - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (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 = insProductResult2s.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 > (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) { + 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 - (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 + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (angles + 2))); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (angles + 2))); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (angles + 2))); + } + } + 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) { + //绔彛 + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (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 - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (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 (rowIndex == 0) { - //绗竴琛岀殑妯悜鍚堝苟 - mergeCellsHorizontal(row, 4, cols - 2); - } else if (rowIndex == 1 || rowIndex % (rows + 1) == 1) { - //棰戞琛岀殑妯悜鍚堝苟 - mergeCellsHorizontal(row, 0, cols - 1); + rowRenderData.setCells(cells); + if (rowRenderData.getCells().size() != 0) { + rows.add(rowRenderData); } } - } else { + 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(); + }); + }); + String url; + try { + ZipSecureFile.setMinInflateRatio(0.0001); + InputStream inputStream = this.getClass().getResourceAsStream("/static/word1.docx"); + File file = File.createTempFile("temp", ".tmp"); + OutputStream outputStream = new FileOutputStream(file); + IOUtils.copy(inputStream, outputStream); + url = file.getAbsolutePath(); + } catch (FileNotFoundException e) { + throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�"); + } catch (IOException e) { + throw new RuntimeException(e); + } + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("title", title); + put("tables", tables); + }}); + String name = insOrder.getEntrustCode().replace("/", "") + "-" + title + ".docx"; + try { + template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); + } catch (IOException e) { + throw new RuntimeException(e); + } + // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂 + String path = wordUrl + "/" + name; + try { + ZipSecureFile.setMinInflateRatio(0.0001); + FileInputStream stream = new FileInputStream(path); + XWPFDocument document = new XWPFDocument(stream); + List<XWPFTable> xwpfTables = document.getTables(); + for (int i = 1; i < xwpfTables.size(); 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.setFileName(name); + insOrderFile.setType(2); + insOrderFile.setFileUrl(name); + insOrderFile.setSonLaboratory("鐢佃矾璇曢獙"); + insOrderFileMapper.insert(insOrderFile); + } + + //鐢熸垚鎬绘姤鍛� + public void generateReport(Integer orderId, List<InsReportDto1> insReportDto1s) { + LocalDateTime now = LocalDateTime.now(); + InsOrder insOrder = insOrderMapper.selectById(orderId); + //濮旀墭閮ㄩ棬 departLims + String departLims = userMapper.selectDepartLims(insOrder.getPrepareUser()); + //samples鏄繃婊ゆ帀娌℃湁妫�楠岄」鐩殑鏍峰搧 + List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId); + String sampleCode = samples.get(0).getSampleCode(); + InsReport insReport = new InsReport(); + insReport.setCode(insOrder.getEntrustCode().replace("WT", "TXJC")); + insReport.setInsOrderId(orderId); + Set<String> standardMethod = new HashSet<>(); + Set<String> deviceSet = new HashSet<>(); + Set<String> models = new HashSet<>(); + + AtomicReference<Integer> productSize = new AtomicReference<>(0); + AtomicReference<Integer> productSize1 = new AtomicReference<>(0); + AtomicReference<Integer> productSize2 = new AtomicReference<>(0); + AtomicReference<Integer> productSize3 = new AtomicReference<>(0); + String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; + samples.forEach(s -> { + models.add(s.getModel()); + standardMethod.addAll(standardMethodListMapper.selectList(Wrappers.<StandardMethodList>lambdaQuery() + .in(StandardMethodList::getId, Arrays.stream(s.getStandardMethodListId().replaceAll("[\\[\\]]", "").split(",")) + .map(String::trim).map(Integer::parseInt).collect(Collectors.toList()))).stream().map(aa -> { + return aa.getCode() + " " + aa.getName(); + }).distinct().collect(Collectors.toList())); + //鎬绘暟 + Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, s.getId())); + productSize.set(productSize.get() + Integer.parseInt(productCount + "")); + //涓嶅垽瀹� + Long productCount1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, s.getId()) + .eq(InsProduct::getInsResult, 3)); + productSize1.set(productSize1.get() + Integer.parseInt(productCount1 + "")); + //涓嶅悎鏍� + Long productCount2 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, s.getId()) + .eq(InsProduct::getInsResult, 0)); + productSize2.set(productSize2.get() + Integer.parseInt(productCount2 + "")); + //鍚堟牸 + Long productCount3 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, s.getId()) + .eq(InsProduct::getInsResult, 1)); + productSize3.set(productSize3.get() + Integer.parseInt(productCount3 + "")); + //灏嗛」鐩寜鐓х珯鐐硅繘琛屽垎绫� + Map<String, List<InsProduct>> listMap = s.getInsProduct().stream().collect(Collectors.groupingBy(InsProduct::getSonLaboratory)); + // 鍒涘缓涓�涓� Map 灏嗙珯鐐瑰拰椤圭洰ID鐨勬槧灏勫叧绯� + Map<String, Set<Integer>> labToDeviceMap = new HashMap<>(); + // 鑾峰彇鎵�鏈夌珯鐐圭殑椤圭洰ID 鍒楄〃 + for (Map.Entry<String, List<InsProduct>> entry : listMap.entrySet()) { + Set<Integer> productIds = entry.getValue().stream() + .map(InsProduct::getId) + .collect(Collectors.toSet()); + labToDeviceMap.put(entry.getKey(), productIds); + } + for (InsReportDto1 insReportDto1 : insReportDto1s) { + String laboratory = insReportDto1.getLaboratory(); + if (!labToDeviceMap.containsKey(laboratory)) { + continue; + } + Set<Integer> productIds = labToDeviceMap.get(laboratory); + Integer num = insReportDto1.getNum(); + //鏅�氳瘯楠岀粨鏋滆〃 + List<InsProductResult> insProductResults = insProductResultMapper.selectList( + Wrappers.<InsProductResult>lambdaQuery() + .eq(InsProductResult::getNum, num) + .in(InsProductResult::getInsProductId, productIds)); + for (InsProductResult insProductResult : insProductResults) { + List<JSONObject> jsonObjects = JSON.parseArray(insProductResult.getEquipValue(), JSONObject.class); + for (JSONObject jsonObject : jsonObjects) { + String value = jsonObject.getString("v"); + if (value != null && !value.isEmpty()) { + deviceSet.add(value); + } + } + } + //鐢佃矾璇曢獙缁撴灉琛� + List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList( + Wrappers.<InsProductResult2>lambdaQuery() + .eq(InsProductResult2::getNum, num) + .in(InsProductResult2::getInsProductId, productIds)); + for (InsProductResult2 result2 : insProductResult2s) { + String equipValue = result2.getEquipValue(); + if (equipValue != null && !equipValue.isEmpty()) { + deviceSet.add(equipValue); + } + } } }); - // 鍐欏叆鍒版枃浠� - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + + /*妫�楠屾儏鍐典竴瑙堣〃*/ + List<Map<String, String>> tables = new ArrayList<>(); + List<Map<String, Object>> tables2 = new ArrayList<>(); + List<Map<String, Object>> tables3 = new ArrayList<>(); + List<Map<String, Object>> tables4 = new ArrayList<>(); + Integer indexs = 1; + //鍒ゆ柇鏄惁鏈夌數璺瘯楠�,鐜璇曢獙 + List<String> strings = insReportDto1s.stream().map(InsReportDto1::getLaboratory).distinct().collect(Collectors.toList()); + if (strings.contains("杩戝満") || strings.contains("杩滃満")) { + Map<String, String> table = new HashMap<>(); + table.put("indexs", indexs + ""); + table.put("term", "杈愬皠鏂瑰悜鍥惧弬鏁�"); + table.put("result", "涓嶅垽瀹�"); + tables.add(table); + /*杈愬皠鐨勮瘯楠岃〃*/ + } + if (strings.contains("鐢佃矾璇曢獙")) { + strings.remove("鐢佃矾璇曢獙"); + strings.remove("杩戝満"); + strings.remove("杩滃満"); + List<Integer> productIdes = samples.stream().flatMap(sampleProductDto -> + sampleProductDto.getInsProduct().stream().map(InsProduct::getId)).collect(Collectors.toList()); + List<Integer> collect = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() + .in(InsProductResult2::getInsProductId, productIdes)) + .stream().map(InsProductResult2::getResult).distinct().collect(Collectors.toList()); + //濡傛灉鏈夌幆澧冭瘯楠� + if (strings.size() > 0) { + Map<String, String> table1 = new HashMap<>(); + table1.put("indexs", indexs + ""); + table1.put("term", "鐜璇曢獙鍓嶇數璺弬鏁�"); + if (collect.contains(0)) { + table1.put("result", "涓嶅悎鏍�"); + } else { + table1.put("result", "鍚堟牸"); + } + tables.add(table1); + indexs += 1; + + Map<String, String> table2 = new HashMap<>(); + table2.put("indexs", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1"); + table2.put("term", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1"); + table2.put("result", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1"); + tables.add(table2); + + Map<String, String> table3 = new HashMap<>(); + table3.put("indexs", indexs + ""); + table3.put("term", "鐜璇曢獙鍚庣數璺弬鏁�"); + if (collect.contains(0)) { + table3.put("result", "涓嶅悎鏍�"); + } else { + table3.put("result", "鍚堟牸"); + } + tables.add(table3); + indexs += 1; + + /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/ + List<InsProduct> products = samples.stream().flatMap(sampleProductDto -> sampleProductDto.getInsProduct().stream() + .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙")) + .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))) + .map(insProduct -> { + InsProduct product = new InsProduct(); + product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); + product.setTell(insProduct.getTell()); + return product; + }).distinct().collect(Collectors.toList()); + List<RowRenderData> rows = new ArrayList<>(); + //琛屾暟 + for (int i = 0; i < products.size() + 1; i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //鍒楁暟 + for (int j = 0; j < 2; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + if (j == 0) { + //绗竴鍒� + textRenderData.setText("椤圭洰"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗簩鍒� + textRenderData.setText("璇曢獙瑕佹眰"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } else { + //鍏朵綑琛� + if (j == 0) { + //绗竴鍒� + textRenderData.setText(products.get(i - 1).getInspectionItemSubclass()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + textRenderData.setText(products.get(i - 1).getTell()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + } + rowRenderData.setCells(cells); + if (rowRenderData.getCells().size() != 0) { + rows.add(rowRenderData); + } + } + TableRenderData tableRenderData = new TableRenderData(); + tableRenderData.setRows(rows); + int countSize = tableRenderData.getRows().get(0).getCells().size(); + for (RowRenderData row : tableRenderData.getRows()) { + if (row.getCells().size() != countSize) { + throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); + } + } + TableStyle tableStyle = new TableStyle(); + tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); + tableStyle.setAlign(TableRowAlign.CENTER); + BorderStyle borderStyle = new BorderStyle(); + borderStyle.setColor("000000"); + borderStyle.setType(XWPFTable.XWPFBorderType.THICK); + borderStyle.setSize(4); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table4 = new HashMap<>(); + table4.put("table4", tableRenderData); + tables4.add(table4); + } + else { + Map<String, String> table = new HashMap<>(); + table.put("indexs", indexs + ""); + table.put("term", "鐢佃矾鍙傛暟"); + if (collect.contains(0)) { + table.put("result", "涓嶅悎鏍�"); + } else { + table.put("result", "鍚堟牸"); + } + tables.add(table); + indexs += 1; + } + /*鍕鹃�夌殑鐢佃矾璇曢獙琛�*/ + List<InsSample> insSamples = insSampleMapper.selectSample(orderId); + for (InsReportDto1 insReportDto1 : insReportDto1s) { + InsOrderUser insOrderUser = insOrderUserMapper.selectById(insReportDto1.getInsOrderUsersId()); + InsOrderState orderState = insOrderStateMapper.selectById(insOrderUser.getInsOrderStateId()); + if (orderState.getLaboratory().equals("鐢佃矾璇曢獙")){ + orderState.setNum(insOrderUser.getNum()); + getWord1(insOrderUser.getTerm(),orderState,insSamples,tables2); + } + } + } + else { + //濡傛灉鍙湁鐜璇曢獙娌℃湁鐢佃矾璇曢獙 + strings.remove("杩戝満"); + strings.remove("杩滃満"); + if (strings.size() > 0) { + Map<String, String> table2 = new HashMap<>(); + table2.put("indexs", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1"); + table2.put("term", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1"); + table2.put("result", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1"); + tables.add(table2); + + /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/ + List<InsProduct> products = samples.stream().flatMap(sampleProductDto -> sampleProductDto.getInsProduct().stream() + .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙")) + .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))) + .map(insProduct -> { + InsProduct product = new InsProduct(); + product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); + product.setTell(insProduct.getTell()); + return product; + }).distinct().collect(Collectors.toList()); + List<RowRenderData> rows = new ArrayList<>(); + //琛屾暟 + for (int i = 0; i < products.size() + 1; i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //鍒楁暟 + for (int j = 0; j < 2; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + if (j == 0) { + //绗竴鍒� + textRenderData.setText("椤圭洰"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗簩鍒� + textRenderData.setText("璇曢獙瑕佹眰"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } else { + //鍏朵綑琛� + if (j == 0) { + //绗竴鍒� + textRenderData.setText(products.get(i - 1).getInspectionItemSubclass()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + textRenderData.setText(products.get(i - 1).getTell()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + } + rowRenderData.setCells(cells); + if (rowRenderData.getCells().size() != 0) { + rows.add(rowRenderData); + } + } + TableRenderData tableRenderData = new TableRenderData(); + tableRenderData.setRows(rows); + int countSize = tableRenderData.getRows().get(0).getCells().size(); + for (RowRenderData row : tableRenderData.getRows()) { + if (row.getCells().size() != countSize) { + throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); + } + } + TableStyle tableStyle = new TableStyle(); + tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); + tableStyle.setAlign(TableRowAlign.CENTER); + BorderStyle borderStyle = new BorderStyle(); + borderStyle.setColor("000000"); + borderStyle.setType(XWPFTable.XWPFBorderType.THICK); + borderStyle.setSize(4); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table4 = new HashMap<>(); + table4.put("table4", tableRenderData); + tables4.add(table4); + } + } + + String url; try { - document.write(outputStream); + ZipSecureFile.setMinInflateRatio(0.0001); + InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx"); + File file = File.createTempFile("temp", ".tmp"); + OutputStream outputStream = new FileOutputStream(file); + IOUtils.copy(inputStream, outputStream); + url = file.getAbsolutePath(); + } catch (FileNotFoundException e) { + throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�"); } catch (IOException e) { - e.printStackTrace(); + throw new RuntimeException(e); } - byte[] bytes = outputStream.toByteArray(); - return new MockMultipartFile(term + "鐢佃矾鍙傛暟", term + "鐢佃矾鍙傛暟.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", bytes); - } + StringBuilder standardMethod2 = new StringBuilder(); + for (String s : standardMethod) { + standardMethod2.append("锛沑n").append(s); + } + standardMethod2.append("锛沑n").append("GB/T 9410-2008 銆婄Щ鍔ㄩ�氫俊澶╃嚎閫氱敤鎶�鏈鑼冦��"); + standardMethod2.replace(0, 1, ""); + List<Map<String, String>> deviceList = null; + if (deviceSet.size() != 0) { + deviceList = insOrderMapper.selectDeviceList(deviceSet); + } + Map<String, String> codeStr = new HashMap<>(); + codeStr.put("鎶ュ憡缂栧彿", insReport.getCode()); + codeStr.put("鏍峰搧鍚嶇О", insOrder.getSample()); + codeStr.put("瑙勬牸鍨嬪彿", samples.get(0).getModel()); + codeStr.put("鍙戞斁鏃ユ湡", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + String codePath; + try { + codePath = new MatrixToImageWriter().code(JackSonUtil.marshal(codeStr).replaceAll("\\{", "") + .replaceAll("}", "").replaceAll(",", "").replaceAll("\"", ""), twoCode); + } catch (Exception e) { + throw new RuntimeException(e); + } + String modelStr = ""; + for (String model : models) { + modelStr += "," + model; + } + String finalModelStr = modelStr; + String sampleEn = insSampleMapper.getSampleEn(insOrder.getSample()); + String orderType = insOrderMapper.getEnumLabelByValue(insOrder.getOrderType()); + String formType = insOrderMapper.getEnumLabelByValue(insOrder.getFormType()); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + List<Map<String, String>> finalDeviceList = deviceList; + List<Map<String, String>> sampleList = insSampleMapper.selectSampleList(orderId); + Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery() + .eq(InsSampleUser::getInsSampleId, orderId).last("limit 1")).getUserId(); + String signatureUrl; + try { + signatureUrl = userMapper.selectById(userId).getSignatureUrl(); + } catch (Exception e) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.equals("")) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + Custom custom = customMapper.selectById(insOrder.getCompanyId()); - // 绔栧悜鍚堝苟鍗曞厓鏍� - private static void mergeCellsVertical(XWPFTable table, int columnIndex, int fromRow, int toRow) { - for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { - if (rowIndex == fromRow) { - // 绗竴涓崟鍏冩牸淇濈暀锛岃涓哄悎骞惰捣濮� - CTTcPr tcPr = table.getRow(rowIndex).getCell(columnIndex).getCTTc().addNewTcPr(); - tcPr.addNewVMerge().setVal(STMerge.RESTART); - } else { - // 闈炵涓�涓崟鍏冩牸璁句负鍚堝苟缁х画 - CTTcPr tcPr = table.getRow(rowIndex).getCell(columnIndex).getCTTc().addNewTcPr(); - tcPr.addNewVMerge().setVal(STMerge.CONTINUE); + /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/ + List<Map<String, Object>> images = new ArrayList<>(); + List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery().eq(InsOrderFile::getType, 1).eq(InsOrderFile::getInsOrderId, orderId)); + if (CollectionUtils.isNotEmpty(insOrderFiles)) { + insOrderFiles.forEach(insOrderFile -> { + Map<String, Object> image = new HashMap<>(); + PictureRenderData pictureRenderData = Pictures.ofLocal(imgUrl + "/" + insOrderFile.getFileUrl()).sizeInCm(17, 20).create(); + image.put("url", pictureRenderData); + image.put("report", insReport); + images.add(image); + }); + } + //濮旀墭浜哄拰鐢佃瘽瀛楁鍒ゆ柇 + if (ObjectUtils.isEmpty(insOrder.getPrepareUser())) { + insOrder.setPrepareUser("/"); + } + if (ObjectUtils.isEmpty(insOrder.getPhone())) { + insOrder.setPhone("/"); + } + //妫�楠岄」鐩殑鐜 + InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).eq(InsProduct::getInsSampleId, samples.get(0).getId())).get(0); + String environment = ""; + environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "鈩� " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : ""); + String finalEnvironment = environment; + List<SampleProductDto> finalSamples = samples; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("order", insOrder); + put("report", insReport); + put("departLims", departLims); + put("sampleCode", sampleCode); + put("environment", finalEnvironment); + put("custom", custom); + put("sampleSize", finalSamples.size()); + put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2)); + put("deviceList", finalDeviceList); + put("tables", tables); + put("tables2", tables2); + put("tables3", tables3); + put("tables4", tables4); + put("sampleList", sampleList); + put("twoCode", Pictures.ofLocal(codePath).create()); + put("models", finalModelStr.replace(",", "")); + put("productSize", productSize); + put("productSize1", productSize1); + put("productSize2", productSize2); + put("productSize3", productSize3); + put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); +// put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear()); + put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); + put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + insOrder.getInsTime().getDayOfMonth() + ", " + insOrder.getInsTime().getYear()); + put("writeUrl", null); + put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create()); + put("images", images); + put("examineUrl", null); + put("ratifyUrl", null); + put("sampleEn", sampleEn); + put("orderType", orderType); + put("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); + put("getTimeEn", monthNames[insOrder.getExamineTime().getMonthValue() - 1] + " " + insOrder.getExamineTime().getDayOfMonth() + ", " + insOrder.getExamineTime().getYear()); + put("seal1", null); + put("seal2", null); + put("formTypeCh", formType); + put("formTypeEn", insOrder.getFormType()); + }}); + try { + ZipSecureFile.setMinInflateRatio(0.0001); + String name = insReport.getCode().replace("/", "") + ".docx"; + template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); + insReport.setUrl("/word/" + name); + insReportMapper.insert(insReport); + insOrder.setInsState(5); + insOrderMapper.updateById(insOrder); + } catch (IOException e) { + throw new RuntimeException(e); + } + // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂 + String path = wordUrl + "/" + insReport.getCode().replace("/", "") + ".docx"; + try { + ZipSecureFile.setMinInflateRatio(0.0001); + FileInputStream stream = new FileInputStream(path); + XWPFDocument document = new XWPFDocument(stream); + List<XWPFTable> xwpfTables = document.getTables(); + for (int i = 1; i < xwpfTables.size() - (deviceList == null ? 1 : 2); i++) { + Set<String> set1 = new HashSet<>(); + Map<String, Map<String, Integer>> maps = new HashMap<>(); + for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) { + String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�"); + if (set1.add(split[1])) { + Map<String, Integer> map = new HashMap<>(); + map.put("sr", j); + map.put("sc", k); + map.put("er", j + 0); + map.put("ec", k + 0); + maps.put(split[1], map); + } else { + Map<String, Integer> map1 = maps.get(split[1]); + if (j == map1.get("sr")) { + map1.put("ec", map1.get("ec") + 1); + } else if (k == map1.get("sc")) { + map1.put("er", map1.get("er") + 1); + } + } + String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0]; + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER); + } + } + } + + // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡 + List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet()); + entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc")); + + // 鎸夌収椤哄簭娣诲姞杩涢泦鍚� + List<String> list = new ArrayList<>(); + for (Map.Entry<String, Map<String, Integer>> entry : entries) { + list.add(entry.getKey()); + } + + for (int a = list.size() - 1; a >= 0; a--) { + Map<String, Integer> v = maps.get(list.get(a)); + for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) { + if (v.get("ec") > v.get("sc")) { + try { + 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); } - } - - // 妯悜鍚堝苟鍗曞厓鏍� - private static void mergeCellsHorizontal(XWPFTableRow row, int fromCell, int toCell) { - for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) { - if (cellIndex == fromCell) { - // 绗竴涓崟鍏冩牸淇濈暀锛岃涓哄悎骞惰捣濮� - CTTcPr tcPr = row.getCell(cellIndex).getCTTc().addNewTcPr(); - tcPr.addNewHMerge().setVal(STMerge.RESTART); - } else { - // 闈炵涓�涓崟鍏冩牸璁句负鍚堝苟缁х画 - CTTcPr tcPr = row.getCell(cellIndex).getCTTc().addNewTcPr(); - tcPr.addNewHMerge().setVal(STMerge.CONTINUE); + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + try { + ZipSecureFile.setMinInflateRatio(0.0001); + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 1; i < xwpfTables1.size() - (deviceList == null ? 1 : 2); i++) { + for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) { + String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText(); + String[] split = text.split("@"); + xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph(); + XWPFRun run = xwpfParagraph.createRun(); + run.setText(split[0]); + if (ObjectUtils.isNotNull(split[1])) { + run.addBreak(); + run.setText(split[1]); + } + xwpfParagraph.setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER); + } + } + } } + FileOutputStream fileOutputStream1 = new FileOutputStream(path); + document1.write(fileOutputStream1); + fileOutputStream1.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); } } + + + //鐢佃矾鎶ュ憡鐢ㄤ簬鎬绘姤鍛婄殑鏂规硶 + private void getWord1(String term, InsOrderState insOrderState,List<InsSample> insSamples,List<Map<String, Object>> tables2){ + AtomicInteger lable = new AtomicInteger(1); + AtomicInteger index = new AtomicInteger(); + String title = term + "鐢佃矾鍙傛暟"; + insSamples.forEach(insSample -> { + //鏌ヨ椤圭洰 + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, insSample.getId()) + .eq(InsProduct::getSonLaboratory, "鐢佃矾璇曢獙")); + //鑾峰彇鏈�澶х鍙f暟閲�,瑙掑害鏁伴噺,棰戞鏁伴噺 + 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;//瑙掑害鏁� + for (InsProductResult2 insProductResult2 : insProductResult2s) { + 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 = insProductResult2s.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 += (angles + 1) * portRow * often; + } + } + else { + if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { + aa += (angles + 1) * portRow; + } + if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { + List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害") + ).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 = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害") + ).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 = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("骞呭害鍋忓樊") + ).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 = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("鏈�澶х浉浣嶅亸宸�") + ).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; + //琛ㄦ牸鐨勮鏁� + 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 = insProductResult2s.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 = insProductResult2s.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 = insProductResult2s.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)) { + if (itemSet.add("浜掕皟")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream() + .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("浜掕皟")) + .collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.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 - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { + textRenderData.setText("瑙掑害"); + } else { + textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 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 - (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 - 1)) / (angles + 1) - 1)); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } + } + 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) { + textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index); + } else { + String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\["); + String[] split = value[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); + try { + textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 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 = insProductResult2s.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 = insProductResult2s.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 = insProductResult2s.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("浜掕皟") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) && i <= ((ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles + 1) * portRow * often)) { + ff = (int) ((ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (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 = insProductResult2s.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 - (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 - 1)) / (angles + 1) - 1)); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } + } + 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) { + //棰戠偣 + textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index); + } else { + //鏈�宸�� + String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\["); + String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); + try { + textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 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 > (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) && i <= ((ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + (angles + 1))) { + gg = ((ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) + (angles + 1)); + if (itemSet.add("鏈�澶ц�﹀悎搴�")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鏈�澶ц�﹀悎搴�")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.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 - (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); + } 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 - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (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 > (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))) { + hh = (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles + 1); + if (itemSet.add("鏈�灏忚�﹀悎搴�")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鏈�灏忚�﹀悎搴�")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.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); + } 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 - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (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 = insProductResult2s.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 > (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) + k) { + mm = (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) + 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 - (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 + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (angles + 2))); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (angles + 2))); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (angles + 2))); + } + } + 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) { + //棰戞 + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (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 - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) / (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 = insProductResult2s.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 > (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) { + 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 - (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 + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (angles + 2))); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (angles + 2))); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (angles + 2))); + } + } + 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) { + //绔彛 + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (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 - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) / (angles + 2)) * Math.min(length, 8)]); + } catch (Exception e) { + textRenderData.setText(""); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + } + } + } + } + rowRenderData.setCells(cells); + if (rowRenderData.getCells().size() != 0) { + rows.add(rowRenderData); + } + } + TableRenderData tableRenderData = new TableRenderData(); + tableRenderData.setRows(rows); + int countSize = tableRenderData.getRows().get(0).getCells().size(); + for (RowRenderData row : tableRenderData.getRows()) { + if (row.getCells().size() != countSize) { + throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); + } + } + TableStyle tableStyle = new TableStyle(); + tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); + tableStyle.setAlign(TableRowAlign.CENTER); + BorderStyle borderStyle = new BorderStyle(); + borderStyle.setColor("000000"); + borderStyle.setType(XWPFTable.XWPFBorderType.THICK); + borderStyle.setSize(4); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table2 = new HashMap<>(); + table2.put("table2", tableRenderData); + table2.put("title", title); + tables2.add(table2); + lable.getAndIncrement(); + }); + }); + } } -- Gitblit v1.9.3