| | |
| | | SgDeviceDO sgDeviceDO = new SgDeviceDO(); |
| | | sgDeviceDO.setId(dId); |
| | | sgDeviceDO.setDeviceName(deList.get(0).getDeviceName()); |
| | | sgDeviceDO.setStatus( deList.get(0).getDeviceStatus()); |
| | | List<SgGxStepDO> stepDOS = deList.stream().filter(s->s.getReportStatus()==null || s.getReportStatus()!=4).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()); |
| | |
| | | stepOverSize = BigDecimal.valueOf(stepOver.size()); |
| | | } |
| | | BigDecimal divide = stepOverSize.divide(stepSize, 2, RoundingMode.HALF_UP); |
| | | sgDeviceDO.setStatus(divide.compareTo(new BigDecimal(1)) == 0?2:deList.get(0).getDeviceStatus()); |
| | | sgDeviceDO.setProgress(divide.toString()); |
| | | sgDeviceDO.setDeviceProgress(getBigDecimalPercent(divide)); |
| | | sgDeviceDO.setStepDOList(stepDOS); |