diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/service/impl/ImsDutyMainServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/service/impl/ImsDutyMainServiceImpl.java index 69507d9..94e9967 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/service/impl/ImsDutyMainServiceImpl.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/service/impl/ImsDutyMainServiceImpl.java @@ -1125,25 +1125,35 @@ public class ImsDutyMainServiceImpl extends ServiceImpl collect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getId())).collect(Collectors.toList()); + if(CollectionUtil.isEmpty(collect)){ + continue; + } List troubleRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(collect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); DutyRunReportVO troubleRunReport = troubleRunReportList.get(0); troubleRunReport.setDelayChangeShifts(troubleRunReport.getDelayChangeShifts()+1); }else if (rec.getDelayStatus().equals(HAND_DELAY_STATUS.getStatus())) { //如果是交班延迟,算当前的班组+1 List handerCollect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getPreDutyId())).collect(Collectors.toList()); + if(CollectionUtil.isEmpty(handerCollect)){ + continue; + } List handerRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(handerCollect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); DutyRunReportVO handerRunRepor = handerRunReportList.get(0); handerRunRepor.setDelayChangeShifts(handerRunRepor.getDelayChangeShifts()+1); }else { //交接班延迟,交接班组都+1 List collect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getId())).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(collect)){ List troubleRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(collect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); DutyRunReportVO troubleRunReport = troubleRunReportList.get(0); troubleRunReport.setDelayChangeShifts(troubleRunReport.getDelayChangeShifts()+1); + } List handerCollect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getPreDutyId())).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(handerCollect)){ List handerRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(handerCollect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); DutyRunReportVO handerRunRepor = handerRunReportList.get(0); handerRunRepor.setDelayChangeShifts(handerRunRepor.getDelayChangeShifts()+1); + } } } } @@ -1152,25 +1162,35 @@ public class ImsDutyMainServiceImpl extends ServiceImpl collect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getId())).collect(Collectors.toList()); + if(CollectionUtil.isEmpty(collect)){ + continue; + } List troubleRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(collect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); DutyRunReportVO troubleRunReport = troubleRunReportList.get(0); troubleRunReport.setExceptionChangeShifts(troubleRunReport.getExceptionChangeShifts()+1); }else if (rec.getDelayStatus().equals(HAND_DELAY_STATUS.getStatus())) { //如果是交班延迟,算当前的班组+1 List handerCollect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getPreDutyId())).collect(Collectors.toList()); + if(CollectionUtil.isEmpty(handerCollect)){ + continue; + } List handerRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(handerCollect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); DutyRunReportVO handerRunRepor = handerRunReportList.get(0); handerRunRepor.setExceptionChangeShifts(handerRunRepor.getExceptionChangeShifts()+1); }else { //交接班延迟,交接班组都+1 List collect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getId())).collect(Collectors.toList()); - List troubleRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(collect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); - DutyRunReportVO troubleRunReport = troubleRunReportList.get(0); - troubleRunReport.setExceptionChangeShifts(troubleRunReport.getExceptionChangeShifts()+1); + if(CollectionUtil.isNotEmpty(collect)) { + List troubleRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(collect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); + DutyRunReportVO troubleRunReport = troubleRunReportList.get(0); + troubleRunReport.setExceptionChangeShifts(troubleRunReport.getExceptionChangeShifts() + 1); + } List handerCollect = imsDutyMainEntityList.stream().filter(s -> rec.getDutyId().equals(s.getPreDutyId())).collect(Collectors.toList()); - List handerRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(handerCollect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); - DutyRunReportVO handerRunRepor = handerRunReportList.get(0); - handerRunRepor.setExceptionChangeShifts(handerRunRepor.getExceptionChangeShifts()+1); + if(CollectionUtil.isNotEmpty(handerCollect)) { + List handerRunReportList = dutyReportVOList.stream().filter(s -> s.getGroupId().equals(handerCollect.get(0).getDutyGroupId().toString())).collect(Collectors.toList()); + DutyRunReportVO handerRunRepor = handerRunReportList.get(0); + handerRunRepor.setExceptionChangeShifts(handerRunRepor.getExceptionChangeShifts() + 1); + } } } } diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/report/service/impl/MonthReportServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/report/service/impl/MonthReportServiceImpl.java index 56b8cbc..4b94cc2 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/report/service/impl/MonthReportServiceImpl.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/report/service/impl/MonthReportServiceImpl.java @@ -34,69 +34,80 @@ import java.util.List; @Slf4j public class MonthReportServiceImpl extends ServiceImpl implements IMonthReportService { - private final IOperPersonalMonthReportService operPersonalMonthReportService; - private final IOperStationMonthReportService operStationMonthReportService; - private final ISysClient sysClient; + private final IOperPersonalMonthReportService operPersonalMonthReportService; + private final IOperStationMonthReportService operStationMonthReportService; + private final ISysClient sysClient; - @Override - public StationRunReportAllVO getStationMonthReportByStationCode(Long deptId, String month) throws Exception { - StationRunReportAllVO stationReportAllVO = new StationRunReportAllVO(); - Dept dept = sysClient.getDept(deptId).getData(); - OperMonthReportEntity operMonthReportEntity = this.getOne(new LambdaQueryWrapper(){{ - eq(OperMonthReportEntity::getMonth,month); - eq(OperMonthReportEntity::getStationCode, dept.getId()); - eq(OperMonthReportEntity::getIsDeleted, 0); - orderByDesc(OperMonthReportEntity::getObject); - last("limit 1;"); - }}); - //查询实时数据 - if(ObjectUtil.isEmpty(operMonthReportEntity)){ - stationReportAllVO = operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(dept, DeptVO.class)); - } - //历史查询定时任务生成的数据 - else{ - stationReportAllVO = ObjectUtil.isNotEmpty(operMonthReportEntity) ? (StationRunReportAllVO) ObjectHelper.byte2obj(operMonthReportEntity.getObject()) - : operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(dept, DeptVO.class)); - } - return stationReportAllVO; - } + @Override + public StationRunReportAllVO getStationMonthReportByStationCode(Long deptId, String month) throws Exception { + StationRunReportAllVO stationReportAllVO = new StationRunReportAllVO(); + Dept dept = sysClient.getDept(deptId).getData(); + OperMonthReportEntity operMonthReportEntity = this.getOne(new LambdaQueryWrapper() {{ + eq(OperMonthReportEntity::getMonth, month); + eq(OperMonthReportEntity::getStationCode, dept.getId()); + eq(OperMonthReportEntity::getIsDeleted, 0); + orderByDesc(OperMonthReportEntity::getCreateTime); + last("limit 1;"); + }}); + //查询实时数据 + if (ObjectUtil.isEmpty(operMonthReportEntity)) { + stationReportAllVO = operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(dept, DeptVO.class)); + if (ObjectUtil.isNotEmpty(stationReportAllVO)) { + OperMonthReportEntity saved = new OperMonthReportEntity(); + saved.setMonth(month); + saved.setType(DictConstant.MONTH_REPORT_STATION); + saved.setCreateDept(deptId); + saved.setStationCode(deptId.toString()); + try { + saved.setObject(ObjectHelper.obj2byte(stationReportAllVO)); + } catch (IOException e) { + log.error("生成统计月报失败{}", e.toString()); + e.printStackTrace(); + } + //修改为每运行一次,保存一次 + this.save(operMonthReportEntity); + } + } + //历史查询定时任务生成的数据 + else { + stationReportAllVO = ObjectUtil.isNotEmpty(operMonthReportEntity) ? (StationRunReportAllVO) ObjectHelper.byte2obj(operMonthReportEntity.getObject()) + : operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(dept, DeptVO.class)); + } + return stationReportAllVO; + } - @Override - public void setStationMonthReportByStationCode(Long deptId, String month){ - Dept deptVO = sysClient.getDept(deptId).getData(); - log.info("---{}机构---",deptVO.getDeptName()); - //查询该电站该月报是否已生成月报 - OperMonthReportEntity operMonthReportEntityByMonth = this.getOne(new LambdaQueryWrapper() {{ - eq(OperMonthReportEntity::getMonth, month); - eq(OperMonthReportEntity::getType, DictConstant.MONTH_REPORT_STATION); - eq(OperMonthReportEntity::getStationCode, deptVO.getId()); - eq(OperMonthReportEntity::getIsDeleted, 0); - last("limit 1;"); - }}); - - if (ObjectUtil.isEmpty(operMonthReportEntityByMonth)||month.equals(YearMonth.now().toString())) { - if (ObjectUtil.isNotEmpty(operMonthReportEntityByMonth)){ - this.removeById(operMonthReportEntityByMonth.getId()); - } - //按站点生成各电站运维月报 - StationRunReportAllVO stationReportAllVO = operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(deptVO, DeptVO.class)); - if (ObjectUtil.isNotEmpty(stationReportAllVO)) { - OperMonthReportEntity operMonthReportEntity = new OperMonthReportEntity(); - operMonthReportEntity.setMonth(month); - operMonthReportEntity.setType(DictConstant.MONTH_REPORT_STATION); - operMonthReportEntity.setCreateDept(deptVO.getId()); - operMonthReportEntity.setStationCode(deptVO.getId().toString()); - try { - operMonthReportEntity.setObject(ObjectHelper.obj2byte(stationReportAllVO)); - } catch (IOException e) { - e.printStackTrace(); - } - //修改为每运行一次,保存一次 - this.save(operMonthReportEntity); - } - } else { - log.info("该月{}已生成月报", deptVO.getDeptName()); - } - } + @Override + public void setStationMonthReportByStationCode(Long deptId, String month) { + Dept deptVO = sysClient.getDept(deptId).getData(); + log.info("---{}机构---", deptVO.getDeptName()); + //查询该电站该月报是否已生成月报 + OperMonthReportEntity operMonthReportEntityByMonth = this.getOne(new LambdaQueryWrapper() {{ + eq(OperMonthReportEntity::getMonth, month); + eq(OperMonthReportEntity::getType, DictConstant.MONTH_REPORT_STATION); + eq(OperMonthReportEntity::getStationCode, deptVO.getId()); + eq(OperMonthReportEntity::getIsDeleted, 0); + last("limit 1;"); + }}); + if (ObjectUtil.isNotEmpty(operMonthReportEntityByMonth)) { + this.removeById(operMonthReportEntityByMonth.getId()); + } + //按站点生成各电站运维月报 + StationRunReportAllVO stationReportAllVO = operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(deptVO, DeptVO.class)); + if (ObjectUtil.isNotEmpty(stationReportAllVO)) { + OperMonthReportEntity operMonthReportEntity = new OperMonthReportEntity(); + operMonthReportEntity.setMonth(month); + operMonthReportEntity.setType(DictConstant.MONTH_REPORT_STATION); + operMonthReportEntity.setCreateDept(deptVO.getId()); + operMonthReportEntity.setStationCode(deptVO.getId().toString()); + try { + operMonthReportEntity.setObject(ObjectHelper.obj2byte(stationReportAllVO)); + } catch (IOException e) { + log.error("生成统计月报失败{}", e.toString()); + e.printStackTrace(); + } + //修改为每运行一次,保存一次 + this.save(operMonthReportEntity); + } + } }