// 新增或修改过后的信息 BusSampleReport report = reportList.stream().filter(r -> r.getSampleId().equals(sm.getId())).findFirst().get(); BusSampleItemTest test = testList.stream().filter(r -> r.getSampleId().equals(sm.getId())).findFirst().get(); BusSampleItem item = itemList.stream().filter(r -> (r.getSampleId().equals(sm.getId()) && r.getId().equals(test.getItemId()))).findFirst().get(); List<BusSampleReport> currNewReports = new ArrayList<>(); Map<String, String> map = reportNum.stream().filter(m -> sm.getId().equals(Func.toLong(m.get("sampleId")))).findFirst().orElse(null); if (map == null) { // 新增的样品 createNewData(dto, sm, sm.getTotalQuantity(), 0, report, item, test, currNewReports, newItems, newTests); // 用于检测信息录入,包信息展示 int noLength = Integer.parseInt(currNewReports.get(0).getReportNo().substring(currNewReports.get(0).getReportNo().length() - 6)) - 1; busSampleAttrService.update(Wrappers.<BusSampleAttr>lambdaUpdate() .eq(BusSampleAttr::getId, sm.getId()) .set(BusSampleAttr::getReportNumber, currNewReports.get(0).getReportNo() + "~" + (noLength + sm.getTotalQuantity()))); 这里的代码没有获取到吗
时间: 2023-12-03 12:04:25 浏览: 79
根据你提供的代码,`createNewData` 方法中的 `report`、`test` 和 `item` 对象是从 `reportList`、`testList` 和 `itemList` 中获取的,它们与 `sm.getId()` 和其他条件进行了匹配。因此,你已经成功地获取了相关的数据。
在接下来的代码中,你创建了一个名为 `currNewReports` 的列表,并调用了 `createNewData` 方法,将数据添加到 `currNewReports`、`newItems` 和 `newTests` 中。
所以,根据你提供的代码,是成功获取了相关的数据,并将其用于后续逻辑。如果你还有其他问题,请随时提问。
相关问题
List<BusFlowDetail> lastFlows = busFlowDetailService.list(Wrappers.<BusFlowDetail>query() .in("bus_id", reportIds).eq("is_last", Common.YES) .eq("bus_type", BusTypeEnum.REPORT.getValue())); List<BusFlowDetail> noADUITflows = lastFlows.stream().filter(f -> !OperatorTypeEnum.APPROVE.getValue().equals(f.getOperatorType())).collect(Collectors.toList()); if(CollectionUtil.isNotEmpty(noADUITflows)) { return true; } 对此代码做出解释
这段代码的作用是查询数据库中符合一定条件的BusFlowDetail对象,并进行处理判断。具体解释如下:
1. 首先,通过调用`busFlowDetailService.list()`方法查询数据库中符合条件的BusFlowDetail对象,查询条件如下:
- `bus_id`字段在`reportIds`列表中
- `is_last`字段等于`Common.YES`
- `bus_type`字段等于`BusTypeEnum.REPORT.getValue()`
2. 查询结果会被存储在`lastFlows`列表中。
3. 接下来,通过使用Java 8中的Stream API对`lastFlows`列表进行过滤操作。使用`filter()`方法,只保留满足条件的BusFlowDetail对象,条件为`!OperatorTypeEnum.APPROVE.getValue().equals(f.getOperatorType())`,即`operatorType`字段不等于`OperatorTypeEnum.APPROVE.getValue()`。
4. 过滤结果将被存储在`noADUITflows`列表中。
5. 最后,通过判断`noADUITflows`列表是否不为空,如果不为空,则返回`true`。
总体来说,这段代码的作用是判断数据库中是否存在满足特定条件的BusFlowDetail对象,并根据结果返回一个布尔值。
list.stream().filter
list.stream().filter是Java 8中对集合进行过滤操作的一种方法。通过使用filter方法,我们可以根据指定的条件筛选集合中的元素,只保留符合条件的元素。
例如,我们可以使用filter方法来查找集合中符合某个条件的第一个对象。代码示例为:
```
Optional<Object> first = ObjectList.stream()
.filter(a -> "hanmeimei".equals(a.getUserName()))
.findFirst();
```
该代码将返回集合中名字为"hanmeimei"的第一个对象。
另外,我们还可以使用filter方法返回符合查询条件的元素集合。例如,要筛选出集合中所有名字为空的对象,可以使用以下代码:
```
List<Object> firstObject = ObjectList.stream()
.filter(a -> StringUtils.isEmpty(a.getUserName()))
.collect(Collectors.toList());
```
这段代码将返回一个包含所有名字为空的对象的集合。
总结来说,list.stream().filter方法是用来对集合进行过滤操作的。我们可以根据条件筛选出符合要求的元素,或者直接获取符合条件的第一个元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [利用JDK8 stream filter遍历组装树](https://download.csdn.net/download/lkf728/85195218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [list.stream.filter常用方式 (转载)](https://blog.csdn.net/qq_41837249/article/details/122840084)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [list.stream.filter常用方式](https://blog.csdn.net/hunheidaode/article/details/103269285)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文