Zimo пре 1 недеља
родитељ
комит
b57c1648de

+ 41 - 35
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/order/IotInspectOrderController.java

@@ -58,6 +58,7 @@ import javax.validation.Valid;
 import java.io.IOException;
 import java.time.ZoneId;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
@@ -216,23 +217,26 @@ public class IotInspectOrderController {
     @PreAuthorize("@ss.hasPermission('rq:iot-inspect-order:query')")
     public CommonResult<PageResult<IotInspectOrderRespVO>> getIotInspectOrderPage(@Valid IotInspectOrderPageReqVO pageReqVO) {
         PageResult<IotInspectOrderDO> pageResult = iotInspectOrderService.getIotInspectOrderPage(pageReqVO);
-//        List<IotInspectOrderRespVO> collect = pageResult.getList().stream().map(e -> {
-            //            BeanUtils.copyProperties(e, iotInspectOrderRespVO);
-//            List<IotInspectOrderDetailDO> details = iotInspectOrderDetailMapper.selectList("order_id", e.getId());
-//            long deviceCount = details.stream().map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
-//            long exceptionCount = details.stream().filter(f -> Objects.nonNull(f.getIfNormal()) && !f.getIfNormal()).map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
-//            Map<Long, List<IotInspectOrderDetailDO>> collect1 = details.stream().collect(Collectors.groupingBy(IotInspectOrderDetailDO::getDeviceId));
-//            AtomicInteger needDevice = new AtomicInteger();
-//            collect1.forEach((k, v) -> {
-//                if (v.stream().anyMatch(gg -> Objects.isNull(gg.getIfNormal()))){
-//                    needDevice.getAndIncrement();
-//                }
-//            });
-//            iotInspectOrderRespVO.setDeviceCount(deviceCount);
-//            iotInspectOrderRespVO.setExceptionCount(exceptionCount);
-//            iotInspectOrderRespVO.setNeedDevice(needDevice.get());
-//            return new IotInspectOrderRespVO();
-//        }).collect(Collectors.toList());
+        List<IotInspectOrderRespVO> collect = pageResult.getList().stream().map(e -> {
+            IotInspectOrderRespVO iotInspectOrderRespVO = new IotInspectOrderRespVO();
+            BeanUtils.copyProperties(e, iotInspectOrderRespVO);
+            if (Objects.isNull(e.getDeviceCount())) {
+                List<IotInspectOrderDetailDO> details = iotInspectOrderDetailMapper.selectList("order_id", e.getId());
+                long deviceCount = details.stream().map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
+                long exceptionCount = details.stream().filter(f -> Objects.nonNull(f.getIfNormal()) && !f.getIfNormal()).map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
+                Map<Long, List<IotInspectOrderDetailDO>> collect1 = details.stream().collect(Collectors.groupingBy(IotInspectOrderDetailDO::getDeviceId));
+                AtomicInteger needDevice = new AtomicInteger();
+                collect1.forEach((k, v) -> {
+                    if (v.stream().anyMatch(gg -> Objects.isNull(gg.getIfNormal()))){
+                        needDevice.getAndIncrement();
+                    }
+                });
+                iotInspectOrderRespVO.setDeviceCount(deviceCount);
+                iotInspectOrderRespVO.setExceptionCount(exceptionCount);
+                iotInspectOrderRespVO.setNeedDevice(needDevice.get());
+            }
+            return new IotInspectOrderRespVO();
+        }).collect(Collectors.toList());
         return success(BeanUtils.toBean(pageResult, IotInspectOrderRespVO.class));
     }
 
@@ -241,24 +245,26 @@ public class IotInspectOrderController {
     @PreAuthorize("@ss.hasPermission('rq:iot-inspect-order:query')")
     public CommonResult<PageResult<IotInspectOrderRespVO>> getIotInspectOrderPageApp(@Valid IotInspectOrderPageReqVO pageReqVO) {
         PageResult<IotInspectOrderDO> pageResult = iotInspectOrderService.getIotInspectOrderPageApp(pageReqVO);
-//        List<IotInspectOrderRespVO> collect = pageResult.getList().stream().map(e -> {
-//            IotInspectOrderRespVO iotInspectOrderRespVO = new IotInspectOrderRespVO();
-//            BeanUtils.copyProperties(e, iotInspectOrderRespVO);
-//            List<IotInspectOrderDetailDO> details = iotInspectOrderDetailMapper.selectList("order_id", e.getId());
-//            long deviceCount = details.stream().map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
-//            long exceptionCount = details.stream().filter(f -> Objects.nonNull(f.getIfNormal()) && !f.getIfNormal()).map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
-//            Map<Long, List<IotInspectOrderDetailDO>> collect1 = details.stream().collect(Collectors.groupingBy(IotInspectOrderDetailDO::getDeviceId));
-//            AtomicInteger needDevice = new AtomicInteger();
-//            collect1.forEach((k, v) -> {
-//                if (v.stream().anyMatch(gg -> Objects.isNull(gg.getIfNormal()))){
-//                    needDevice.getAndIncrement();
-//                }
-//            });
-//            iotInspectOrderRespVO.setDeviceCount(deviceCount);
-//            iotInspectOrderRespVO.setExceptionCount(exceptionCount);
-//            iotInspectOrderRespVO.setNeedDevice(needDevice.get());
-//            return iotInspectOrderRespVO;
-//        }).collect(Collectors.toList());
+        List<IotInspectOrderRespVO> collect = pageResult.getList().stream().map(e -> {
+            IotInspectOrderRespVO iotInspectOrderRespVO = new IotInspectOrderRespVO();
+            BeanUtils.copyProperties(e, iotInspectOrderRespVO);
+            if (Objects.isNull(e.getDeviceCount())) {
+                List<IotInspectOrderDetailDO> details = iotInspectOrderDetailMapper.selectList("order_id", e.getId());
+                long deviceCount = details.stream().map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
+                long exceptionCount = details.stream().filter(f -> Objects.nonNull(f.getIfNormal()) && !f.getIfNormal()).map(IotInspectOrderDetailDO::getDeviceId).distinct().count();
+                Map<Long, List<IotInspectOrderDetailDO>> collect1 = details.stream().collect(Collectors.groupingBy(IotInspectOrderDetailDO::getDeviceId));
+                AtomicInteger needDevice = new AtomicInteger();
+                collect1.forEach((k, v) -> {
+                    if (v.stream().anyMatch(gg -> Objects.isNull(gg.getIfNormal()))){
+                        needDevice.getAndIncrement();
+                    }
+                });
+                iotInspectOrderRespVO.setDeviceCount(deviceCount);
+                iotInspectOrderRespVO.setExceptionCount(exceptionCount);
+                iotInspectOrderRespVO.setNeedDevice(needDevice.get());
+            }
+            return iotInspectOrderRespVO;
+        }).collect(Collectors.toList());
         return success(BeanUtils.toBean(pageResult, IotInspectOrderRespVO.class));
     }