From 8a9505bd7845d50e83fae7adf4846931979c1419 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 23 八月 2024 17:00:16 +0800 Subject: [PATCH] 检验下单+检验任务+报告编制批准选择印章修改 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 4470 ++++++++++------------------------------------------------- 1 files changed, 758 insertions(+), 3,712 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 9100ebb..08174d5 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 @@ -145,17 +145,7 @@ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉 - //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id - String departLimsId = user.getDepartLimsId(); String laboratory = null; - if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) { - String[] split = departLimsId.split(","); - //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙) - String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); - if (departLims.contains("瀹為獙瀹�")) { - laboratory = departLims; - } - } String userName = null; Integer userId = null; if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) { @@ -178,9 +168,9 @@ Integer userId = map1.get("userId"); User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉 - //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id - String departLimsId = user.getDepartLimsId(); String laboratory = null; + //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id + /* String departLimsId = user.getDepartLimsId(); if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) { String[] split = departLimsId.split(","); //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙) @@ -188,7 +178,7 @@ if (departLims.contains("瀹為獙瀹�")) { laboratory = departLims; } - } + }*/ if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) { insOrderPlanDTO.setUserId(userId.longValue()); } @@ -853,3678 +843,760 @@ @Override @Transactional(rollbackFor = Exception.class) public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) { - Integer num = (type == 1 ? 5 : 4); LocalDateTime now = LocalDateTime.now(); - insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, now).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell).set(InsOrderState::getVerifyUser, getLook.selectPowerByMethodAndUserId(null).get("userId"))); - Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId).ne(InsOrderState::getInsState, 5)); - 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)); - List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList()); - if (results.contains(0)) { - insSample.setInsResult(0); - } else { - insSample.setInsResult(1); - } - insSampleMapper.updateById(insSample); - /*澶嶆牳閫氳繃鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/ - for (InsProduct insProduct : insProducts) { - if (insProduct.getInsResult() == 0) { - InsUnPass insUnPass = new InsUnPass(); - insUnPass.setId(null); - insUnPass.setModel(insSample.getModel()); - insUnPass.setSample(insSample.getSample()); - insUnPass.setInspectionItem(insProduct.getInspectionItem()); - insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); - insUnPass.setLastValue(insProduct.getLastValue()); - insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode()); - List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); - String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); - insUnPass.setName(name); - insUnPasses.add(insUnPass); - } - } - } - 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()); - insReport.setInsOrderId(orderId); - List<Map<String, Object>> tables = new ArrayList<>(); - Set<String> standardMethod = new HashSet<>(); - Set<String> deviceSet = new HashSet<>(); - Set<String> models = new HashSet<>(); - AtomicReference<Integer> productSize = new AtomicReference<>(0); - 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<>(); - Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, a.getId())); - productSize.set(productSize.get() + Integer.parseInt(productCount + "")); - models.add(a.getModel()); - standardMethod.add(baseMapper.getStandardMethodCode(a.getStandardMethodListId())); - Set<String> templateSet = new HashSet<>(); - getTemplateThing(set, map2, a.getInsProduct()); - for (InsProduct b : a.getInsProduct()) { - if (b.getInsProductResult() != null) { - List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class); - for (JSONObject jsonObject : jsonObjects) { - if (!"".equals(jsonObject.get("v") + "")) { - deviceSet.add(jsonObject.get("v") + ""); - } - } - } - if (b.getTemplate() == null) { - continue; - } - if (b.getTemplate().size() == 0) { - continue; - } - templateSet.add(JSON.toJSONString(b.getTemplate())); - } - AtomicInteger index = new AtomicInteger(); - Set<String> itemSet = new HashSet<>(); - templateSet.forEach(tem -> { - Set<Integer> set2 = new HashSet<>(); - List<RowRenderData> rows = new ArrayList<>(); - List<TextRenderData> text = new ArrayList<>(); - RowRenderData rowRenderData; - Set<String> delSet = new HashSet<>(); - List<ExcelDto> excelDtos = JSON.parseArray(tem, ExcelDto.class); - List<ExcelDto> mcList = new ArrayList<>(); - excelDtos.forEach(b -> { - if (b.getV().getMc() != null && b.getV().getMc().getCs() != null && b.getV().getMc().getRs() != null) { - mcList.add(b); - } - }); - int count5 = 0; - for (ExcelDto b : mcList) { - for (ExcelDto excelDto : excelDtos) { - for (int i = 0; i < b.getV().getMc().getCs(); i++) { - for (int i2 = 0; i2 < b.getV().getMc().getRs(); i2++) { - if (excelDto.getC() == b.getC() + i && excelDto.getR() == b.getR() + i2) { - ExcelDto bb = JSON.parseObject(JSON.toJSONString(b), ExcelDto.class); - excelDto.getV().setV(bb.getV().getV()); - excelDto.getV().setPs(bb.getV().getPs()); - excelDto.getV().setFc(bb.getV().getFc()); - excelDto.getV().setFs(bb.getV().getFs()); - excelDto.getV().setHt(bb.getV().getHt()); - excelDto.setMc(count5); - break; - } - } - } - } - count5++; - } - List<JSONObject> temp = JSON.parseArray(JSON.toJSONString(excelDtos), JSONObject.class); - Map<String, InsProduct> pMap = new HashMap<>(); - Set<String> delRSet = new HashSet<>(); - delRSet.add("0"); - for (JSONObject jo1 : temp) { - JSONObject v = JSON.parseObject(JSON.toJSONString(jo1.get("v"))); - if (Integer.parseInt(jo1.get("c") + "") > 9) { - delSet.add(jo1.get("c") + ""); - continue; - } - if (v.get("ps") != null) { - int count3 = 0; - String str = ""; - String s = JSON.parseObject(JSON.toJSONString(v.get("ps"))).get("value") + ""; - if (s.contains("妫�楠屽��") || s.contains("璁惧鍚嶇О") || s.contains("璁惧缂栫爜") || s.contains("璇曢獙鏂规硶") || s.contains("妫�娴嬫柟娉�")) { - delSet.add(jo1.get("c") + ""); - continue; - } - for (JSONObject jo2 : temp) { - JSONObject v2 = JSON.parseObject(JSON.toJSONString(jo2.get("v"))); - if (jo1.get("r").equals(jo2.get("r"))) { - if (v2.get("ps") != null && JSON.parseObject(JSON.toJSONString(v2.get("ps"))).get("value").toString().contains("妫�楠岄」")) { - if (count3 == 0) { - str += v2.get("v"); - count3 += 1; - } - } else if (v2.get("ps") != null && JSON.parseObject(JSON.toJSONString(v2.get("ps"))).get("value").toString().contains("妫�楠屽瓙椤�")) { - if (count3 == 1) { - str += v2.get("v"); - count3 += 1; - } - } - } - } - if (!str.equals("")) { - int count2 = 0; - for (InsProduct product : a.getInsProduct()) { - if ((product.getInspectionItem() + product.getInspectionItemSubclass()).equals(str)) { - pMap.put(jo1.get("r") + "", product); - break; - } else { - count2++; - } - } - if (count2 == a.getInsProduct().size()) { - delRSet.add(jo1.get("r") + ""); - } - } - } - } - for (int i = 0; i < temp.size(); i++) { - JSONObject jo1 = temp.get(i); - TextRenderData textRenderData = new TextRenderData(); - if (set2.add(Integer.parseInt(jo1.get("r") + ""))) { - if (text.size() > 0) { - TextRenderData[] text2 = text.toArray(new TextRenderData[0]); - rowRenderData = Rows.of(text2).center().rowAtleastHeight(1).create(); - rows.add(rowRenderData); - text = new ArrayList<>(); - } - } - if (delRSet.stream().anyMatch(e -> e.equals(jo1.get("r") + ""))) { - continue; - } - if (delSet.stream().anyMatch(e -> e.equals(jo1.get("c") + ""))) { - continue; - } - JSONObject v = JSON.parseObject(JSON.toJSONString(jo1.get("v"))); - InsProduct p = pMap.get(jo1.get("r") + ""); - if (p != null && v.get("ps") != null) { - String value = JSON.parseObject(JSON.toJSONString(v.get("ps"))).get("value") + ""; - if (value.contains("瑕佹眰鍊�")) { - textRenderData.setText(ObjectUtils.isNotEmpty(p.getTell()) ? p.getTell() : ""); - } else if (value.contains("鍗曚綅")) { - textRenderData.setText(p.getUnit()); - } else if (value.contains("缁撹")) { - switch (p.getInsResult()) { - case 1: - textRenderData.setText("鈭�"); - break; - case 0: - String current = resultCh.get(); - // 浣跨敤 Set 鏉ヤ繚鎸佸敮涓�椤� - Set<String> uniqueItems = new HashSet<>(); - if (!current.isEmpty()) { - // 鍒嗗壊褰撳墠瀛楃涓插苟鍔犲叆鍒� Set 涓� - String[] items = current.split("銆�"); - for (String item : items) { - if (!item.isEmpty()) { - uniqueItems.add(item); - } - } - } - // 澶勭悊鏂版暟鎹� - String newItem = p.getInspectionItem() + - (Objects.equals(p.getInspectionItemSubclass(), "") ? "" : " " + p.getInspectionItemSubclass()); - uniqueItems.add(newItem); - - // 杩炴帴鍞竴椤瑰苟鏇存柊 AtomicReference - String result = String.join("銆�", uniqueItems); - resultCh.set(result); - //resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (Objects.equals(p.getInspectionItemSubclass(), "") ? "" : " " + p.getInspectionItemSubclass())); - - String current1 = resultEn.get(); - // 浣跨敤 Set 鏉ヤ繚鎸佸敮涓�椤� - Set<String> uniqueItems1 = new HashSet<>(); - if (!current1.isEmpty()) { - // 鍒嗗壊褰撳墠瀛楃涓插苟鍔犲叆鍒� Set 涓� - String[] items = current1.split("銆�"); - for (String item : items) { - if (!item.isEmpty()) { - uniqueItems1.add(item); - } - } - } - // 澶勭悊鏂版暟鎹� - String newItem1 = p.getInspectionItemEn() + - ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn()); - uniqueItems1.add(newItem1); - // 杩炴帴鍞竴椤瑰苟鏇存柊 AtomicReference - String result1 = String.join("銆�", uniqueItems1); - resultEn.set(result1); - //resultEn.set(resultEn.get() + "銆�" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn())); - textRenderData.setText("脳"); - break; - default: - textRenderData.setText("-"); - break; - } - } else if (value.contains("搴忓彿")) { - if (itemSet.add(p.getInspectionItem())) { - index.getAndIncrement(); - } - textRenderData.setText(index + ""); - } else if (value.contains("璁$畻鍊�")) { - JSONArray jsonArray = JSON.parseArray(p.getInsProductResult().getComValue()); - textRenderData.setText((JSON.parseObject(JSON.toJSONString(jsonArray.get(0))).get("v") + "").equals("") ? "/" : JSON.parseObject(JSON.toJSONString(jsonArray.get(0))).get("v") + ""); - } else if (value.contains("鏈�缁堝��")) { - textRenderData.setText(p.getLastValue()); - } else if (value.contains("鏍峰搧缂栧彿")) { - textRenderData.setText(a.getSampleCode()); - } else if (value.contains("鏍峰搧鍨嬪彿")) { - textRenderData.setText(a.getModel()); - } else if (value.contains("鏍峰搧鍚嶇О")) { - textRenderData.setText(a.getSample()); - } else if (value.contains("璇曢獙鏂规硶")) { - textRenderData.setText(p.getMethodS()); - } else if (value.contains("妫�楠岄」")) { - if (ObjectUtils.isEmpty(p.getInspectionItemEn())) { - textRenderData.setText(p.getInspectionItem()); - } else { - textRenderData.setText(p.getInspectionItem() + "@" + p.getInspectionItemEn()); - } - } else if (value.contains("妫�楠屽瓙椤�")) { - if (ObjectUtils.isEmpty(p.getInspectionItemSubclassEn())) { - textRenderData.setText(p.getInspectionItemSubclass()); - } else { - textRenderData.setText(p.getInspectionItemSubclass() + "@" + p.getInspectionItemSubclassEn()); - } - } else { - textRenderData.setText(v.get("v") == null ? "" : v.get("v") + ""); - } - } else if (p == null && v.get("ps") != null) { - String value = JSON.parseObject(JSON.toJSONString(v.get("ps"))).get("value") + ""; - p = pMap.get(pMap.keySet().iterator().next()); - if (value.contains("鏈�缁堝��")) { - textRenderData.setText(p.getLastValue()); - } else if (value.contains("缁撹")) { - switch (p.getInsResult()) { - case 1: - textRenderData.setText("鉁�"); - break; - case 0: - Set<String> uniqueItems1 = new HashSet<>(); - Set<String> uniqueItems2 = new HashSet<>(); - - String item1 = p.getInspectionItem() + (p.getInspectionItemSubclass().equals("") ? "" : " " + p.getInspectionItemSubclass()); - if (uniqueItems1.add(item1)) { - resultCh.set(resultCh.get() + "銆�" + item1); - } - //resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (p.getInspectionItemSubclass().equals("") ? "" : " " + p.getInspectionItemSubclass())); - String item2 = p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn()); - if (uniqueItems2.add(item2)) { - resultEn.set(resultEn.get() + "銆�" + item2); - } - //resultEn.set(resultEn.get() + "銆�" + ); - textRenderData.setText("鉁�"); - break; - default: - textRenderData.setText("-"); - break; - } - } else if (value.contains("鏍峰搧缂栧彿")) { - textRenderData.setText(a.getSampleCode()); - } else if (value.contains("鏍峰搧鍨嬪彿")) { - textRenderData.setText(a.getModel()); - } else if (value.contains("鏍峰搧鍚嶇О")) { - textRenderData.setText(a.getSample()); - } else { - textRenderData.setText(v.get("v") == null ? "" : v.get("v") + ""); - } - } else { - textRenderData.setText(v.get("v") == null ? "" : v.get("v") + "鈭�" + jo1.get("mc")); - } - if (jo1.get("mc") != null) { - textRenderData.setText(textRenderData.getText() + "鈭�" + jo1.get("mc")); - } - Style style = new Style(); - style.setFontFamily("瀹嬩綋"); - if (!((v.get("fc") + "").indexOf("rgb") > -1)) { - style.setColor(v.get("fc") == null ? "000000" : (v.get("fc") + "").replace("#", "")); - } else { - style.setColor("000000"); - } - textRenderData.setStyle(style); - text.add(textRenderData); - } - TextRenderData[] text2 = text.toArray(new TextRenderData[0]); - rowRenderData = Rows.of(text2).rowAtleastHeight(1).center().create(); - if (rowRenderData.getCells().size() != 0) { - rows.add(rowRenderData); - } - List<TableRenderData> tables1 = new ArrayList<>(); - TableRenderData tableRenderData = new TableRenderData(); - tableRenderData.setRows(new ArrayList<>()); - double totalHeight = 0.0; // 鐢ㄤ簬璺熻釜褰撳墠琛ㄦ牸鐨勬�昏楂� - double heightThreshold = 8000.0; // 闃堝�硷紝 - List<RowRenderData> firstTwoRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍� - // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍� - if (rows.size() >= 2) { - firstTwoRows.add(rows.get(0)); - firstTwoRows.add(rows.get(1)); - } - for (RowRenderData row : rows) { - double rowHeight = row.getRowStyle().getHeight(); // 鑾峰彇褰撳墠琛岀殑琛岄珮 - totalHeight += rowHeight; // 鏇存柊鎬昏楂� - if (totalHeight >= heightThreshold) { - // 鍒涘缓鏂拌〃鏍煎苟澶嶅埗鍓嶄袱琛� - TableRenderData newTableRenderData = new TableRenderData(); - newTableRenderData.setRows(new ArrayList<>(firstTwoRows)); - //璁剧疆鏍峰紡 - TableStyle tableStyle = new TableStyle(); - tableStyle.setColWidths(new int[]{650, 1600, 2000, 750, 2800, 1100, 1100}); - tableStyle.setWidth("10000"); - 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); - newTableRenderData.setTableStyle(tableStyle); - tables1.add(tableRenderData); - tableRenderData = newTableRenderData; - totalHeight = rowHeight; - } - tableRenderData.getRows().add(row); - } - if (!tableRenderData.getRows().isEmpty()) { - //璁剧疆鏍峰紡 - TableStyle tableStyle = new TableStyle(); - tableStyle.setColWidths(new int[]{650, 1600, 2000, 750, 2800, 1100, 1100}); - tableStyle.setWidth("10000"); - 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); - tables1.add(tableRenderData); - } - tables1.forEach(table -> { - Map<String, Object> tableMap = new HashMap<>(); - tableMap.put("table", table); - tableMap.put("report", insReport); - tables.add(tableMap); - }); - }); - }); - /*鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡鏍峰紡*/ - //鏌ヨ璁㈠崟涓嬫墍鏈夋牱鍝佺殑妫�楠岄」鐩�,濡傛灉鏈夊厜绾ゆ帴澶存崯鑰楀垯閲嶆柊鏋勫缓琛ㄦ牸 - 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<>(); - //琛ㄦ牸鐨勮鏁� 脳 鈭� 鉁� 鉁� - long count1 = size - (index - 1) * number < number ? size - (index - 1) * number + 3 : number + 3; - for (int j = 0; j < count1; 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 == count1 - 1) { - //鏈�鍚庝竴琛� - 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; - try { - insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); - } catch (Exception e) { - continue; - } - 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; - try { - insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); - } catch (Exception e) { - continue; - } - 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; - try { - insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); - } catch (Exception e) { - continue; - } - 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; - try { - insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); - } catch (Exception e) { - continue; - } - 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.get() + "-" + max.get());//妫�楠岀粨鏋� - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鏈�鍚庝竴鍒� - String insProduct; - try { - insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1))); - } catch (Exception e) { - continue; - } - 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("姣忚鍗曞厓鏍间笉鐩哥瓑1"); - } - } - 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; - try { - product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7)); - } catch (Exception e) { - continue; - } - 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; - try { - product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7)); - } catch (Exception e) { - continue; - } - 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; - try { - product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7)); - } catch (Exception e) { - continue; - } - 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("姣忚鍗曞厓鏍间笉鐩哥瓑2"); - } - } - 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()); - long index41 = 1; - for (int i = 0; i < sampleList.size(); i++) { - if (i % 16 == 0) { - //鏍峰搧鏁伴噺瓒呰繃16闇�瑕佹柊澧炶〃鏍� - List<RowRenderData> rows = new ArrayList<>(); - int count2 = sampleList.size() - (index41 - 1) * 16 < 16 ? (int) (sampleList.size() - (index41 - 1) * 16 + 1) : 17; - //琛ㄦ牸鐨勮鏁� - for (int j = 0; j < count2; 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).getModel() + "鈭�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("姣忚鍗曞厓鏍间笉鐩哥瓑3"); - } - } - 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++; - index41++; - } - } - tables4.forEach(table4 -> { - table4.put("tableSize4", tables4.size()); - }); - - } - String url; - try { - 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) { - throw new RuntimeException(e); - } - StringBuilder standardMethod2 = new StringBuilder(); - for (String s : standardMethod) { - standardMethod2.append("銆�").append(s); - } - standardMethod2.replace(0, 1, ""); - tables.forEach(table -> { - table.put("tableSize", tables.size() + 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; - 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(user.get("company")); - Custom custom = customMapper.selectById(insOrder.getCompanyId()); - if (!resultCh.get().equals("")) { - resultCh.set("渚濇嵁濮旀墭瑕佹眰锛�" + resultCh.get().replaceFirst("銆�", "") + "绛夋墍妫�椤圭洰涓嶇鍚堣姹傦紝鍏朵綑鎵�妫�椤圭洰鍧囩鍚堣姹傘��"); - resultEn.set("According to commissioned requirements," + resultEn.get().replaceFirst("銆�", "") + " these inspected items do not meet the requirements, all other inspected items meet the requirements."); + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + List<InsUnPass> insUnPasses = new ArrayList<>(); + /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/ + //杩欓噷鐨刬nsSamples鏄鍗曚笅鐨勬墍鏈夋牱鍝佸寘鎷�("/") + List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); + for (InsSample insSample : samples) { + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1)); + List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList()); + if (results.contains(0)) { + insSample.setInsResult(0); } else { - resultCh.set("渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��"); - resultEn.set("According to commissioned requirements, all the tested items meet the requirements."); + insSample.setInsResult(1); } - - - /*鍏夌氦閰嶇疆鐨勬楠屾姤鍛�*/ - //鍏堝垽鏂槸鍚︽湁鍏夌氦閰嶇疆 - List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())) - .isNotNull(InsProduct::getInsFiberId) - .isNull(InsProduct::getInspectionItemClass));//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆 - List<Map<String, Object>> tables2 = new ArrayList<>(); - if (insProducts.size() > 0) { - samples.forEach(sample -> { - List<InsProduct> insProducts1 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .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(); - long number = 7; - long k = 0; - long index2 = 1; - 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; - } - } - 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("姣忚鍗曞厓鏍间笉鐩哥瓑4"); - } - } - 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()); - table.put("index2", index2); - tables2.add(table); - k += 7; - index2++; - } - } - }); - } - tables2.forEach(table2 -> { - table2.put("tableSize2", tables2.size()); - }); - - /*娓╁害寰幆鐨勬楠屾姤鍛�*/ - //鍏堝垽鏂槸鍚︽湁娓╁害寰幆 - List<InsProduct> insProducts3 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())) - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNotNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆 - .isNotNull(InsProduct::getInsFiberId)); //鐢ㄥ厜绾ゅ尯鍒儹寰幆鍜屾俯搴﹀惊鐜� - List<Map<String, Object>> tables3 = new ArrayList<>(); - if (insProducts3.size() > 0) { - samples.forEach(sample -> { - //鏌ヨ娓╁害寰幆涓嬬殑妫�楠岄」鐩� - List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .isNotNull(InsProduct::getInspectionItemClass)); - - //鑾峰彇鎵�鏈夋楠岄」鐩�,鎸夌収寰幆娆℃暟,鑹叉爣,娓╁害,nm杩涜鎺掑簭 - Map<String, Integer> temperatureToIdMap = new HashMap<>(); - for (InsProduct product : insPros) { - String temperature = product.getInspectionItemSubclass(); - int id = product.getId(); - temperatureToIdMap.putIfAbsent(temperature, id); - if (temperatureToIdMap.get(temperature) > id) { - temperatureToIdMap.put(temperature, id); - } - } - - // 鑷畾涔夋帓搴� - Collections.sort(insPros, new Comparator<InsProduct>() { - @Override - public int compare(InsProduct p1, InsProduct p2) { - // 棣栧厛鎸塯etInspectionItem鎺掑簭 - int result = p1.getInspectionItem().compareTo(p2.getInspectionItem()); - if (result != 0) { - return result; - } - // 濡傛灉getInspectionItem鐩哥瓑锛屽啀鎸塯etInsFiberId鎺掑簭 - result = p1.getInsFiberId().compareTo(p2.getInsFiberId()); - if (result != 0) { - return result; - } - // 濡傛灉getInsFiberId涔熺浉绛夛紝鏈�鍚庢寜getInspectionItemSubclass鎺掑簭 - return compareTemperature(p1.getInspectionItemSubclass(), p2.getInspectionItemSubclass()); - } - - private int compareTemperature(String temp1, String temp2) { - // 鏍规嵁娓╁害瀵瑰簲鐨刬d杩涜鎺掑簭 - int id1 = temperatureToIdMap.get(temp1); - int id2 = temperatureToIdMap.get(temp2); - - return Integer.compare(id1, id2); - } - }); - List<InsProduct> filteredProducts = insPros; - //鑾峰彇鎵�鏈夊厜绾よ壊鏍� - List<InsFiber> insFibers = insFiberMapper.selectBatchIds(insPros.stream().map(InsProduct::getInsFiberId).collect(Collectors.toList())); - //鑾峰彇鎵�鏈夌殑娓╁害(闄や簡绗竴涓�20鈩�(甯告俯)) - List<String> temperature = insPros.stream().map(InsProduct::getInspectionItemSubclass).filter(s -> !s.equals("20鈩�(甯告俯)")).distinct().collect(Collectors.toList()); - //鑾峰彇鎵�鏈夌殑娓╁害(闄や簡绗竴涓�20鈩�(甯告俯)鍜屾渶鍚庝竴涓�20鈩�) - List<String> temperature2 = insPros.stream().map(InsProduct::getInspectionItemSubclass).filter(s -> !s.equals("20鈩�(甯告俯)")).filter(s -> !s.equals("20鈩�")).distinct().collect(Collectors.toList()); - //鑾峰彇鎵�鏈夌殑鍏夌氦椤圭洰(1310nm) - List<String> nm = insPros.stream().map(InsProduct::getInspectionItemClass).distinct().collect(Collectors.toList()); - //鑾峰彇鎵�鏈夋楠岄」鐩殑鏁伴噺(鍒楁暟)(杩欓噷闇�瑕佹敞鎰忎袱涓俯搴�,涓�涓槸20鈩冨父娓�(鍙湁绗竴娆″惊鐜墠鏈�),鍙︿竴涓槸20鈩�(鍙湁鏈�鍚庝竴涓惊鐜墠鏈�)) - long size = insPros.stream().map(insProduct -> { - return (insProduct.getInspectionItemSubclass() + insProduct.getInspectionItemClass()); - }).distinct().collect(Collectors.toList()).size(); - //鑾峰彇寰幆娆℃暟(琛ㄦ牸鐨勬暟閲�) - int size1 = insPros.stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.toList()).size(); - //鑾峰彇鍏夌氦鑹叉爣鐨勬暟閲�(琛屾暟) - long size2 = insPros.stream().map(InsProduct::getInsFiberId).distinct().count(); - long index3 = 1; - for (int i = 0; i < size1; i++) { - //鎸夌収寰幆娆℃暟鐢熸垚瀵瑰簲鏁伴噺鐨勮〃鏍� - List<RowRenderData> rows = new ArrayList<>(); - //琛ㄦ牸鐨勮鏁�(鍏夌氦鑹叉爣鐨勬暟閲�+8) - for (long j = 0; j < size2 + 8; j++) { - RowRenderData rowRenderData = new RowRenderData(); - RowStyle rowStyle = new RowStyle(); - rowStyle.setHeight(40); - rowRenderData.setRowStyle(rowStyle); - List<CellRenderData> cells = new ArrayList<>(); - //琛ㄦ牸鐨勫垪鏁伴渶瑕佹牴鎹惊鐜殑娆℃暟瀵瑰簲鐨勬敼鍙� - if (size1 == 1) { - //濡傛灉鍙惊鐜竴娆�,閭d箞鍒楁暟鍖呮嫭20鈩冨拰20鈩冨父娓�(2 * size - nm.size()+1) - for (long k = 0; k < 2 * size - nm.size() + 1; 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 <= (2 * size - nm.size() + 1) / 4) { - //绗竴鍒� - textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000"); - } else if (k > (2 * size - nm.size() + 1) / 4 && k <= (2 * size - nm.size() + 1) / 2) { - //绗簩鍒� - textRenderData.setText(sample.getSampleCode() + "鈭�998"); - } else if (k > (2 * size - nm.size() + 1) / 2 && k < 2 * size - nm.size()) { - //绗笁鍒� - textRenderData.setText("瑙勬牸鍨嬪彿@Type 鈭�999"); - } else { - //绗洓鍒� - textRenderData.setText(sample.getModel()); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - } else { - textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > 0 && k <= nm.size()) { - //绗簩鍒� - textRenderData.setText("20鈩�(甯告俯)鈭�1006"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鏍规嵁娓╁害寰幆 - for (int i1 = 0; i1 < temperature.size(); i1++) { - if (k > (2 * i1 + 1) * nm.size() && k <= (2 * i1 + 3) * nm.size()) { - //绗笁鍒� - textRenderData.setText(temperature.get(i1) + "鈭�52" + i1); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } else if (j == 3) { - //绗洓琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > 0 && k <= nm.size()) { - //绗簩鍒楀拰绗笁鍒� - for (int i1 = 0; i1 < nm.size(); i1++) { - if (k == i1 + 1) { - textRenderData.setText(nm.get(i1)); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } else { - for (int j1 = 0; j1 < temperature.size(); j1++) { - for (int i1 = 0; i1 < nm.size(); i1++) { - if (k > (i1 + 1 + 2 * j1) * nm.size() && k <= (i1 + 1 + 2 * j1) * nm.size() + 2) { - textRenderData.setText(nm.get(i1)); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } - } else if (j == 4) { - //绗簲琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > 0 && k <= nm.size()) { - //绗簩鍒楀拰绗笁鍒� - textRenderData.setText("琛板噺"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > nm.size() && (k - (nm.size())) % 2 == 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 == size2 + 5) { - //鍊掓暟绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k <= nm.size()) { - //璁$畻20鈩冨父娓╃殑绗�(k-1)涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у�� - List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)") - .eq(InsProduct::getInspectionItemClass, nm.get((int) (k - 1)))).stream().map(InsProduct::getId).collect(Collectors.toList()); - List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips); - Optional<String> max = insProductResults.stream().map(insProductResult -> { - return insProductResult.getComValue().split(":")[1].split("\"")[1]; - }).filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if ((k - (nm.size())) % 2 == 0) { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у�� - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у�� - List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (((k + 1) / (nm.size() + 2)) - 1))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - (nm.size() + 2)) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList()); - List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips); - Optional<String> max = insProductResults.stream().map(insProductResult -> { - return insProductResult.getComValue().split(":")[1].split("\"")[1]; - }).filter(value -> !value.isEmpty()).max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else if (j == size2 + 6) { - //鍊掓暟绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|鈭� 伪 max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k <= nm.size()) { - textRenderData.setText("-"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if ((k - (nm.size())) % 2 == 0) { - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - 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 == size2 + 7) { - //鍊掓暟绗竴琛� - textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 - if (k == 0) { - //绗竴鍒楀~鍐欒壊鏍� - textRenderData.setText(insFibers.get((int) (j - 5)).getColor()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k <= nm.size()) { - //绗簩鍒楀拰绗笁鍒楀~鍐�20鈩冨父娓╃殑骞冲潎鍊�(result琛ㄩ噷闈㈢殑com_value) - textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + k - 1)).getId())).getComValue().split(":")[1].split("\"")[1]); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if ((k - (nm.size())) % 2 == 0) { - //濉啓琛板噺宸氨鏄痩ast_value - textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + k / 2)).getLastValue()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value) - textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + (k + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]); - 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); - } - } else { - //濡傛灉鏈夊娆″惊鐜� - if (i == 0) { - //绗竴娆″惊鐜殑鍒楁暟,閭d箞鍒楁暟鍖呮嫭20鈩冨父娓�(2 * (size-nm.size()) -nm.size()+1) - for (long k = 0; k < 2 * (size - nm.size()) - nm.size() + 1; 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 <= (2 * (size - nm.size()) - nm.size() + 1) / 4) { - //绗竴鍒� - textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000"); - } else if (k > (2 * (size - nm.size()) - nm.size() + 1) / 4 && k <= (2 * (size - nm.size()) - nm.size() + 1) / 2) { - //绗簩鍒� - textRenderData.setText(sample.getSampleCode() + "鈭�998"); - } else if (k > (2 * (size - nm.size()) - nm.size() + 1) / 2 && k < 2 * (size - nm.size()) - nm.size()) { - //绗笁鍒� - textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999"); - } else { - //绗洓鍒� - textRenderData.setText(sample.getModel()); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - } else { - textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > 0 && k <= nm.size()) { - //绗簩鍒� - textRenderData.setText("20鈩�(甯告俯)鈭�1006"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鏍规嵁娓╁害寰幆 - for (int i1 = 0; i1 < temperature2.size(); i1++) { - if (k > (2 * i1 + 1) * nm.size() && k <= (2 * i1 + 3) * nm.size()) { - //绗笁鍒� - textRenderData.setText(temperature2.get(i1) + "鈭�52" + i1); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } else if (j == 3) { - //绗洓琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > 0 && k <= nm.size()) { - //绗簩鍒楀拰绗笁鍒� - for (int i1 = 0; i1 < nm.size(); i1++) { - if (k == i1 + 1) { - textRenderData.setText(nm.get(i1)); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } else { - for (int j1 = 0; j1 < temperature2.size(); j1++) { - for (int i1 = 0; i1 < nm.size(); i1++) { - if (k > (i1 + 1 + 2 * j1) * nm.size() && k <= (i1 + 1 + 2 * j1) * nm.size() + 2) { - textRenderData.setText(nm.get(i1)); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } - } else if (j == 4) { - //绗簲琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > 0 && k <= nm.size()) { - //绗簩鍒楀拰绗笁鍒� - textRenderData.setText("琛板噺"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k > nm.size() && (k - (nm.size())) % 2 == 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 == size2 + 5) { - //鍊掓暟绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k <= nm.size()) { - //璁$畻20鈩冨父娓╃殑绗�(k-1)涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у�� - List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)") - .eq(InsProduct::getInspectionItemClass, nm.get((int) (k - 1)))).stream().map(InsProduct::getId).collect(Collectors.toList()); - List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips); - Optional<String> max = insProductResults.stream().map(insProductResult -> { - return insProductResult.getComValue().split(":")[1].split("\"")[1]; - }).filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if ((k - (nm.size())) % 2 == 0) { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у�� - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у�� - List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (((k + 1) / (nm.size() + 2)) - 1))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - (nm.size() + 2)) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList()); - List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips); - Optional<String> max = insProductResults.stream().map(insProductResult -> { - return insProductResult.getComValue().split(":")[1].split("\"")[1]; - }).filter(value -> !value.isEmpty()).max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else if (j == size2 + 6) { - //鍊掓暟绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|鈭� 伪 max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k <= nm.size()) { - textRenderData.setText("-"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if ((k - (nm.size())) % 2 == 0) { - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - 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 == size2 + 7) { - //鍊掓暟绗竴琛� - textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 - if (k == 0) { - //绗竴鍒楀~鍐欒壊鏍� - textRenderData.setText(insFibers.get((int) (j - 5)).getColor()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k <= nm.size()) { - //绗簩鍒楀拰绗笁鍒楀~鍐�20鈩冨父娓╃殑骞冲潎鍊�(result琛ㄩ噷闈㈢殑com_value) - textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + k - 1)).getId())).getComValue().split(":")[1].split("\"")[1]); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if ((k - (nm.size())) % 2 == 0) { - //濉啓琛板噺宸氨鏄痩ast_value - textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + k / 2)).getLastValue()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value) - textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + (k + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } 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(); - 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 <= (2 * (size - nm.size()) + 1) / 4) { - //绗竴鍒� - textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000"); - } else if (k > (2 * (size - nm.size()) + 1) / 4 && k <= (2 * (size - nm.size()) + 1) / 2) { - //绗簩鍒� - textRenderData.setText(sample.getSampleCode() + "鈭�998"); - } else if (k > (2 * (size - nm.size()) + 1) / 2 && k < 2 * (size - nm.size())) { - //绗笁鍒� - textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999"); - } else { - //绗洓鍒� - textRenderData.setText(sample.getModel()); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - } else { - textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鏍规嵁娓╁害寰幆 - for (int i1 = 0; i1 < temperature.size(); i1++) { - if (k > (2 * i1) * nm.size() && k <= (2 * i1 + 2) * nm.size()) { - //绗笁鍒� - textRenderData.setText(temperature.get(i1) + "鈭�52" + i1); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } else if (j == 3) { - //绗洓琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - for (int j1 = 0; j1 < temperature.size(); j1++) { - for (int i1 = 0; i1 < nm.size(); i1++) { - if (k > (i1 + 2 * j1) * nm.size() && k <= (i1 + 2 * j1) * nm.size() + 2) { - textRenderData.setText(nm.get(i1)); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } - } else if (j == 4) { - //绗簲琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 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 == size2 + 5) { - //鍊掓暟绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 0) { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у�� - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k - 1) / (2 * nm.size())))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у�� - List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (k / (2 * nm.size())))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - nm.size()) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList()); - List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips); - Optional<String> max = insProductResults.stream().map(insProductResult -> { - return insProductResult.getComValue().split(":")[1].split("\"")[1]; - }).filter(value -> !value.isEmpty()).max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else if (j == size2 + 6) { - //鍊掓暟绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|鈭� 伪 max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 0) { - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k - 1) / (2 * nm.size())))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - 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 == size2 + 7) { - //鍊掓暟绗竴琛� - textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 - if (k == 0) { - //绗竴鍒楀~鍐欒壊鏍� - textRenderData.setText(insFibers.get((int) (j - 5)).getColor()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 0) { - //濉啓琛板噺宸氨鏄痩ast_value - textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + ((temperature.size() * nm.size() * size2 * i) - (size2 * nm.size() * (i - 1))) + (k - 2) / 2)).getLastValue()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value) - textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + ((temperature.size() * nm.size() * size2 * i) - (size2 * nm.size() * (i - 1))) + ((k - 2) + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } 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(); - 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 <= (2 * (size - 2 * nm.size()) + 1) / 4) { - //绗竴鍒� - textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000"); - } 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())) { - //绗笁鍒� - textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999"); - } else { - //绗洓鍒� - textRenderData.setText(sample.getModel()); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - } else { - textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鏍规嵁娓╁害寰幆 - for (int i1 = 0; i1 < temperature2.size(); i1++) { - if (k > (2 * i1) * nm.size() && k <= (2 * i1 + 2) * nm.size()) { - //绗笁鍒� - textRenderData.setText(temperature2.get(i1) + "鈭�52" + i1); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } else if (j == 3) { - //绗洓琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - for (int j1 = 0; j1 < temperature2.size(); j1++) { - for (int i1 = 0; i1 < nm.size(); i1++) { - if (k > (i1 + 2 * j1) * nm.size() && k <= (i1 + 2 * j1) * nm.size() + 2) { - textRenderData.setText(nm.get(i1)); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - } - } else if (j == 4) { - //绗簲琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 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 == size2 + 5) { - //鍊掓暟绗笁琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 0) { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у�� - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (((k - 1) / (2 * nm.size()))))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у�� - List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (k / (2 * nm.size())))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - nm.size()) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList()); - List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips); - Optional<String> max = insProductResults.stream().map(insProductResult -> { - return insProductResult.getComValue().split(":")[1].split("\"")[1]; - }).filter(value -> !value.isEmpty()).max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else if (j == size2 + 6) { - //鍊掓暟绗簩琛� - if (k == 0) { - //绗竴鍒� - textRenderData.setText("|鈭� 伪 max|"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 0) { - Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNotNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, i + 1) - .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k - 1) / (2 * nm.size())))) - .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size())))) - .stream().map(InsProduct::getLastValue) - .filter(value -> !value.isEmpty()) - .max(String::compareTo); - if (max.isPresent()) { - textRenderData.setText(max.get()); - } else { - 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 == size2 + 7) { - //鍊掓暟绗竴琛� - textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑濉啓妫�楠屽�肩殑鍐呭 - if (k == 0) { - //绗竴鍒楀~鍐欒壊鏍� - textRenderData.setText(insFibers.get((int) (j - 5)).getColor()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (k % 2 == 0) { - //濉啓琛板噺宸氨鏄痩ast_value - textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size() - 1) * nm.size() + (temperature.size() * nm.size() * size2) + (k - 2) / 2)).getLastValue()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value) - textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() - 1) * nm.size() + (temperature.size() * nm.size() * size2) + ((k - 2) + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]); - 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("姣忚鍗曞厓鏍间笉鐩哥瓑5"); - } - } - 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("table3", tableRenderData); - table.put("report", insReport); - table.put("index3", index3); - tables3.add(table); - index3++; - } - }); - } - /*娓╁崌璇曢獙鐨勬楠屾姤鍛�*/ - List<InsProduct> insProducts1 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())) - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜� - .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆 - .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆� - if (insProducts1.size() > 0) { - samples.forEach(sample -> { - //鏌ヨ娓╁崌璇曢獙涓嬬殑妫�楠岄」鐩� - List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜� - .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆 - .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆� - //鏌ヨ濉啓鐨勬楠屽�兼湁澶氬皯绉� - InsProductResult insProductResult = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPros.get(0).getId())).get(0); - int vCount = StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\""); - long index3 = 1; - for (int c = 0; c < vCount; c++) { - if (c % 16 == 0) { - List<RowRenderData> rows = new ArrayList<>(); - //琛ㄦ牸鐨勮鏁� - for (int i = 0; i < 3 + vCount; i++) { - RowRenderData rowRenderData = new RowRenderData(); - RowStyle rowStyle = new RowStyle(); - rowStyle.setHeight(40); - rowRenderData.setRowStyle(rowStyle); - List<CellRenderData> cells = new ArrayList<>(); - String a = null;//瀵肩嚎娓╁害 - String b = null;//鑰愬紶娓╁害 - String d = null;//鎺ョ画娓╁害 - //鍒楁暟 - for (int j = 0; j < 6; 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("鏍峰搧缂栧彿@Sample number"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText(sample.getSampleCode()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText("瑙勬牸鍨嬪彿@Type and size"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText(sample.getModel()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒� - textRenderData.setText("妫�娴嬮」@Testing items"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //绗叚鍒� - textRenderData.setText("娓╁崌璇曢獙@Temperature rise test"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else if (i == 1) { - //绗簩琛� - if (j == 0) { - //绗竴鍒� - textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("瀵肩嚎娓╁害@Wire temperature锛堚剝锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText("鑰愬紶娓╁害@Tensile temperature锛堚剝锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText("鎺ョ画娓╁害@Connection temperature锛堚剝锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //绗簲鍒楃鍏垪 - textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�100"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - else if (i == 2 + vCount) { - //鏈�鍚庝竴琛� - if (j == 0 || j == 1) { - //绗竴鍒楀拰绗簩鍒� - textRenderData.setText("澶囨敞鈭�101"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑鍒� - textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆傗垜102"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - else { - //鍏朵綑琛� - if (j == 0) { - //绗竴鍒�(鐜娓╁害) - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鐜娓╁害") - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜� - .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆 - .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆� - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 2); - String vValue = jsonObject.getString("v"); - System.out.println("鐜娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 1) { - //绗簩鍒�(瀵肩嚎娓╁害) - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害") - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜� - .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆 - .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆� - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 2); - String vValue = jsonObject.getString("v"); - a = vValue; - System.out.println("瀵肩嚎娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 2) { - //绗笁鍒�(鑰愬紶娓╁害) - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害") - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜� - .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆 - .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆� - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 2); - String vValue = jsonObject.getString("v"); - b = vValue; - System.out.println("鑰愬紶娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 3) { - //绗洓鍒�(鎺ョ画娓╁害) - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害") - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜� - .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆 - .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆� - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 2); - String vValue = jsonObject.getString("v"); - d = vValue; - System.out.println("鎺ョ画娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - } else { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else { - //绗簲鍒� 绗叚鍒�(缁撹) - //鍒ゆ柇鍚堟牸涓庝笉鍚堟牸 - BigDecimal decimal1 = new BigDecimal(a); - BigDecimal decimal2 = new BigDecimal(b == null ? "0" : b); - BigDecimal decimal3 = new BigDecimal(d == null ? "0" : d); - if (decimal1.compareTo(decimal2) > 0 && decimal1.compareTo(decimal3) > 0) { - textRenderData.setText("鈭氣垜20"+i); - } else { - textRenderData.setText("脳鈭�20"+i); - } - 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("姣忚鍗曞厓鏍间笉鐩哥瓑5"); - } - } - 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("table3", tableRenderData); - table.put("report", insReport); - table.put("index3", index3); - tables3.add(table); - index3++; - } - } - }); - } - /*鐑惊鐜殑妫�楠屾姤鍛�*/ - List<InsProduct> insProducts2 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())) - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .isNotNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜� - .isNull(InsProduct::getInsFiberId)); //鐢ㄥ厜绾ゅ尯鍒儹寰幆鍜屾俯搴﹀惊鐜� - if (insProducts2.size() > 0) { - samples.forEach(sample -> { - //璁$畻鏁版嵁鐨勮鏁�,鍏堟煡鍑烘湁澶氬皯娆″惊鐜�,鍐嶆煡姣忎釜寰幆鐨勫~鍐欐暟閲� - InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItem, "鐑惊鐜�")); - String[] split = insProduct.getAsk().split(";"); - Integer cycle = Integer.parseInt(split[split.length - 1]);//寰幆娆℃暟 - int vCount = 0; - List<Integer> list = new ArrayList<>(); - for (Integer i = 1; i <= cycle; i++) { - //鏌ユ瘡涓惊鐜噷闈㈢殑濉啓鏁伴噺 - List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .isNull(InsProduct::getTemplateId) //鍖哄垎甯歌椤圭洰 - .eq(InsProduct::getInspectionItemClass, "鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆 - .eq(InsProduct::getInspectionItem, i + "")); - InsProductResult insProductResult = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPros.get(0).getId())).get(0); - vCount += StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\""); - list.add(StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\"")); - } - long index3 = 1; - for (int c = 0; c < vCount; c++) { - if (c % 18 == 0) { - List<RowRenderData> rows = new ArrayList<>(); - //琛ㄦ牸鐨勮鏁� - for (int i = 0; i < 4 + vCount; i++) { - RowRenderData rowRenderData = new RowRenderData(); - RowStyle rowStyle = new RowStyle(); - rowStyle.setHeight(40); - rowRenderData.setRowStyle(rowStyle); - List<CellRenderData> cells = new ArrayList<>(); - String a = null;//瀵肩嚎娓╁害 - String b = null;//鑰愬紶娓╁害 - String d = null;//鎺ョ画娓╁害 - //鍒楁暟 - for (int 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("鏍峰搧缂栧彿@Sample number"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText(sample.getSampleCode()); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2 || j == 3) { - //绗笁鍒楀拰绗洓鍒� - textRenderData.setText("瑙勬牸鍨嬪彿@Type and size鈭�301"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4 || j == 5) { - //绗簲鍒楀拰绗叚鍒� - textRenderData.setText(sample.getModel()+"鈭�302"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 6) { - //绗竷鍒� - textRenderData.setText("妫�娴嬮」@Testing items"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //绗叓鍒楀拰绗節鍒� - textRenderData.setText("鐑惊鐜疈Thermal cycle鈭�303"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - else if (i == 1) { - //绗簩琛� - if (j == 0) { - //绗竴鍒� - textRenderData.setText("寰幆娆℃暟@Number of cycles(times)鈭�100"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛夆垜101"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2 || j == 3) { - //绗笁鍒楀拰绗洓鍒� - textRenderData.setText("瀵肩嚎@Conductor鈭�102"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4 || j == 5) { - //绗簲鍒楀拰绗叚鍒� - textRenderData.setText("鑰愬紶绾垮す@Tension clamp鈭�103"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 6 || j == 7) { - //绗竷鍒楃鍏垪 - textRenderData.setText("鎺ョ画閲戝叿@Splicing fittings鈭�104"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //绗節鍒� - textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�105"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - else if (i == 2) { - //绗笁琛� - if (j == 0) { - //绗竴鍒� - textRenderData.setText("寰幆娆℃暟@Number of cycles(times)鈭�100"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛夆垜101"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText("娓╁害@Temperature锛堚剝锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒� - textRenderData.setText("娓╁害@Temperature锛堚剝锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 5) { - //绗叚鍒� - textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 6) { - //绗竷鍒� - textRenderData.setText("娓╁害@Temperature锛堚剝锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 7) { - //绗叓鍒� - textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //绗節鍒� - textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�105"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - else if (i == 3 + vCount) { - //鏈�鍚庝竴琛� - if (j == 0) { - //绗竴鍒� - textRenderData.setText("澶囨敞"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑鍒� - textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆傗垜108"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - else { - //鍏朵綑琛� - if (j == 0) { - //绗竴鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - textRenderData.setText((m+1)+""); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 1) { - //绗簩鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鐜娓╁害") - .isNull(InsProduct::getTemplateId) - .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, (m+1)+"")); - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 3-(aa-list.get(m))); - String vValue = jsonObject.getString("v"); - System.out.println("鐜娓╁害绗� " + (i - 2-(aa-list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 2) { - //绗笁鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害") - .isNull(InsProduct::getTemplateId) - .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, (m+1)+"")); - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m))); - String vValue = jsonObject.getString("v"); - a=vValue; - System.out.println("瀵肩嚎娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - }else textRenderData.setText(""); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 3) { - //绗洓鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害") - .isNull(InsProduct::getTemplateId) - .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, (m+1)+"")); - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m))); - String vValue = jsonObject.getString("w"); - System.out.println("瀵肩嚎娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - }else textRenderData.setText(""); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 4) { - //绗簲鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害") - .isNull(InsProduct::getTemplateId) - .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, (m+1)+"")); - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m))); - String vValue = jsonObject.getString("v"); - b=vValue; - System.out.println("鑰愬紶娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - }else textRenderData.setText(""); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 5) { - //绗叚鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害") - .isNull(InsProduct::getTemplateId) - .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, (m+1)+"")); - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m))); - String vValue = jsonObject.getString("w"); - System.out.println("鑰愬紶娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - }else textRenderData.setText(""); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 6) { - //绗竷鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害") - .isNull(InsProduct::getTemplateId) - .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, (m+1)+"")); - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m))); - String vValue = jsonObject.getString("v"); - d=vValue; - System.out.println("鎺ョ画娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - }else textRenderData.setText(""); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 7) { - //绗叓鍒� - int aa= 0; - for (int m = 0; m < cycle; m++) { - aa += list.get(m); - if (i-3<aa){ - InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getState, 1) - .eq(InsProduct::getInsSampleId, sample.getId()) - .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害") - .isNull(InsProduct::getTemplateId) - .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆") - .isNull(InsProduct::getInsFiberId) - .eq(InsProduct::getInspectionItem, (m+1)+"")); - if (ObjectUtils.isNotEmpty(insPro)) { - String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue(); - JSONArray jsonArray = JSONArray.parseArray(insValue); - JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m))); - String vValue = jsonObject.getString("w"); - System.out.println("鎺ョ画娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue); - textRenderData.setText(vValue); - }else textRenderData.setText(""); - break; - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else { - //鍒ゆ柇鍚堟牸涓庝笉鍚堟牸 - BigDecimal decimal1 = new BigDecimal(a); - BigDecimal decimal2 = new BigDecimal(b == null ? "0" : b); - BigDecimal decimal3 = new BigDecimal(d == null ? "0" : d); - if (decimal1.compareTo(decimal2) > 0 && decimal1.compareTo(decimal3) > 0) { - 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("姣忚鍗曞厓鏍间笉鐩哥瓑5"); - } - } - 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("table3", tableRenderData); - table.put("report", insReport); - table.put("index3", index3); - tables3.add(table); - index3++; - } - } - - }); - } - tables3.forEach(table3 -> { - table3.put("tableSize3", tables3.size()); - }); - /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/ - 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; - XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( - new HashMap<String, Object>() {{ - put("order", insOrder); - put("report", insReport); - put("environment", finalEnvironment); - put("custom", custom); - put("sampleSize", samples.size()); - put("tables", tables); - put("tableSize", tables.size() + 1); - put("tables2", tables2); - 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()); - put("models", finalModelStr.replace(",", "")); - put("productSize", productSize); - 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()); - put("resultCh", resultCh.get()); - put("resultEn", resultEn.get()); - }}); - try { - 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 { - 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(ParagraphAlignment.CENTER); - } - } - } - 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) { - } - } - } + insSampleMapper.updateById(insSample); + /*澶嶆牳鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/ + for (InsProduct insProduct : insProducts) { + if (insProduct.getInsResult() == 0) { + InsUnPass insUnPass = new InsUnPass(); + insUnPass.setId(null); + insUnPass.setModel(insSample.getModel()); + insUnPass.setSample(insSample.getSample()); + insUnPass.setInspectionItem(insProduct.getInspectionItem()); + insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); + insUnPass.setLastValue(insProduct.getLastValue()); + insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode()); + List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); + String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); + insUnPass.setName(name); + insUnPasses.add(insUnPass); } - FileOutputStream fileOutputStream = new FileOutputStream(path); - document.write(fileOutputStream); - fileOutputStream.close(); - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } 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); - } + } + insUnPassService.saveBatch(insUnPasses); + /*type=0 鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/ + switch (type) { + case 0: + /*鍐嶆璇曢獙:绯荤粺鑷姩鍦ㄦ绔欏彴鍐嶆鍒涘缓涓�娆℃楠屼换鍔★紱*/ + //鏇存柊鍘熸潵鐨勬楠屼换鍔� + // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰� + InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() + .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getLaboratory, laboratory) + .orderByDesc(InsOrderState::getId) + .last("LIMIT 1")); // 纭繚鍙彇涓�鏉¤褰� + if (record != null) { + // 鑾峰彇鍒扮涓�鏉¤褰曠殑 id 鍚庯紝鎵ц鏇存柊鎿嶄綔 + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getId, record.getId()) + .set(InsOrderState::getInsTime, now) + .set(InsOrderState::getInsState, 4) + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getVerifyUser, userId)); + } + //鏂板缓妫�楠屼换鍔� + /* InsOrderState orderState = new InsOrderState(); + orderState.setInsOrderId(orderId); + orderState.setLaboratory(laboratory); + orderState.setInsState(0); + insOrderStateMapper.insert(orderState);*/ + break; + case 1: + //缁х画璇曢獙:鍒欑户缁皢妫�楠屼换鍔¤浆鎺ヨ嚦涓嬩竴绔欑偣锛� + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getLaboratory, laboratory) + .set(InsOrderState::getInsTime, now) + .set(InsOrderState::getInsState, 6) + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getVerifyUser, userId)); + //杞帴鑷充笅涓�绔欑偣,闇�瑕佸厛鍒ゆ柇鏄惁杩樻湁鍏朵綑璇曢獙瀹�,濡傛灉鏈夊叾浣欒瘯楠屽闇�瑕佸皢璁㈠崟涓嬪彂 + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() + .eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); + List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .in(InsProduct::getInsSampleId, ids) + .eq(InsProduct::getState, 1)); + List<Integer> list = new ArrayList<>(); + list.add(4);list.add(5);list.add(6); + List<InsOrderState> insOrderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() + .eq(InsOrderState::getInsOrderId, orderId) + .in(InsOrderState::getInsState, list)); + List<String> strings = insOrderStates.stream().map(InsOrderState::getLaboratory).distinct().collect(Collectors.toList()); + //闄ゅ幓褰撳墠澶嶆牳鐨勮瘯楠屽鍜屽凡缁忓鏍哥殑璇曢獙瀹� + List<String> collect = insProducts.stream() + .map(InsProduct::getSonLaboratory) + .distinct() + .filter(s -> !s.equals(laboratory)) + .filter(s -> !strings.contains(s)) + .collect(Collectors.toList()); + if (collect.size() > 0) { + //瑕佸垽鏂墿浣欒瘯楠屽涓摢涓渶绌洪棽灏卞畨鎺掔粰鍝釜 + Map<String, Long> dataCounts = new HashMap<>(); + for (String sonLaboratory : collect) { + Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery() + .eq(InsOrderState::getLaboratory, sonLaboratory) + .ne(InsOrderState::getInsState, 4) + .ne(InsOrderState::getInsState, 5) + .ne(InsOrderState::getInsState, 6)); + dataCounts.put(sonLaboratory, count); + } + // 鏌ユ壘鏁版嵁閲忔渶灏戠殑鍏冪礌 + String minElement = null; + Long minCount = Long.MAX_VALUE; + for (Map.Entry<String, Long> entry : dataCounts.entrySet()) { + if (entry.getValue() < minCount) { + minCount = entry.getValue(); + minElement = entry.getKey(); } } + InsOrderState insOrderState = new InsOrderState(); + insOrderState.setInsOrderId(orderId); + insOrderState.setLaboratory(minElement); + insOrderState.setInsState(0); + insOrderStateMapper.insert(insOrderState); + } else { + //濡傛灉缁х画璇曢獙娌℃湁鍏朵粬绔欑偣鐨勬楠屼换鍔¢偅灏辩粨鏉熻瘯楠� + verifyPlan(orderId, laboratory, 2, tell); } - FileOutputStream fileOutputStream1 = new FileOutputStream(path); - document1.write(fileOutputStream1); - fileOutputStream1.close(); - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } catch (IOException e) { - throw new RuntimeException(e); - } - } else { - //澶嶆牳涓嶉�氳繃灏嗘妸澶嶆牳鐨勮礋璐d汉鍘绘帀 - Integer id = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getId).last("limit 1")).getId(); - insSampleUserMapper.deleteById(id); + break; + case 2: + //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙锛岀洿鎺ョ敓鎴愭渶缁堟姤鍛婂拰璐圭敤缁熻銆� + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getLaboratory, laboratory) + .set(InsOrderState::getInsTime, now) + .set(InsOrderState::getInsState, 5) + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getVerifyUser, userId)); + /*鐢熸垚鎶ュ憡*/ + generateReport(orderId); + break; } return 1; } - private void getTemplateThing - (Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) { + //鐢熸垚鎶ュ憡 + private void generateReport(Integer orderId) { + LocalDateTime now = LocalDateTime.now(); + 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()); + insReport.setInsOrderId(orderId); + List<Map<String, Object>> tables = new ArrayList<>(); + Set<String> standardMethod = new HashSet<>(); + Set<String> deviceSet = new HashSet<>(); + Set<String> models = new HashSet<>(); + AtomicReference<Integer> productSize = new AtomicReference<>(0); + String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; + AtomicReference<String> resultCh = new AtomicReference<>(""); + AtomicReference<String> resultEn = new AtomicReference<>(""); + /*鍩虹鎶ュ憡(7鍒�)*/ + samples.forEach(a -> { + Set<Integer> set = new HashSet<>(); + Map<Integer, String> map2 = new HashMap<>(); + Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, a.getId())); + productSize.set(productSize.get() + Integer.parseInt(productCount + "")); + models.add(a.getModel()); + standardMethod.add(baseMapper.getStandardMethodCode(a.getStandardMethodListId())); + getTemplateThing(set, map2, a.getInsProduct()); + for (InsProduct b : a.getInsProduct()) { + if (b.getInsProductResult() != null) { + List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class); + for (JSONObject jsonObject : jsonObjects) { + if (!"".equals(jsonObject.get("v") + "")) { + deviceSet.add(jsonObject.get("v") + ""); + } + } + } + } + AtomicInteger index = new AtomicInteger(); + Set<String> itemSet = new HashSet<>(); + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 3 + a.getInsProduct().size(); i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + if (i >= 2 && i < 2 + a.getInsProduct().size()) { + if (itemSet.add(a.getInsProduct().get(i - 2).getInspectionItem())) { + index.getAndIncrement(); + } + } + //鍒楁暟 + for (int j = 0; j < 7; 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 || j == 1) { + //绗竴鍒楀拰绗簩鍒� + textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2 || j == 3) { + //绗笁鍒楀拰绗洓鍒� + textRenderData.setText(a.getSampleCode() + "鈭�2"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("瑙勬牸鍨嬪彿@Type"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗叚鍒楀拰绗竷鍒� + textRenderData.setText(a.getModel() + "鈭�3"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } else if (i == 1) { + //绗簩琛� + if (j == 0) { + //绗竴鍒� + textRenderData.setText("搴忓彿@No."); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1 || j == 2) { + //绗簩鍒楀拰绗笁鍒� + textRenderData.setText("妫�娴嬮」鐩瓳Testing item鈭�4"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鍗曚綅@Unit"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("鏍囧噯瑕佹眰@Requirement"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("妫�楠岀粨鏋淍Test result"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗竷鍒� + textRenderData.setText("缁撹@Conclusion"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } else if (i == 2 + a.getInsProduct().size()) { + //鏈�鍚庝竴琛� + if (j == 0 || j == 1) { + //绗竴鍒楀拰绗簩鍒� + textRenderData.setText("澶囨敞鈭�5"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //鍏朵綑鍒� + textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆侤鈥溾垰鈥� indicates test item is qualified,鈥溍椻�� indicates test item is not qualified 鈭�6"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } else { + //鍏朵綑琛� + if (j == 0) { + //绗竴鍒� + textRenderData.setText(index + "鈭�2" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + if (ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getInspectionItemSubclass())) { + if (ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getInspectionItemEn())) { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItem() + "@" + a.getInsProduct().get(i - 2).getInspectionItemEn() + "鈭�3" + index); + } else { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItem() + "鈭�3" + index); + } + } else { + if (ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getInspectionItemEn())) { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItem() + "@" + a.getInsProduct().get(i - 2).getInspectionItemEn() + "鈭�3" + index); + } else { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItem() + "鈭�3" + index); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + if (ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getInspectionItemSubclass())) { + if (ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getInspectionItemSubclassEn())) { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItemSubclass() + "@" + a.getInsProduct().get(i - 2).getInspectionItemSubclassEn()); + } else { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItemSubclass()); + } + } else { + if (ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getInspectionItemEn())) { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItem() + "@" + a.getInsProduct().get(i - 2).getInspectionItemEn() + "鈭�3" + index); + } else { + textRenderData.setText(a.getInsProduct().get(i - 2).getInspectionItem() + "鈭�3" + index); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText(ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getUnit()) ? a.getInsProduct().get(i - 2).getUnit() : ""); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText(a.getInsProduct().get(i - 2).getTell()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText(a.getInsProduct().get(i - 2).getLastValue()); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗竷鍒� + if (a.getInsProduct().get(i - 2).getInsResult() == 0) { + textRenderData.setText("脳"); + } else if (a.getInsProduct().get(i - 2).getInsResult() == 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); + + List<TableRenderData> tables1 = new ArrayList<>(); + tableRenderData.setRows(new ArrayList<>()); + int totalHeight = 0; + int pageHeightLimit = 500; // 鍋囪姣忛〉鐨勯珮搴﹂檺鍒朵负500鍗曚綅 + int rowHeight = 0; + List<RowRenderData> firstTwoRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍� + List<RowRenderData> endRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍� + // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍� + if (rows.size() >= 3) { + firstTwoRows.add(rows.get(0)); + firstTwoRows.add(rows.get(1)); + endRows.add(rows.get(rows.size() - 1)); + } + for (RowRenderData row : rows) { + rowHeight = calculateRowHeight(row); // 鑷畾涔夋柟娉曡绠楄楂� + if (totalHeight + rowHeight > pageHeightLimit) { + tableRenderData.getRows().addAll(endRows); + // 鍒涘缓鏂拌〃鏍煎苟澶嶅埗鍓嶄袱琛� + TableRenderData newTableRenderData = new TableRenderData(); + newTableRenderData.setRows(new ArrayList<>(firstTwoRows)); + //璁剧疆鏍峰紡 + TableStyle tableStyle = new TableStyle(); + tableStyle.setColWidths(new int[]{650, 1600, 2000, 750, 2800, 1100, 1100}); + tableStyle.setWidth("10000"); + 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); + newTableRenderData.setTableStyle(tableStyle); + tables1.add(tableRenderData); + tableRenderData = newTableRenderData; + totalHeight = 0; + } + totalHeight += rowHeight; + tableRenderData.getRows().add(row); + } + if (!tableRenderData.getRows().isEmpty()) { + //璁剧疆鏍峰紡 + TableStyle tableStyle = new TableStyle(); + tableStyle.setColWidths(new int[]{650, 1600, 2000, 750, 2800, 1100, 1100}); + tableStyle.setWidth("10000"); + 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); + tables1.add(tableRenderData); + } + tables1.forEach(table -> { + Map<String, Object> tableMap = new HashMap<>(); + tableMap.put("table", table); + tableMap.put("report", insReport); + tables.add(tableMap); + }); + }); + + String url; + try { + 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) { + throw new RuntimeException(e); + } + StringBuilder standardMethod2 = new StringBuilder(); + for (String s : standardMethod) { + standardMethod2.append("銆�").append(s); + } + standardMethod2.replace(0, 1, ""); + tables.forEach(table -> { + table.put("tableSize", tables.size() + 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; + 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(user.get("company")); + Custom custom = customMapper.selectById(insOrder.getCompanyId()); + if (!resultCh.get().equals("")) { + resultCh.set("渚濇嵁濮旀墭瑕佹眰锛�" + resultCh.get().replaceFirst("銆�", "") + "绛夋墍妫�椤圭洰涓嶇鍚堣姹傦紝鍏朵綑鎵�妫�椤圭洰鍧囩鍚堣姹傘��"); + resultEn.set("According to commissioned requirements," + resultEn.get().replaceFirst("銆�", "") + " these inspected items do not meet the requirements, all other inspected items meet the requirements."); + } else { + resultCh.set("渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��"); + resultEn.set("According to commissioned requirements, all the tested items meet the requirements."); + } + + /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/ + 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; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("order", insOrder); + put("report", insReport); + put("environment", finalEnvironment); + put("custom", custom); + put("sampleSize", samples.size()); + put("tables", tables); + put("tableSize", tables.size() + 1); + put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2)); + put("deviceList", finalDeviceList); + put("twoCode", Pictures.ofLocal(codePath).create()); + put("models", finalModelStr.replace(",", "")); + put("productSize", productSize); + 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()); + put("resultCh", resultCh.get()); + put("resultEn", resultEn.get()); + }}); + try { + 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 { + 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(ParagraphAlignment.CENTER); + } + } + } + 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); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + 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); + } + } + + + // 璁$畻琛岄珮鐨勬柟娉� + private int calculateRowHeight(RowRenderData rowRenderData) { + // 瀹炵幇璁$畻閫昏緫锛屽彲鑳介渶瑕佹牴鎹崟鍏冩牸鍐呭鍜屽瓧浣撶瓑鍙傛暟杩涜璁$畻 + int height = 0; + for (CellRenderData cell : rowRenderData.getCells()) { + int cellHeight = estimateCellHeight(cell); // 鏍规嵁鍐呭浼扮畻鍗曞厓鏍奸珮搴� + if (cellHeight > height) { + height = cellHeight; + } + } + return height; + } + + //鏍规嵁鍗曞厓鏍肩殑鏂囨湰鍐呭璁$畻瀹為檯琛岄珮 + private int estimateCellHeight(CellRenderData cellRenderData) { + // 鍋囪榛樿琛岄珮鏄�40 + int defaultHeight = 40; + // 鑾峰彇鍗曞厓鏍间腑鐨勬墍鏈夋钀� + List<ParagraphRenderData> paragraphs = cellRenderData.getParagraphs(); + int estimatedHeight = 0; + // 閬嶅巻娈佃惤锛屼及绠楁瘡涓钀界殑楂樺害 + for (ParagraphRenderData paragraph : paragraphs) { + List<RenderData> contents = paragraph.getContents(); + for (RenderData content : contents) { + if (content instanceof TextRenderData) { + TextRenderData text = (TextRenderData) content; + Style style = text.getStyle(); + // 鍋囪姣忚鏂囨湰鐨勯珮搴︿负瀛椾綋澶у皬鐨�1.2鍊� + Double fontSize = Objects.isNull(style.getFontSize()) ? 12.0 : style.getFontSize(); + int lines = (int) Math.ceil(text.getText().length() / 15.0); // 鍋囪姣忚绾�15涓瓧绗� + int textHeight = (int) (fontSize * 1.2 * lines); + // 绱姞娈佃惤鐨勯珮搴� + estimatedHeight += textHeight; + } + } + } + // 杩斿洖鏈�澶у�硷紝纭繚楂樺害涓嶄綆浜庨粯璁ら珮搴� + return Math.max(estimatedHeight, defaultHeight); + } + + 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<>()); @@ -4569,50 +1641,19 @@ String str = ""; int count = 0; for (InsProduct product : insProducts) { - //濡傛灉鏄厜缂嗙殑娓╁害寰幆 - 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.setLastValue("涓嶅悎鏍�"); - product.setInsResult(0); - } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) { - product.setLastValue("鍚堟牸"); - product.setInsResult(1); - } - insProductMapper.updateById(product); - } - //濡傛灉鏄儹寰幆鎴栬�呮槸娓╁崌璇曢獙 - else if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")) { - //鏌ヨ杩欎簺椤圭洰涓嬬殑鍏朵粬妫�楠岄」鐩槸鍚﹀叏閮ㄦ楠� - List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, product.getInsSampleId()) - .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.setLastValue("涓嶅悎鏍�"); - product.setInsResult(0); - } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) { - product.setLastValue("鍚堟牸"); - product.setInsResult(1); - } - insProductMapper.updateById(product); - } else { - count++; - str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>"; - } + count++; + str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>"; } if (ObjectUtils.isNotEmpty(str)) { throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str); } } - insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 3).set(InsOrderState::getVerifyUser, verifyUser)); + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getLaboratory, laboratory) + .set(InsOrderState::getInsTime, LocalDateTime.now()) + .set(InsOrderState::getInsState, 3) + .set(InsOrderState::getVerifyUser, verifyUser)); Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); InformationNotification info = new InformationNotification(); info.setCreateUser(insProductMapper.selectUserById(userId).get("name")); @@ -4631,6 +1672,11 @@ insSampleUser.setState(1); insSampleUser.setSonLaboratory(laboratory); insSampleUserMapper.insert(insSampleUser); + /*濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃*/ + InsOrder insOrder = insOrderMapper.selectById(orderId); + if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) { + verifyPlan(orderId, laboratory, 1, null); + } /*鏍¢獙涓�涓媟esult琛�*/ CompletableFuture.supplyAsync(() -> { List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); -- Gitblit v1.9.3