Quellcode durchsuchen

根据路段权限查询用户的灯控一天的耗电量和省电量和累计耗电量和省电量

zhj vor 9 Monaten
Ursprung
Commit
665d1775b6

+ 21 - 0
src/main/java/com/welampiot/controller/DataController.java

@@ -53,6 +53,8 @@ public class DataController extends BaseController {
     private SectionCacheByDayService sectionCacheByDayService;
     @Autowired
     private GlobalLocationService globalLocationService;
+    @Autowired
+    private LampInfoLogNewService lampInfoLogNewService;
 
     @RequestMapping(value = "/info",method = RequestMethod.POST)
     public BaseResult<InfoResponseVO> info(HttpServletRequest request){
@@ -716,4 +718,23 @@ public class DataController extends BaseController {
         sectionVO.setList(sectionLampCountsList);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version, sectionVO);
     }
+
+    /**
+     * 用电量统计信息
+     */
+    @RequestMapping(value = "/sectionConsumptionInfo", method = RequestMethod.POST)
+    public BaseResult<?> sectionConsumptionInfo(BaseVO baseVO) {
+        Integer version = baseVO.getVersion();
+        List<Integer> sectionList = getSectionList(baseVO.getUsername());
+        baseVO.setSectionList(sectionList);
+        baseVO.setPageAndCount(baseVO.getPage(), baseVO.getCount());
+        LampInfoLogNewDTO lampLogData = lampInfoLogNewService.getTodayAllLampLogData(baseVO);
+        DecimalFormat df = new DecimalFormat("0.##");
+        LampLogVO lampLogVO = new LampLogVO();
+        lampLogVO.setDayConsumption(df.format(Double.valueOf(lampLogData.getUsedEnergyTonight())));
+        lampLogVO.setDaySavePower(df.format(Double.valueOf(lampLogData.getDayEleSave())));
+        lampLogVO.setTotalConsumption(df.format(Double.valueOf(lampLogData.getUsedEnergyTotal())));
+        lampLogVO.setTotalSavePower(df.format(Double.valueOf(lampLogData.getTotalEleSave())));
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version, lampLogVO);
+    }
 }

+ 3 - 0
src/main/java/com/welampiot/dao/LampInfoLogNewDao.java

@@ -2,6 +2,7 @@ package com.welampiot.dao;
 
 import com.welampiot.dto.LampInfoDTO;
 import com.welampiot.dto.LampInfoLogNewDTO;
+import com.welampiot.vo.BaseVO;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -22,4 +23,6 @@ public interface LampInfoLogNewDao {
 
     LampInfoLogNewDTO getGeneraEnergy(@Param("type") Integer type, @Param("value") Integer value);
     LampInfoLogNewDTO getNewestLampInfoLog(@Param("lampId") Integer lampId);
+
+    LampInfoLogNewDTO getTodayAllLampLogData(BaseVO baseVO);
 }

+ 2 - 0
src/main/java/com/welampiot/dto/LampInfoLogNewDTO.java

@@ -70,6 +70,8 @@ public class LampInfoLogNewDTO implements Serializable {
     private String yearEleSaveCache;
 
     private String totalEleSaveCache;
+    private String totalEleSave;
+    private String usedEnergyTonight;
 
     private String sumTotalEleSave; // 累计省电量之和
 

+ 3 - 0
src/main/java/com/welampiot/service/LampInfoLogNewService.java

@@ -2,6 +2,7 @@ package com.welampiot.service;
 
 import com.welampiot.dto.LampInfoDTO;
 import com.welampiot.dto.LampInfoLogNewDTO;
+import com.welampiot.vo.BaseVO;
 import com.welampiot.vo.LampInfoLogNewVO;
 
 /**
@@ -23,4 +24,6 @@ public interface LampInfoLogNewService {
     LampInfoLogNewDTO getGeneraEnergy(Integer type,Integer value);
 
     LampInfoLogNewDTO getNewestLampInfoLog(Integer lampId);
+
+    LampInfoLogNewDTO getTodayAllLampLogData(BaseVO baseVO);
 }

+ 6 - 0
src/main/java/com/welampiot/service/impl/LampInfoLogNewServiceImpl.java

@@ -4,6 +4,7 @@ import com.welampiot.dao.LampInfoLogNewDao;
 import com.welampiot.dto.LampInfoDTO;
 import com.welampiot.dto.LampInfoLogNewDTO;
 import com.welampiot.service.LampInfoLogNewService;
+import com.welampiot.vo.BaseVO;
 import com.welampiot.vo.LampInfoLogNewVO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,4 +57,9 @@ public class LampInfoLogNewServiceImpl implements LampInfoLogNewService {
     public LampInfoLogNewDTO getNewestLampInfoLog(Integer lampId) {
         return lampInfoLogNewDao.getNewestLampInfoLog(lampId);
     }
+
+    @Override
+    public LampInfoLogNewDTO getTodayAllLampLogData(BaseVO baseVO) {
+        return lampInfoLogNewDao.getTodayAllLampLogData(baseVO);
+    }
 }

+ 5 - 0
src/main/java/com/welampiot/vo/LampLogVO.java

@@ -32,4 +32,9 @@ public class LampLogVO {
     private String monthLightTime;
     private String yearLightTime;
     private String totalLightTime;
+
+    private String dayConsumption;
+    private String daySavePower;
+    private String totalConsumption;
+    private String totalSavePower;
 }

+ 39 - 4
src/main/resources/mapper/LampInfoLogNewMapper.xml

@@ -92,10 +92,12 @@
 
     <select id="getTodayAllLampLogData" resultType="LampInfoLogNewDTO">
         SELECT
-            SUM( l.used_energy_tonight ) AS usedEnergyTonight,
-            SUM( l.work_time_tonight ) AS workTimeTonight
+        SUM(IF(DATE(l.updatetime) = CURDATE(), l.used_energy_tonight, 0)) AS usedEnergyTonight,
+        SUM(IF(DATE(l.updatetime) = CURDATE(), l.day_ele_save, 0)) AS dayEleSave,
+        SUM(l.used_energy_total) AS usedEnergyTotal,
+        SUM(l.total_ele_save) AS totalEleSave
         FROM
-            lamp_info_log_new l
+        lamp_info_log_new l
         LEFT JOIN lampinfo l1 ON l.lampid = l1.id
         LEFT JOIN section s ON s.id = l1.sectionid
         LEFT JOIN global_location a ON a.id = s.pid
@@ -120,7 +122,40 @@
                 #{item}
             </foreach>
         </if>
-        AND DATE(l.updatetime) = CURDATE()
     </select>
 
+<!--    <select id="getTodayAllLampLogData" resultType="LampInfoLogNewDTO">-->
+<!--        SELECT-->
+<!--        SUM(l.used_energy_tonight) AS usedEnergyTonight,-->
+<!--        SUM(l.day_ele_save) AS dayEleSave,-->
+<!--        SUM(l.used_energy_total) AS usedEnergyTotal,-->
+<!--        SUM(l.total_ele_save) AS totalEleSave-->
+<!--        FROM-->
+<!--        lamp_info_log_new l-->
+<!--        LEFT JOIN lampinfo l1 ON l.lampid = l1.id-->
+<!--        LEFT JOIN section s ON s.id = l1.sectionid-->
+<!--        LEFT JOIN global_location a ON a.id = s.pid-->
+<!--        LEFT JOIN global_location b ON b.id = a.pid-->
+<!--        LEFT JOIN global_location c ON c.id = b.pid-->
+<!--        WHERE 1=1-->
+<!--        <if test="sectionId != null and sectionId != 0">-->
+<!--            and s.id = #{sectionId}-->
+<!--        </if>-->
+<!--        <if test="areaId != null and areaId != 0">-->
+<!--            and a.id = #{areaId}-->
+<!--        </if>-->
+<!--        <if test="cityId != null and cityId != 0">-->
+<!--            and b.id = #{cityId}-->
+<!--        </if>-->
+<!--        <if test="provinceId != null and provinceId != 0">-->
+<!--            and d.id = #{provinceId}-->
+<!--        </if>-->
+<!--        <if test="sectionList != null and !sectionList.isEmpty()">-->
+<!--            and l1.sectionid in-->
+<!--            <foreach collection="sectionList" item="item" open="(" separator="," close=")">-->
+<!--                #{item}-->
+<!--            </foreach>-->
+<!--        </if>-->
+<!--    </select>-->
+
 </mapper>