| | |
| | | SgDeviceDO sgDeviceDO = new SgDeviceDO(); |
| | | sgDeviceDO.setId(dId); |
| | | sgDeviceDO.setDeviceName(deList.get(0).getDeviceName()); |
| | | sgDeviceDO.setPrice(deList.get(0).getPrice()); |
| | | List<SgGxStepDO> stepDOS = deList.stream().filter(s -> s.getReportStatus() == null || (s.getReportStatus() != 4 && !(s.getReportStatus() == 3 && s.getResubmit() != 0))).map(s -> SgGxStepDO.builder().id(s.getStepId()).gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).deviceId(s.getDId()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList()); |
| | | List<SgGxStepDO> stepOver = stepDOS.stream().filter(s -> s.getApprovalStatus() != null && s.getApprovalStatus() == 2).collect(Collectors.toList()); |
| | | BigDecimal stepSize = BigDecimal.valueOf(stepDOS.size()); |
| | |
| | | double sum = deviceDOS.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum(); |
| | | BigDecimal deviceOver = BigDecimal.valueOf(sum); |
| | | BigDecimal divideDevice = deviceOver.divide(deviceSize, 2, RoundingMode.HALF_UP); |
| | | typeVO.setDeviceDOS(deviceDOS); |
| | | List<SgDeviceDO> sortDeviceDOs = deviceDOS.stream().sorted(Comparator.comparing(SgDeviceDO::getPrice)).collect(Collectors.toList()); |
| | | typeVO.setDeviceDOS(sortDeviceDOs); |
| | | typeVO.setTypeProgress(getBigDecimalPercent(divideDevice)); |
| | | typeVO.setProgress(divideDevice.toString()); |
| | | sgGxDOS.add(typeVO); |