From 95e3d91f19763a7d96c0f084bf8fcd31ea8e5896 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期六, 13 七月 2024 21:11:05 +0800 Subject: [PATCH] 光纤接头损耗 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 731 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 656 insertions(+), 75 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java index ca46217..58fbd36 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java @@ -550,6 +550,7 @@ if (count == 0 && num == 5) { List<InsUnPass> insUnPasses = new ArrayList<>(); /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/ + //杩欓噷鐨刬nsSamples鏄鍗曚笅鐨勬墍鏈夋牱鍝佸寘鎷�("/") List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); for (InsSample insSample : insSamples) { List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1)); @@ -581,6 +582,7 @@ insUnPassService.saveBatch(insUnPasses); InsOrder insOrder = insOrderMapper.selectById(orderId); Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId()); + //samples鏄笉鍖呮嫭甯︽湁"/"鐨勬牱鍝� List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId); InsReport insReport = new InsReport(); insReport.setCode(insOrder.getEntrustCode()); @@ -593,6 +595,7 @@ String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; AtomicReference<String> resultCh = new AtomicReference<>(""); AtomicReference<String> resultEn = new AtomicReference<>(""); + /*鍩虹鎶ュ憡(鏍规嵁缁樺埗鐨勫師濮嬭褰曟ā鐗堝舰鎴�)*/ samples.forEach(a -> { Set<Integer> set = new HashSet<>(); Map<Integer, String> map2 = new HashMap<>(); @@ -889,6 +892,616 @@ }); }); }); + /*鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡鏍峰紡*/ + //鏌ヨ璁㈠崟涓嬫墍鏈夋牱鍝佺殑妫�楠岄」鐩�,濡傛灉鏈夊厜绾ゆ帴澶存崯鑰楀垯閲嶆柊鏋勫缓琛ㄦ牸 + List<Map<String, Object>> tables4 = new ArrayList<>(); + List<InsProduct> insProducts0 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))); + if (insProducts0.stream().map(InsProduct::getInspectionItem).collect(Collectors.toList()).contains("鍏夌氦鎺ュご鎹熻��")) { + //娓呯┖鍘熸湁鐨勫熀纭�琛ㄦ牸 + tables.clear(); + //鍘婚噸鐨勬楠岄」鐩� + List<String> filteredProducts = insProducts0.stream().map(insProduct -> { + return (insProduct.getInspectionItem() + "," + insProduct.getInspectionItemEn() + "," + insProduct.getInspectionItemSubclass() + "," + insProduct.getInspectionItemSubclassEn() + "," + insProduct.getTell()); + }).distinct().collect(Collectors.toList()); + //妫�楠岄」鐩殑鎬绘暟閲�(鍘婚噸) + long size = filteredProducts.size(); + long number = 10; + long number2 = 7; + long index = 1; + //妫�楠岀粨鏋滄姤鍛�(褰撴楠岄」鐩秴杩�10涓柊寤鸿〃) + for (long i = 0; i < size; i++) { + if (i % number == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� 鈭� 鉁� 鉁� + for (int j = 0; j < number + 3; j++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + for (int k = 0; k < 6; k++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (j == 0) { + //绗竴琛� + if (k < 4) { + //鍓�4鍒� + textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�11"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //鍚�2鍒� + textRenderData.setText(insSamples.get(0).getModel() + "鈭�12"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + + } + else if (j == 1) { + //绗簩琛� + if (k == 0) { + //绗竴鍒� + textRenderData.setText("搴忓彿@No.鈭�13"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (k == 1) { + //绗簩鍒� + textRenderData.setText("妫�楠岄」鐩瓳Test Item鈭�14"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (k == 2 || k == 3) { + //绗笁鍥涘垪 + textRenderData.setText("鏍囧噯瑕佹眰@Requirement鈭�15"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (k == 4) { + //绗簲鍒� + textRenderData.setText("妫�楠岀粨鏋淍Test result鈭�16"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗叚鍒� + textRenderData.setText("缁撹@Conclusion鈭�17"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else if (j == number + 2) { + //鏈�鍚庝竴琛� + if (k == 0 || k == 1) { + //鍓嶄袱鍒� + textRenderData.setText("澶囨敞鈭�18"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + textRenderData.setText("鈥溾湐鈥濊〃绀洪」鐩悎鏍硷紝鈥溾湒鈥濊〃绀洪」鐩笉鍚堟牸@鈥溾湐鈥漣ndicates test Item is qualified锛屸�溾湒鈥漣ndicates test Item is unqualified鈭�19"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + if (k == 0) { + //绗竴鍒� + textRenderData.setText((j - 1) + ""); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (k == 1) { + //绗簩鍒� + String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); + String[] split = insProduct.split(","); + if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")) { + textRenderData.setText(split[0]); + } else { + textRenderData.setText(split[0] + "@" + split[1]); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (k == 2) { + //绗笁鍒� + //鍏堝垽鏂楠岄」鏄惁鏈夊瓙绫� + String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); + String[] split = insProduct.split(","); + if (ObjectUtils.isEmpty(split[2]) || split[2].equals("")) { + //濡傛灉娌℃湁瀛愮被 + textRenderData.setText(split[4] + "鈭�2" + j);//瑕佹眰鎻忚堪 + } else { + //濡傛灉鏈夊瓙绫� + //杩樿鍒ゆ柇鏄惁鏈夎嫳鏂� + if (ObjectUtils.isEmpty(split[3]) || split[3].equals("")) { + textRenderData.setText(split[2]);//妫�楠屽瓙椤� + } else { + textRenderData.setText(split[2] + "@" + split[3]);//妫�楠屽瓙椤�+鑻辨枃 + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (k == 3) { + //绗洓鍒� + //鍏堝垽鏂楠岄」鏄惁鏈夊瓙绫� + String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); + String[] split = insProduct.split(","); + if (ObjectUtils.isEmpty(split[2]) || split[2].equals("")) { + //濡傛灉娌℃湁瀛愮被 + textRenderData.setText(split[4] + "鈭�2" + j);//瑕佹眰鎻忚堪 + } else { + //濡傛灉鏈夊瓙绫� + textRenderData.setText(split[4]);//瑕佹眰鎻忚堪 + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (k == 4) { + //绗簲鍒� + String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); + String[] split = insProduct.split(","); + //鏌ヨ鎵�鏈夋牱鍝佽妫�楠岄」鐨勬楠岀粨鏋�(鏈�缁堝��) + List<InsProduct> products = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .eq(InsProduct::getInspectionItem, split[0]) + .eq(InsProduct::getInspectionItemSubclass, split[2]) + .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))); + //鑾峰彇鏈�灏忓�煎拰鏈�澶у�� + Optional<String> max = products.stream().map(InsProduct::getLastValue) + .filter(value -> !value.isEmpty()) + .max(String::compareTo); + Optional<String> min = products.stream().map(InsProduct::getLastValue) + .filter(value -> !value.isEmpty()) + .min(String::compareTo); + textRenderData.setText(min+"-"+max);//妫�楠岀粨鏋� + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //鏈�鍚庝竴鍒� + String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); + String[] split = insProduct.split(","); + //鏌ヨ鎵�鏈夋牱鍝佽妫�楠岄」鐨勬楠岀粨璁�(ins_result) + List<InsProduct> products = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .eq(InsProduct::getInspectionItem, split[0]) + .eq(InsProduct::getInspectionItemSubclass, split[2]) + .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))); + List<Integer> result = products.stream().map(InsProduct::getInsResult).distinct().collect(Collectors.toList()); + if (result.size() == 1 && result.contains(1)) { + //鍚堟牸 + textRenderData.setText("鉁�"); + }else { + //涓嶅悎鏍� + 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()) { + /* for (CellRenderData cell : row.getCells()) { + System.out.print(cell.getParagraphs().get(0).getContents()); + } + System.out.println("");*/ + 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(14); + 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); + table.put("report", insReport); + table.put("index", index); + tables.add(table); + index++; + } + } + long index4 = 1; + //妫�楠屾姤鍛婃姤鍛�(褰撴楠岄」鐩秴杩�7涓柊寤鸿〃) + for (long j = 0; j < size; j++) { + if (j%number2==0){ + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁�(鏍规嵁鏍峰搧鏁伴噺鏉�) + for (int i = 0; i < samples.size() + 2; i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + for (int k = 0; k < 8; k++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i==0){ + //绗竴琛� + if (k==0){ + //绗竴鍒� + textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�30"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //绗簩鍒� + String product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7)); + String[] split = product.split(","); + if (ObjectUtils.isEmpty(split[2])||split[2].equals("")){ + if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")){ + textRenderData.setText(split[0]+"鈭�3"+k); + }else { + textRenderData.setText(split[0]+"@"+split[1]+"鈭�3"+k); + } + }else { + if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")){ + textRenderData.setText(split[0]); + }else { + textRenderData.setText(split[0]+"@"+split[1]); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else if (i==1){ + //绗簩琛� + if (k==0){ + //绗竴鍒� + textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�30"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //绗簩鍒� + String product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7)); + String[] split = product.split(","); + if (ObjectUtils.isEmpty(split[2])||split[2].equals("")){ + if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")){ + textRenderData.setText(split[0]+"鈭�3"+k); + }else { + textRenderData.setText(split[0]+"@"+split[1]+"鈭�3"+k); + } + }else { + if (ObjectUtils.isEmpty(split[3]) || split[3].equals("")){ + textRenderData.setText(split[2]); + }else { + textRenderData.setText(split[2]+"@"+split[3]); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + if (k==0){ + //绗竴鍒� + textRenderData.setText(samples.get(i-2).getSampleCode()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //鏍规嵁鏍峰搧缂栧彿鍜岄」鐩幓鏌ヨ鏈�缁堝�� + String product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7)); + String[] split = product.split(","); + InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .eq(InsProduct::getInsSampleId, samples.get(i - 2).getId()) + .eq(InsProduct::getInspectionItem, split[0]) + .eq(InsProduct::getInspectionItemSubclass, split[2])); + if (ObjectUtils.isEmpty(insProduct)){ + //鍙兘鏍规嵁姝e父鐨勬牱鍝佺紪鍙峰拰鍏夌氦鎺ュご鎹熻�楃殑椤圭洰鏌ヤ笉鍒板搴旂殑椤圭洰,鍒欓渶瑕佹牴鎹�"/"鏉ユ煡 + List<InsSample> sampleList = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().like(InsSample::getSampleCode, samples.get(i - 2).getSampleCode())); + List<InsProduct> products = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .in(InsProduct::getInsSampleId, sampleList.stream().map(InsSample::getId).collect(Collectors.toList())) + .eq(InsProduct::getInspectionItem, split[0]) + .eq(InsProduct::getInspectionItemSubclass, split[2])); + insProduct=products.get(0); + } + textRenderData.setText(insProduct.getLastValue()); + 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()) { + /*for (CellRenderData cell : row.getCells()) { + System.out.print(cell.getParagraphs().get(0).getContents()); + } + System.out.println("");*/ + 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(14); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table = new HashMap<>(); + table.put("table4", tableRenderData); + table.put("report", insReport); + table.put("index4", index4); + tables4.add(table); + index4++; + } + } + //鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡杩樻槸tables4 + //鏌ヨ鏍峰搧(鍙煡璇㈠甫"/")鐨勬暟閲� + List<InsSample> sampleList = insSamples.stream().filter(insSample -> insSample.getSampleCode().contains("/")).collect(Collectors.toList()); + //杩囨护鍑哄厜绾ゆ帴澶存崯鑰楃殑妫�楠岄」鐩� + List<String> strings = filteredProducts.stream().filter(s -> s.contains("鍏夌氦鎺ュご鎹熻��")).distinct().collect(Collectors.toList()); + for (int i = 0; i < sampleList.size(); i++) { + if (i%16==0){ + //鏍峰搧鏁伴噺瓒呰繃16闇�瑕佹柊澧炶〃鏍� + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int j = 0; j < 17; j++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + for (int k = 0; k < 6; k++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (j==0){ + //绗竴琛� + if (k==0){ + //绗竴鍒� + textRenderData.setText("鍏夌氦绫诲瀷@Fiber type"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else if (k==1 || k==2){ + //绗簩 涓夊垪 + textRenderData.setText("鏍峰搧缂栧彿@Sample number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else { + String[] split = strings.get(k - 3).split(","); + if (ObjectUtils.isEmpty(split[3])|| split[3].equals("")){ + textRenderData.setText(split[2]); + }else { + textRenderData.setText(split[2]+"@"+split[3]); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + if (k==0){ + //绗竴鍒� + textRenderData.setText(sampleList.get(0).getSampleCode()+"鈭�44"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (k==1){ + //绗簩鍒� + textRenderData.setText(sampleList.get(j-1).getSampleCode().split("/")[0]); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (k==2){ + //绗笁鍒� + textRenderData.setText(sampleList.get(j-1).getSampleCode().split("/")[1]); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //鏍规嵁瀵瑰簲鐨勬牱鍝佺紪鍙峰拰妫�楠岄」鐩煡璇㈠搴旀暟鎹�(鏈�缁堝��) + String[] split = strings.get(k - 3).split(","); + InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .eq(InsProduct::getInsSampleId, sampleList.get(j - 1).getId()) + .eq(InsProduct::getInspectionItem, split[0]) + .eq(InsProduct::getInspectionItemSubclass, split[2])); + textRenderData.setText(insProduct.getLastValue()); + 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()) { + /*for (CellRenderData cell : row.getCells()) { + System.out.print(cell.getParagraphs().get(0).getContents()); + } + System.out.println("");*/ + 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(14); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table = new HashMap<>(); + table.put("table4", tableRenderData); + table.put("report", insReport); + table.put("index4", index4+1); + tables4.add(table); + index4++; + } + } + tables4.forEach(table4 -> { + table4.put("tableSize4", tables4.size()); + }); + + } String url; try { InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx"); @@ -952,6 +1565,8 @@ resultCh.set("渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��"); resultEn.set("According to commissioned requirements, all the tested items meet the requirements."); } + + /*鍏夌氦閰嶇疆鐨勬楠屾姤鍛�*/ //鍏堝垽鏂槸鍚︽湁鍏夌氦閰嶇疆 List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() @@ -1142,10 +1757,10 @@ tableRenderData.setRows(rows); int countSize = tableRenderData.getRows().get(0).getCells().size(); for (RowRenderData row : tableRenderData.getRows()) { - for (CellRenderData cell : row.getCells()) { + /*for (CellRenderData cell : row.getCells()) { System.out.print(cell.getParagraphs().get(0).getContents()); } - System.out.println(""); + System.out.println("");*/ if (row.getCells().size() != countSize) { throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); } @@ -1300,8 +1915,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 1) { + } else if (j == 1) { //绗簩琛� if (k == 0) { //绗竴鍒� @@ -1314,8 +1928,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 2) { + } else if (j == 2) { //绗笁琛� if (k == 0) { //绗竴鍒� @@ -1347,8 +1960,7 @@ } } } - } - else if (j == 3) { + } else if (j == 3) { //绗洓琛� if (k == 0) { //绗竴鍒� @@ -1384,8 +1996,7 @@ } } } - } - else if (j == 4) { + } else if (j == 4) { //绗簲琛� if (k == 0) { //绗竴鍒� @@ -1418,8 +2029,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 5) { + } else if (j == size2 + 5) { //鍊掓暟绗笁琛� if (k == 0) { //绗竴鍒� @@ -1496,8 +2106,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 6) { + } else if (j == size2 + 6) { //鍊掓暟绗簩琛� if (k == 0) { //绗竴鍒� @@ -1542,8 +2151,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 7) { + } else if (j == size2 + 7) { //鍊掓暟绗竴琛� textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); renderData.add(textRenderData); @@ -1551,8 +2159,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else { + } else { //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 if (k == 0) { //绗竴鍒楀~鍐欒壊鏍� @@ -1634,8 +2241,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 1) { + } else if (j == 1) { //绗簩琛� if (k == 0) { //绗竴鍒� @@ -1648,8 +2254,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 2) { + } else if (j == 2) { //绗笁琛� if (k == 0) { //绗竴鍒� @@ -1681,8 +2286,7 @@ } } } - } - else if (j == 3) { + } else if (j == 3) { //绗洓琛� if (k == 0) { //绗竴鍒� @@ -1718,8 +2322,7 @@ } } } - } - else if (j == 4) { + } else if (j == 4) { //绗簲琛� if (k == 0) { //绗竴鍒� @@ -1752,8 +2355,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 5) { + } else if (j == size2 + 5) { //鍊掓暟绗笁琛� if (k == 0) { //绗竴鍒� @@ -1830,8 +2432,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 6) { + } else if (j == size2 + 6) { //鍊掓暟绗簩琛� if (k == 0) { //绗竴鍒� @@ -1876,8 +2477,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 7) { + } else if (j == size2 + 7) { //鍊掓暟绗竴琛� textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); renderData.add(textRenderData); @@ -1885,8 +2485,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else { + } else { //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 if (k == 0) { //绗竴鍒楀~鍐欒壊鏍� @@ -1923,8 +2522,7 @@ } } } - } - else if (i == size1 - 1) { + } else if (i == size1 - 1) { //鏈�鍚庝竴娆″惊鐜殑鍒楁暟,閭d箞鍒楁暟鍖呮嫭20鈩�(2 * (size-nm.size())+1) for (long k = 0; k < 2 * (size - nm.size()) + 1; k++) { CellRenderData cellRenderData = new CellRenderData(); @@ -1962,8 +2560,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 1) { + } else if (j == 1) { //绗簩琛� if (k == 0) { //绗竴鍒� @@ -1976,8 +2573,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 2) { + } else if (j == 2) { //绗笁琛� if (k == 0) { //绗竴鍒� @@ -2001,8 +2597,7 @@ } } } - } - else if (j == 3) { + } else if (j == 3) { //绗洓琛� if (k == 0) { //绗竴鍒� @@ -2026,8 +2621,7 @@ } } } - } - else if (j == 4) { + } else if (j == 4) { //绗簲琛� if (k == 0) { //绗竴鍒� @@ -2052,8 +2646,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 5) { + } else if (j == size2 + 5) { //鍊掓暟绗笁琛� if (k == 0) { //绗竴鍒� @@ -2107,8 +2700,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 6) { + } else if (j == size2 + 6) { //鍊掓暟绗簩琛� if (k == 0) { //绗竴鍒� @@ -2146,8 +2738,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 7) { + } else if (j == size2 + 7) { //鍊掓暟绗竴琛� textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); renderData.add(textRenderData); @@ -2155,8 +2746,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else { + } else { //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 if (k == 0) { //绗竴鍒楀~鍐欒壊鏍� @@ -2185,8 +2775,7 @@ } } } - } - else { + } else { //鍏朵綑寰幆鐨勫垪鏁�,,閭d箞鍒楁暟涓嶅寘鎷�20鈩�+20鈩�(甯告俯)(2 * (size- 2*nm.size()) +1) for (long k = 0; k < 2 * (size - 2 * nm.size()) + 1; k++) { CellRenderData cellRenderData = new CellRenderData(); @@ -2212,7 +2801,7 @@ } else if (k > (2 * (size - 2 * nm.size()) + 1) / 4 && k <= (2 * (size - 2 * nm.size()) + 1) / 2) { //绗簩鍒� textRenderData.setText(sample.getSampleCode() + "鈭�998"); - } else if (k >(2 * (size - 2 * nm.size()) + 1) / 2 && k< 2 * (size - 2 * nm.size())) { + } else if (k > (2 * (size - 2 * nm.size()) + 1) / 2 && k < 2 * (size - 2 * nm.size())) { //绗笁鍒� textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999"); } else { @@ -2224,8 +2813,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 1) { + } else if (j == 1) { //绗簩琛� if (k == 0) { //绗竴鍒� @@ -2238,8 +2826,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else if (j == 2) { + } else if (j == 2) { //绗笁琛� if (k == 0) { //绗竴鍒� @@ -2263,8 +2850,7 @@ } } } - } - else if (j == 3) { + } else if (j == 3) { //绗洓琛� if (k == 0) { //绗竴鍒� @@ -2288,8 +2874,7 @@ } } } - } - else if (j == 4) { + } else if (j == 4) { //绗簲琛� if (k == 0) { //绗竴鍒� @@ -2314,8 +2899,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 5) { + } else if (j == size2 + 5) { //鍊掓暟绗笁琛� if (k == 0) { //绗竴鍒� @@ -2369,8 +2953,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 6) { + } else if (j == size2 + 6) { //鍊掓暟绗簩琛� if (k == 0) { //绗竴鍒� @@ -2408,8 +2991,7 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } - } - else if (j == size2 + 7) { + } else if (j == size2 + 7) { //鍊掓暟绗竴琛� textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); renderData.add(textRenderData); @@ -2417,8 +2999,7 @@ paragraphRenderDataList.add(paragraphRenderData); cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); - } - else { + } else { //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 if (k == 0) { //绗竴鍒楀~鍐欒壊鏍� @@ -2458,10 +3039,10 @@ tableRenderData.setRows(rows); int countSize = tableRenderData.getRows().get(0).getCells().size(); for (RowRenderData row : tableRenderData.getRows()) { - for (CellRenderData cell : row.getCells()) { + /*for (CellRenderData cell : row.getCells()) { System.out.print(cell.getParagraphs().get(0).getContents()); } - System.out.println(""); + System.out.println("");*/ if (row.getCells().size() != countSize) { throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); } @@ -2481,8 +3062,6 @@ Map<String, Object> table = new HashMap<>(); table.put("table3", tableRenderData); table.put("report", insReport); - table.put("sample_number", sample.getSampleCode()); - table.put("type", sample.getModel()); table.put("index3", index3); tables3.add(table); index3++; @@ -2530,6 +3109,8 @@ put("tableSize2", tables2.size()); put("tables3", tables3); put("tableSize3", tables3.size()); + put("tables4", tables4); + put("tableSize4", tables4.size()); put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2)); put("deviceList", finalDeviceList); put("twoCode", Pictures.ofLocal(codePath).create()); -- Gitblit v1.9.3