From d0817418a1c0fc3d637cb3cb2a2fb7f8c1a42d0b Mon Sep 17 00:00:00 2001
From: MercuryZ <zdmisif@126.com>
Date: 星期四, 23 六月 2022 16:43:39 +0800
Subject: [PATCH] 修改数据库配置

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java |  113 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 57 insertions(+), 56 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
index 00f5d6d..5da0d5a 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -29,6 +29,7 @@
 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;
@@ -37,6 +38,7 @@
 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;
@@ -300,41 +302,10 @@
          * 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
          */
 
-//        if (oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
-//            //鍏ㄩ儴鎴愬姛
-//            return 0;
-//        } else if (!closeLight.isEmpty() || !oldPoleFail.isEmpty()) {
-//            //鍏崇伅澶辫触  鎴栬�呰鐩栦换鍔″け璐�
-//            return 1;
-//        } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closeSuccess.isEmpty()) {
-//            //缂栬緫鍏ㄩ儴澶辫触
-//            return 2;
-//        } else {
-//            //鍏朵粬鎯呭喌
-//            return -1;
-//        }
-
-//        if (newPoleFail.isEmpty() && oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
-//            //缂栬緫鎴愬姛
-//            return 0;
-//        } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
-//            //缂栬緫澶辫触
-//            return 1;
-//        } else {
-//            //鍦ㄦ棫浠诲姟鍩虹涓婄紪杈�
-//            if (lightTask.getTaskId().equals(newLightTask.getTaskId())) {
-//                //鍙湁鏃т换鍔�
-//                return 2;
-//            }  else {
-//                //鏈夋柊浠诲姟锛屾湁鏃т换鍔�
-//                return 3;
-//            }
-//        }
-
         if (newPoleFail.isEmpty() && oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
             return "缂栬緫鎴愬姛";
         } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
-            throw new BusinessException("缂栬緫澶辫触");
+            throw new BusinessException("缂栬緫澶辫触,璇锋鏌ョ紪杈戠殑璁惧鏄惁鍦ㄧ嚎!");
         } else if (!closePoleFail.isEmpty() || !oldPoleFail.isEmpty()) {
             return "鍘熶换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽師浠诲姟淇濈暀锛屽垱寤烘柊浠诲姟杩涜淇濆瓨";
         } else if (!newPoleFail.isEmpty()) {
@@ -665,35 +636,65 @@
      */
     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()));
+        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) {
 
-            BigDecimal energySaving = SpringContextHolder.getBean(LightService.class).jisuan(lightTaskDto);
-            BigDecimal energy = SpringContextHolder.getBean(LightService.class).jisuanEnergy(lightTaskDto);
+                LightTaskDto lightTaskDto = new LightTaskDto();
+                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;
+                }
 
-            //鑾峰彇鏄ㄥぉ鐨勬槦鏈熸暟
-            LocalDateTime now = LocalDateTime.now();
-            LocalDateTime yesterday = now.minusDays(1);
+                /**
+                 * 瀛樺偍鏁版嵁
+                 */
 
+                LightEnergyData lightEnergyData = new LightEnergyData();
+                lightEnergyData.setTaskId(bean.getTaskId());
+                lightEnergyData.setYtdTime(yesterday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                lightEnergyData.setEnergySaving(energySaving);
+                lightEnergyData.setEnergy(energy);
+                lightEnergyData.setUserId(bean.getUserId());
+                lightEnergyData.setClientId(bean.getClientId());
+                lightEnergyData.setPoleId(bean.getPoleId());
+                //淇濆瓨鑳借�楁暟鎹埌鏁版嵁搴�
+                lightEnergyDataService.save(lightEnergyData);
+            }
 
-            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
         }
     }
-
 }

--
Gitblit v1.9.3