| | |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; |
| | | import com.sandu.ximon.admin.utils.TaskOrderUtil; |
| | | import com.sandu.ximon.dao.bo.LightTaskPoleRelationBo; |
| | | import com.sandu.ximon.dao.bo.LightTaskStatusAndPole; |
| | | import com.sandu.ximon.dao.domain.LightEnergyData; |
| | | import com.sandu.ximon.dao.domain.LightTask; |
| | |
| | | import com.sandu.ximon.dao.enums.DeviceRespStatusEnums; |
| | | import com.sandu.ximon.dao.enums.OrderByEnums; |
| | | import com.sandu.ximon.dao.mapper.LightTaskMapper; |
| | | import com.sandu.ximon.dao.mapper.LightTaskPoleRelationMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | */ |
| | | public void energy() { |
| | | List<LightTask> lightTasks = list(Wrappers.lambdaQuery(LightTask.class)); |
| | | for (LightTask lightTask : lightTasks) { |
| | | List<LightTaskPoleRelation> list = SpringContextHolder.getBean(LightTaskPoleRelationService.class).list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getTaskId, lightTask.getTaskId())); |
| | | |
| | | List<Long> taskIdList = new ArrayList<>(); |
| | | for (LightTask bean : lightTasks) { |
| | | taskIdList.add(bean.getTaskId()); |
| | | } |
| | | if (taskIdList.size() != 0) { |
| | | List<LightTaskPoleRelationBo> list = SpringContextHolder.getBean(LightTaskPoleRelationMapper.class).test(taskIdList); |
| | | for (LightTaskPoleRelationBo bean : list) { |
| | | |
| | | LightTaskDto lightTaskDto = new LightTaskDto(); |
| | | BeanUtils.copyProperties(lightTask, lightTaskDto); |
| | | lightTaskDto.setWeekList(TaskOrderUtil.parseLightWeek2List(lightTask.getWeek())); |
| | | |
| | | BigDecimal energySaving = SpringContextHolder.getBean(LightService.class).jisuan(lightTaskDto); |
| | | BigDecimal energy = SpringContextHolder.getBean(LightService.class).jisuanEnergy(lightTaskDto); |
| | | |
| | | //TODO |
| | | BeanUtils.copyProperties(bean, lightTaskDto); |
| | | lightTaskDto.setWeekList(TaskOrderUtil.parseLightWeek2List(bean.getWeek())); |
| | | BigDecimal energySaving; |
| | | BigDecimal energy; |
| | | //获取昨天的星期数 |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | LocalDateTime yesterday = now.minusDays(1); |
| | | int week = yesterday.getDayOfWeek().getValue(); |
| | | if (!list.isEmpty()) { |
| | | //有绑定灯杆 进行计算 |
| | | if (lightTaskDto.getWeekList().contains(week)) { |
| | | //任务有该星期数 计算 |
| | | energySaving = SpringContextHolder.getBean(LightService.class).jisuan(lightTaskDto); |
| | | energy = SpringContextHolder.getBean(LightService.class).jisuanEnergy(lightTaskDto); |
| | | } else { |
| | | //任务无该星期数 返回 |
| | | energySaving = new BigDecimal(1); |
| | | energy = BigDecimal.ZERO; |
| | | } |
| | | for (int i = 0; i < list.size(); i++) { |
| | | LightTaskPoleRelation relation = list.get(i); |
| | | if (relation.getIssueStatus() != 0) { |
| | | //任务下发失败 返回 |
| | | energySaving = new BigDecimal(1); |
| | | energy = BigDecimal.ZERO; |
| | | } |
| | | } |
| | | } else { |
| | | //未绑定灯杆 直接返回 |
| | | energySaving = new BigDecimal(1); |
| | | energy = BigDecimal.ZERO; |
| | | } |
| | | |
| | | /** |
| | | * 存储数据 |
| | | */ |
| | | |
| | | LightEnergyData lightEnergyData = new LightEnergyData(); |
| | | lightEnergyData.setTaskId(lightTask.getTaskId()); |
| | | lightEnergyData.setTaskId(bean.getTaskId()); |
| | | lightEnergyData.setYtdTime(yesterday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | lightEnergyData.setEnergySaving(energySaving); |
| | | lightEnergyData.setEnergy(energy); |
| | | lightEnergyData.setUserId(lightTask.getUserId()); |
| | | lightEnergyData.setClientId(lightTask.getClientId()); |
| | | |
| | | lightEnergyData.setUserId(bean.getUserId()); |
| | | lightEnergyData.setClientId(bean.getClientId()); |
| | | lightEnergyData.setPoleId(bean.getPoleId()); |
| | | //保存能耗数据到数据库 |
| | | lightEnergyDataService.save(lightEnergyData); |
| | | |
| | | System.out.println(lightEnergyData + "---------------"); |
| | | //ID 任务id |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |