From 3ae364164cb9d85acce0b53a1ba5c70a80991308 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期三, 03 七月 2024 22:21:49 +0800 Subject: [PATCH] 温度循环+报告英文换行+检验只有一项的设备查询+光纤配置报告换页+温度湿度 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 529 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 355 insertions(+), 174 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 1944a41..1e188a4 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 @@ -35,6 +35,8 @@ import com.yuanchu.mom.utils.QueryWrappers; import com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo; import com.yuanchu.mom.vo.InsOrderPlanVO; +import com.yuanchu.mom.vo.ProductVo; +import com.yuanchu.mom.vo.SampleVo; import org.apache.commons.io.IOUtils; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; @@ -270,7 +272,6 @@ @Override public Map<String, Object> getReportModel(Integer sampleId) { Map<String, Object> map = new HashMap<>(); - //List<Integer> insSampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList()); //鍏堟煡鍑哄绠� List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId)); List<InsFibers> fibers = new ArrayList<>(); @@ -289,12 +290,76 @@ fiber.addAll(insFiberList); } } - map.put("鍏夌氦甯�",fibers); - map.put("鍏夌氦",fiber); + map.put("鍏夌氦甯�", fibers); + map.put("鍏夌氦", fiber); return map; } - + //娓╁害寰幆鏌ョ湅鍒楄〃鏁版嵁(鍖呮嫭閫氳繃鏍峰搧id,寰幆娆℃暟,娓╁害,寰幆娆℃暟杩涜绛涢��) + @Override + public Map<String, Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass) { + Map<String, Object> map = new HashMap<>(); + //鏍峰搧淇℃伅 + SampleVo sampleVo = insSampleMapper.getDetailById(sampleId); + map.put("sampleVo", sampleVo); + List<ProductVo> productVos = new ArrayList<>(); + //鍏堟煡鍑鸿繖涓牱鍝佷笅鏈夊摢浜涚鑹叉爣,鍏夌氦甯�,鍏夌氦鑹叉爣 + //鍏堟煡鍑哄绠� + List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId)); + for (InsBushing insBushing : insBushings) { + //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯� + List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId())); + if (CollectionUtils.isNotEmpty(insFibers)) { + for (InsFibers insFiber : insFibers) { + //鏌ュ嚭鍏夌氦甯︿笅鎵�鏈夌殑鍏夌氦 + List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFiber.getId())); + for (InsFiber fiber : fiberList) { + //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩� + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, sampleId) + .eq(InsProduct::getInspectionItem, inspectionItem) + .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass) + .eq(InsProduct::getInsFiberId, fiber.getId())); + for (InsProduct insProduct : insProducts) { + InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId())); + ProductVo productVo = new ProductVo(); + productVo.setCode(insFiber.getCode()); + productVo.setColor(fiber.getColor()); + productVo.setBushColor(fiber.getBushColor()); + if (ObjectUtils.isNotEmpty(insProductResult)) { + insProduct.setInsProductResult(insProductResult); + } + productVo.setInsProduct(insProduct); + productVos.add(productVo); + } + } + } + } else { + //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡 + List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId())); + for (InsFiber fiber : insFiberList) { + //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩� + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, sampleId) + .eq(InsProduct::getInspectionItem, inspectionItem) + .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass) + .eq(InsProduct::getInsFiberId, fiber.getId())); + for (InsProduct insProduct : insProducts) { + InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId())); + ProductVo productVo = new ProductVo(); + productVo.setCode("/"); + productVo.setColor(fiber.getColor()); + productVo.setBushColor(fiber.getBushColor()); + insProduct.setInsProductResult(insProductResult); + productVo.setInsProduct(insProduct); + productVos.add(productVo); + } + } + } + } + map.put("productVos", productVos); + return map; + } @Override @@ -556,6 +621,30 @@ Set<String> delSet = new HashSet<>(); List<ExcelDto> excelDtos = JSON.parseArray(tem, ExcelDto.class); List<ExcelDto> mcList = new ArrayList<>(); + /* int aaaa = excelDtos.get(excelDtos.size() - 1).getR();//杩欓噷鏄ā鐗堥噷闈㈢殑鎵�鏈夋娴嬮」鐨勯暱搴�,鍏堜互15涓」鐩垎椤� + int bbbb = 17; + int cccc = 0; + for (int p = 0; p < aaaa; p++) { + if (p % bbbb == 0) { + for (int y = 0; y < excelDtos.size(); y++) { + if (y == 0 || y == 1) { + if (excelDtos.get(y).getV().getMc() != null && excelDtos.get(y).getV().getMc().getCs() != null && excelDtos.get(y).getV().getMc().getRs() != null) { + mcList.add(excelDtos.get(y)); + } + } else { + try { + excelDtos.get(y + cccc - 2); + } catch (Exception e) { + continue; + } + if (excelDtos.get(y + cccc - 2).getV().getMc() != null && excelDtos.get(y + cccc - 2).getV().getMc().getCs() != null && excelDtos.get(y + cccc - 2).getV().getMc().getRs() != null) { + mcList.add(excelDtos.get(y + cccc - 2)); + } + } + } + cccc += 17; + } + }*/ excelDtos.forEach(b -> { if (b.getV().getMc() != null && b.getV().getMc().getCs() != null && b.getV().getMc().getRs() != null) { mcList.add(b); @@ -689,12 +778,12 @@ } else if (value.equals("璇曢獙鏂规硶")) { textRenderData.setText(p.getMethodS()); } else if (value.equals("妫�楠岄」")) { - textRenderData.setText(p.getInspectionItem() + "\r\n" + p.getInspectionItemEn()); + textRenderData.setText(p.getInspectionItem() + "&" + p.getInspectionItemEn()); } else if (value.equals("妫�楠屽瓙椤�")) { if (ObjectUtils.isEmpty(p.getInspectionItemSubclassEn())) { textRenderData.setText(p.getInspectionItemSubclass()); } else { - textRenderData.setText(p.getInspectionItemSubclass() + "\r\n" + p.getInspectionItemSubclassEn()); + textRenderData.setText(p.getInspectionItemSubclass() + "&" + p.getInspectionItemSubclassEn()); } } else { textRenderData.setText(v.get("v") == null ? "" : v.get("v") + ""); @@ -853,174 +942,211 @@ List<InsProduct> insProducts1 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getState, 1) .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId)); - long size = insProducts1.size(); + .isNotNull(InsProduct::getInsFiberId) + .isNull(InsProduct::getInspectionItemClass)); + List<InsProduct> filteredProducts = insProducts1.stream() + .collect(Collectors.groupingBy(product -> product.getInspectionItem() + product.getInspectionItemSubclass())) + .values().stream() + .map(group -> group.get(0)) + .sorted(Comparator.comparing(InsProduct::getInspectionItem)) + .collect(Collectors.toList()); + long size = insProducts1.stream().map(insProduct -> { + return (insProduct.getInspectionItem() + insProduct.getInspectionItemSubclass()); + }).distinct().collect(Collectors.toList()).size(); long size2 = insProducts1.stream().map(InsProduct::getInsFiberId).distinct().count(); - List<RowRenderData> rows = new ArrayList<>(); - //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴 - Boolean state = true; - for (InsProduct insProduct : insProducts1) { - if (!insProduct.getInspectionItemSubclass().equals("") && insProduct.getInspectionItemSubclass() != null) { - state = false; - } - } - int a = 1; - if (!state) { - a = 2; - } - //琛ㄦ牸鐨勮鏁� - for (long i = 0; i < size2 + a; i++) { - RowRenderData rowRenderData = new RowRenderData(); - - RowStyle rowStyle = new RowStyle(); - rowStyle.setHeight(40); - rowRenderData.setRowStyle(rowStyle); - List<CellRenderData> cells = new ArrayList<>(); - //琛ㄦ牸鐨勫垪鏁� - for (long j = 0; j < size + 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("绠¤壊鏍嘰r\nPipe鈭�100"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("鍏夌氦鑹叉爣\r\nScanning Number鈭�101"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //椤圭洰淇℃伅 - textRenderData.setText(insProducts1.get((int) (j - 2)).getInspectionItem() + "\r\n" + insProducts1.get((int) (j - 2)).getInspectionItemEn() + "鈭�" + (j + 101)); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else if (a == 2 && i == 1) { - //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛� - if (j == 0) { - //绗竴鍒� - textRenderData.setText("绠¤壊鏍嘰r\nPipe鈭�100"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("鍏夌氦鑹叉爣\r\nScanning Number鈭�101"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //椤圭洰淇℃伅 - //鍒ゆ柇鏄惁鏈夐」鐩瓙绫� - if (insProducts1.get((int) (j - 2)).getInspectionItemSubclass().equals("") || insProducts1.get((int) (j - 2)).getInspectionItemSubclass() == null) { - textRenderData.setText(insProducts1.get((int) (j - 2)).getInspectionItem() + "\r\n" + insProducts1.get((int) (j - 2)).getInspectionItemEn() + "鈭�" + (j + 101)); - } else { - textRenderData.setText(insProducts1.get((int) (j - 2)).getInspectionItemSubclass() + "\r\n" + insProducts1.get((int) (j - 2)).getInspectionItemSubclassEn()); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else { - int aa = 0; - if (a == 2) { - aa = (int) i - 2; - } else aa = (int) i - 1; - InsFiber insFiber = insFiberMapper.selectById(insProducts1.get(aa).getInsFiberId()); - //濉�� - if (j == 0) { - //绗竴鍒� - textRenderData.setText(insFiber.getBushColor()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText(insFiber.getColor()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //椤圭洰淇℃伅 - textRenderData.setText(insProducts1.get((int) (j - 2)).getLastValue()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); + long number = 7; + long k = 0; + for (long c = 0; c < size; c++) { + if (c % number == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴 + Boolean state = true; + for (InsProduct insProduct : filteredProducts) { + if (!insProduct.getInspectionItemSubclass().equals("") && insProduct.getInspectionItemSubclass() != null) { + state = false; } } - } - rowRenderData.setCells(cells); - if (rowRenderData.getCells().size() != 0) { - rows.add(rowRenderData); + int a = 1; + if (!state) { + a = 2; + } + //琛ㄦ牸鐨勮鏁� + for (long i = 0; i < size2 + a; i++) { + RowRenderData rowRenderData = new RowRenderData(); + + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + for (long j = 0; j < 9; 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("绠¤壊鏍�&Pipe鈭�100"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鍏夌氦鑹叉爣&Scanning Number鈭�101"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //椤圭洰淇℃伅 + try { + filteredProducts.get((int) (j - 2 + k)); + } catch (Exception e) { + continue; + } + textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).getInspectionItem() + "&" + insProducts1.get((int) (j - 2 + k)).getInspectionItemEn() + "鈭�" + (j + 101 + k)); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } else if (a == 2 && i == 1) { + //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛� + if (j == 0) { + //绗竴鍒� + textRenderData.setText("绠¤壊鏍�&Pipe鈭�100"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鍏夌氦鑹叉爣&Scanning Number鈭�101"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //椤圭洰淇℃伅 + try { + filteredProducts.get((int) (j - 2 + k)); + } catch (Exception e) { + continue; + } + //鍒ゆ柇鏄惁鏈夐」鐩瓙绫� + if (filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclass().equals("") || filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclass() == null) { + textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).getInspectionItem() + "&" + filteredProducts.get((int) (j - 2 + k)).getInspectionItemEn() + "鈭�" + (j + 101 + k)); + } else { + textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclass() + "&" + filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclassEn()); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } else { + int aa; + if (a == 2) { + aa = (int) i - 2; + } else aa = (int) i - 1; + List<Integer> list = insProducts1.stream().map(InsProduct::getInsFiberId).distinct().collect(Collectors.toList()); + try { + insFiberMapper.selectById(list.get(aa)); + } catch (Exception e) { + continue; + } + InsFiber insFiber = insFiberMapper.selectById(list.get(aa)); + //濉�� + if (j == 0) { + //绗竴鍒� + textRenderData.setText(insFiber.getBushColor()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText(insFiber.getColor()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //椤圭洰淇℃伅 + try { + filteredProducts.get((int) (j - 2 + k)); + } catch (Exception e) { + continue; + } + textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).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("table2", tableRenderData); + table.put("report", insReport); + table.put("sample_number", sample.getSampleCode()); + table.put("type", sample.getModel()); + tables2.add(table); + k += 7; } } - 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("table2", tableRenderData); - table.put("report", insReport); - table.put("sample_number", sample.getSampleCode()); - table.put("type", sample.getModel()); - tables2.add(table); }); } @@ -1043,12 +1169,16 @@ 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; XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( new HashMap<String, Object>() {{ put("order", insOrder); put("report", insReport); - //put("user", user); + put("environment", finalEnvironment); put("custom", custom); put("sampleSize", samples.size()); put("tables", tables); @@ -1089,6 +1219,7 @@ } catch (IOException e) { throw new RuntimeException(e); } + //澶勭悊鍚堝苟鍗曞厓鏍肩殑闂 String path = wordUrl + "/" + insReport.getCode().replace("/", "") + ".docx"; try { FileInputStream stream = new FileInputStream(path); @@ -1148,11 +1279,45 @@ } catch (IOException e) { throw new RuntimeException(e); } + try { + 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(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); + } } return 1; } - private void getTemplateThing(Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) { + private void getTemplateThing + (Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) { for (InsProduct product : insProducts) { if (product.getTemplateId() == null) { product.setTemplate(new ArrayList<>()); @@ -1188,8 +1353,24 @@ String str = ""; int count = 0; for (InsProduct product : insProducts) { - count++; - str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>"; + //濡傛灉鏄厜缂嗙殑娓╁害寰幆 + if (product.getInspectionItem().equals("娓╁害寰幆") && insOrderMapper.selectById(orderId).getSampleType().equals("鍏夌紗")) { + //鏌ヨ閭d簺寰幆娓╁害鐨勬楠岄」鐩殑缁撹鏄惁鍏ㄩ儴妫�楠� + List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, product.getInsSampleId()) + .isNotNull(InsProduct::getInsFiberId).like(InsProduct::getInspectionItemSubclass, "鈩�")); + List<Integer> collect = insProductList.stream().filter(insProduct -> insProduct.getInsResult() != null).map(InsProduct::getInsResult).collect(Collectors.toList()); + List<Integer> tt = new ArrayList<>(); + tt.add(1); + if (collect.contains(0)) { + product.setInsResult(0); + } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) { + product.setInsResult(0); + } + insProductMapper.updateById(product); + } else { + count++; + str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>"; + } } throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str); } -- Gitblit v1.9.3