From b311c61c729f02db40dfa51dbfe81892112535b1 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 23 十月 2024 09:57:04 +0800 Subject: [PATCH] 关于修改可靠性产品重复 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java | 40 ++++++++++++++++++++++++++++++---------- 1 files changed, 30 insertions(+), 10 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java index f9a0192..d0f96b8 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java @@ -70,7 +70,7 @@ } public List<XhProductModel> getAllTree(Boolean showXdy, Integer ztShow, Long productId) { - List<XhProductModel> productList = null; + List<XhProductModel> productList = new ArrayList<>(); if (showXdy) { if (productId != null) { productList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE, @@ -102,8 +102,29 @@ productList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE, Constant.Bool.NO).lt("product_type", 5).ne("product_type", 1).and(wrapper -> wrapper.eq("ship_id", productId).or().eq("id", productId)).orderByAsc(Constant.TableColumn.SORT)); } else if (ztShow == 5) { - productList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE, - Constant.Bool.NO).gt("product_type", 1).and(wrapper -> wrapper.eq("ship_id", productId).or().eq("id", productId)).orderByAsc(Constant.TableColumn.SORT)); + List<XhProductModel> dbList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE, + Constant.Bool.NO).gt("product_type", 1).and(wrapper -> wrapper.eq("ship_id", productId).or().eq("id", productId))); + for (XhProductModel row : dbList) { + if (row.getSameSbNum() > 1) { + for (int i = 1; i <= row.getSameSbNum(); i++) { + try { + XhProductModel newRow = row.clone(); + newRow.setDeviceNo(i); + newRow.setName(row.getName() + "-" + i); + newRow.setDataId(row.getId().toString() + "-" + i); + productList.add(newRow); + } catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + } + } else { + row.setDeviceNo(0); + row.setDataId(row.getId().toString()); + productList.add(row); + } + } + productList.sort(Comparator.comparing(XhProductModel::getSort, Comparator.naturalOrder()) + .thenComparing(XhProductModel::getDeviceNo, Comparator.naturalOrder())); } } } @@ -329,7 +350,7 @@ xhProductModel.setPid(curFxtId == null ? curXtId : curFxtId); xhProductModel.setId(curSbId); xhProductModel.setName(sb); - //xhProductModel.setSameSbName(sameSbName); + xhProductModel.setSameSbNum(sameSbNum); xhProductModel.setEquipType(equipType); xhProductModel.setProductType("5"); xhProductModel.setSort(Integer.valueOf(sort)); @@ -423,7 +444,7 @@ List<ProductDto> data = baseDao.getProductByShip(shipId); data = TreeUtils.build(data); List<ProductDto> List = new ArrayList<>(); - this.writeExcel(data, List); + this.writeList(data, List); // 璇诲彇妯℃澘鏂囦欢 try (InputStream inputStream = getClass().getResourceAsStream("/浜у搧缁撴瀯鏍戝鍑烘ā鏉�.xlsx")) { Workbook workbook = new XSSFWorkbook(inputStream); @@ -470,9 +491,8 @@ } } cell = row.createCell(4); - if (StringUtils.isNotBlank(List.get(i).getSameSbName())) { - cell.setCellValue(List.get(i).getSameSbName()); - } + cell.setCellValue(List.get(i).getSameSbNum()); + cell = row.createCell(5); if (StringUtils.isNotBlank(List.get(i).getEquipType())) { cell.setCellValue(List.get(i).getEquipType()); @@ -555,10 +575,10 @@ } - private void writeExcel(List<ProductDto> data, List<ProductDto> List) { + private void writeList(List<ProductDto> data, List<ProductDto> List) { for (ProductDto dto : data) { List.add(dto); - writeExcel(dto.getChildren(), List); + writeList(dto.getChildren(), List); } } } -- Gitblit v1.9.1