2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-20 54981d0263617a11fb1e16bf1cb1be19b14bc1ca
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -30,6 +30,7 @@
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.TaskOrderUtil;
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;
@@ -41,7 +42,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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;
@@ -62,6 +65,7 @@
    private final LightTaskPoleRelationService lightTaskPoleRelationService;
    private final LightTaskMapper lightTaskMapper;
    private final ClientService clientService;
    private final LightEnergyDataService lightEnergyDataService;
    /**
     * 新增路灯任务
@@ -527,4 +531,38 @@
        return true;
    }
    //计算功率及能耗
    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);
            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());
            System.out.println(lightEnergyData + "---------------");
            //ID   任务id
        }
    }
}