| | |
| | | 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.admin.vo.ControlLightCommandVO; |
| | | 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.domain.LightTaskPoleRelation; |
| | | import com.sandu.ximon.dao.domain.Pole; |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | private final LightTaskPoleRelationService lightTaskPoleRelationService; |
| | | private final LightTaskMapper lightTaskMapper; |
| | | private final ClientService clientService; |
| | | private final LightEnergyDataService lightEnergyDataService; |
| | | |
| | | /** |
| | | * 新增路灯任务 |
| | |
| | | ); |
| | | //修改灯杆任务绑定关系表 |
| | | for (LightTaskPoleRelation bean : lightTaskPoleRelationList) { |
| | | LightTaskPoleRelation one = lightTaskPoleRelationService.getOne(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getPoleId, bean.getPoleId())); |
| | | |
| | | //成功才修改,失败不变 |
| | | if (bean.getIssueStatus() == 0) { |
| | | |
| | | LightTaskPoleRelation one = lightTaskPoleRelationService.getOne(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getPoleId, bean.getPoleId())); |
| | | if (one != null) { |
| | | one.setTaskId(newLightTask.getTaskId()); |
| | | lightTaskPoleRelationService.updateById(one); |
| | | } else { |
| | | lightTaskPoleRelationService.save(bean); |
| | | } |
| | | } else { |
| | | if (one == null) { |
| | | lightTaskPoleRelationService.save(bean); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | //计算功率及能耗 |
| | | public void test(LightTask lightTask) { |
| | | List<LightTaskPoleRelation> list = SpringContextHolder.getBean(LightTaskPoleRelationService.class) |
| | | .list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getTaskId, lightTask.getTaskId())); |
| | | /** |
| | | * 计算功率及能耗 |
| | | */ |
| | | 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())); |
| | | |
| | | 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); |
| | | |
| | | //获取昨天的星期数 |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | LocalDateTime yesterday = now.minusDays(1); |
| | | |
| | | |
| | | SpringContextHolder.getBean(LightService.class).jisuan(new LightTaskDto()); |
| | | LightEnergyData lightEnergyData = new LightEnergyData(); |
| | | lightEnergyData.setTaskId(lightTask.getTaskId()); |
| | | lightEnergyData.setYtdTime(yesterday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | lightEnergyData.setEnergySaving(energySaving); |
| | | lightEnergyData.setEnergy(energy); |
| | | lightEnergyData.setUserId(lightTask.getUserId()); |
| | | lightEnergyData.setClientId(lightTask.getClientId()); |
| | | |
| | | //保存能耗数据到数据库 |
| | | lightEnergyDataService.save(lightEnergyData); |
| | | |
| | | System.out.println(lightEnergyData + "---------------"); |
| | | //ID 任务id |
| | | } |
| | | } |
| | | |
| | | } |