Newspaper преди 1 година
родител
ревизия
4ddf79a036

+ 4 - 0
huimv-admin/src/main/java/com/huimv/admin/mapper/EnergyDataMapper.java

@@ -81,4 +81,8 @@ public interface EnergyDataMapper extends BaseMapper<EnergyData> {
     Double getWater(String farmId, String displayType, String unitId, String startDate, String endDate);
 
     List<EnergyVo> listSixMonthWater(String farmId, String displayType, String unitId);
+
+    Double getTodayElectricity(Integer unitId, String displayType);
+
+    Double getTodayWater(Integer unitId, String displayType);
 }

+ 4 - 0
huimv-admin/src/main/java/com/huimv/admin/mapper/EnergyEnvDeviceMapper.java

@@ -2,6 +2,9 @@ package com.huimv.admin.mapper;
 
 import com.huimv.admin.entity.EnergyEnvDevice;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.entity.vo.UnitEnergyVo;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface EnergyEnvDeviceMapper extends BaseMapper<EnergyEnvDevice> {
 
+    List<UnitEnergyVo> listPigpen(String farmId);
 }

+ 10 - 34
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyElectricityServiceImpl.java

@@ -15,11 +15,14 @@ import com.huimv.admin.entity.EnergyData;
 import com.huimv.admin.entity.EnergyElectricity;
 import com.huimv.admin.entity.vo.EnergyVo;
 import com.huimv.admin.entity.vo.EnergyElectricityDataVo;
+import com.huimv.admin.entity.vo.UnitEnergyVo;
 import com.huimv.admin.mapper.BasePigpenMapper;
 import com.huimv.admin.mapper.EnergyDataMapper;
 import com.huimv.admin.mapper.EnergyElectricityMapper;
+import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
 import com.huimv.admin.service.IEnergyElectricityService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -47,6 +50,8 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
     private BasePigpenMapper basePigpenMapper;
     @Autowired
     private EnergyDataMapper dataMapper;
+    @Autowired
+    private EnergyEnvDeviceMapper energyEnvDeviceMapper;
 
     @Override
     public Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
@@ -143,37 +148,12 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
     public Result listPigpenApp(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String displayType = paramsMap.get("displayType");
-        JSONArray jsonArray = new JSONArray();
-
-        QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
-        basePigpenQueryWrapper.eq("farm_id", farmId).eq("f_type", 3);
-        List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//所有的单元
-        for (BasePigpen basePigpen : basePigpens) {
-            JSONObject jsonObject = new JSONObject();
-            QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId());
-            if (ObjectUtil.isNotEmpty(displayType)){
-                queryWrapper.eq("display_type",displayType);
-            }
-            queryWrapper.select(" IFNULL(SUM(electricity_value),'0') electricityValue");
-            DateTime dateTime = DateUtil.beginOfWeek(new Date());
-            queryWrapper.ge("create_date", dateTime);
 
-            EnergyData energyElectricity = dataMapper.selectOne(queryWrapper);
-            if (ObjectUtil.isEmpty(energyElectricity)) {
-                jsonObject.put("buildName", basePigpen.getBuildName());
-                jsonObject.put("value", 0);
-                jsonObject.put("id", basePigpen.getId());
-            } else {
-                DecimalFormat df = new DecimalFormat("0.00");
-                jsonObject.put("buildName", basePigpen.getBuildName());
-                jsonObject.put("value", df.format(Float.parseFloat(energyElectricity.getElectricityValue())));
-                jsonObject.put("id", basePigpen.getId());
-            }
-            jsonArray.add(jsonObject);
+        List<UnitEnergyVo> unitEnergyVoList = energyEnvDeviceMapper.listPigpen(farmId);
+        for (UnitEnergyVo unitEnergyVo : unitEnergyVoList) {
+            unitEnergyVo.setValue(dataMapper.getTodayElectricity(unitEnergyVo.getId(),displayType));
         }
-        JSONArray array = jsonArraySort(jsonArray, "value", true);
-        return new Result(ResultCode.SUCCESS, array);
+        return new Result(ResultCode.SUCCESS, unitEnergyVoList);
     }
 
     @Override
@@ -182,12 +162,10 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         String type = paramsMap.get("type");
         String unitId = paramsMap.get("unitId");
         String displayType = paramsMap.get("displayType");
-        List<EnergyVo> result;
         List<EnergyVo> electricityVo = new ArrayList<>();
         //近七天
         if ("0".equals(type)){
             electricityVo = dataMapper.listSevenDayElectricity(farmId,displayType,unitId);
-            result = calculate(electricityVo);
         }else if ("1".equals(type)){
             LocalDate currentDate = LocalDate.now();
             // 获取过去六周的日期范围
@@ -199,12 +177,10 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
                 electricityVo1.setValue(dataMapper.getElectricity(farmId,displayType,unitId,startDate.toString() + " 00:00:00",endDate + " 23:59:59"));
                 electricityVo.add(electricityVo1);
             }
-            result = calculate(electricityVo);
         }else {
             electricityVo = dataMapper.listSixMonthElectricity(farmId,displayType,unitId);
-            result = calculate(electricityVo);
         }
-        return new Result(ResultCode.SUCCESS,result);
+        return new Result(ResultCode.SUCCESS,electricityVo);
     }
 
     public List<EnergyVo> calculate(List<EnergyVo> list){

+ 9 - 34
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyWaterServiceImpl.java

@@ -15,8 +15,10 @@ import com.huimv.admin.entity.EnergyData;
 import com.huimv.admin.entity.EnergyWater;
 import com.huimv.admin.entity.vo.EnergyVo;
 import com.huimv.admin.entity.vo.EnergyWaterDataVo;
+import com.huimv.admin.entity.vo.UnitEnergyVo;
 import com.huimv.admin.mapper.BasePigpenMapper;
 import com.huimv.admin.mapper.EnergyDataMapper;
+import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
 import com.huimv.admin.mapper.EnergyWaterMapper;
 import com.huimv.admin.service.IEnergyWaterService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -48,6 +50,8 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
     private EnergyWaterMapper energyWaterMapper;
     @Autowired
     private EnergyDataMapper dataMapper;
+    @Autowired
+    private EnergyEnvDeviceMapper energyEnvDeviceMapper;
 
     @Override
     public Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
@@ -143,36 +147,11 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         String farmId = paramsMap.get("farmId");
         String displayType = paramsMap.get("displayType");
 
-        JSONArray jsonArray = new JSONArray();
-        QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
-        basePigpenQueryWrapper.eq("farm_id", farmId).eq("f_type", 3);
-        List<BasePigpen> basePigpenList = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的单元
-        for (BasePigpen basePigpen : basePigpenList) {
-            JSONObject jsonObject = new JSONObject();
-            QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId());
-            if (ObjectUtil.isNotEmpty(displayType)){
-                queryWrapper.eq("display_type",displayType);
-            }
-            queryWrapper.select(" IFNULL(SUM(water_value),'0') waterValue");
-            DateTime dateTime = DateUtil.beginOfWeek(new Date());
-            queryWrapper.ge("create_date", dateTime);
-
-            EnergyData energyWater = dataMapper.selectOne(queryWrapper);
-            if (ObjectUtil.isEmpty(energyWater)) {
-                jsonObject.put("buildName", basePigpen.getBuildName());
-                jsonObject.put("value", 0);
-                jsonObject.put("id", basePigpen.getId());
-            } else {
-                DecimalFormat df = new DecimalFormat("0.00");
-                jsonObject.put("buildName", basePigpen.getBuildName());
-                jsonObject.put("value", df.format(Float.parseFloat(energyWater.getWaterValue())));
-                jsonObject.put("id", basePigpen.getId());
-            }
-            jsonArray.add(jsonObject);
+        List<UnitEnergyVo> unitEnergyVoList = energyEnvDeviceMapper.listPigpen(farmId);
+        for (UnitEnergyVo unitEnergyVo : unitEnergyVoList) {
+            unitEnergyVo.setValue(dataMapper.getTodayWater(unitEnergyVo.getId(),displayType));
         }
-        JSONArray array = jsonArraySort(jsonArray, "value", true);
-        return new Result(ResultCode.SUCCESS, array);
+        return new Result(ResultCode.SUCCESS, unitEnergyVoList);
     }
 
     @Override
@@ -181,12 +160,10 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         String type = paramsMap.get("type");
         String unitId = paramsMap.get("unitId");
         String displayType = paramsMap.get("displayType");
-        List<EnergyVo> result;
         List<EnergyVo> waterVo = new ArrayList<>();
         //近七天
         if ("0".equals(type)){
             waterVo = dataMapper.listSevenDayWater(farmId,displayType,unitId);
-            result = calculate(waterVo);
         }else if ("1".equals(type)){
             LocalDate currentDate = LocalDate.now();
             // 获取过去六周的日期范围
@@ -198,12 +175,10 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
                 waterVo1.setValue(dataMapper.getWater(farmId,displayType,unitId,startDate.toString() + " 00:00:00",endDate + " 23:59:59"));
                 waterVo.add(waterVo1);
             }
-            result = calculate(waterVo);
         }else {
             waterVo = dataMapper.listSixMonthWater(farmId,displayType,unitId);
-            result = calculate(waterVo);
         }
-        return new Result(ResultCode.SUCCESS,result);
+        return new Result(ResultCode.SUCCESS,waterVo);
     }
 
     public List<EnergyVo> calculate(List<EnergyVo> list){

+ 10 - 0
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnergyDataMapper.xml

@@ -309,4 +309,14 @@ FROM `energy_data` WHERE unit_id = ${unitId} AND farm_id =${farmId}
         order by
             calendar.date
     </select>
+    <select id="getTodayElectricity" resultType="java.lang.Double">
+        SELECT COALESCE(SUM(electricity_value),0) AS 'value'
+        FROM `energy_data`
+        WHERE unit_id = #{unitId} AND display_type = #{displayType} and Date(create_date) = CURDATE()
+    </select>
+    <select id="getTodayWater" resultType="java.lang.Double">
+        SELECT COALESCE(SUM(water_value),0) AS 'value'
+        FROM `energy_data`
+        WHERE unit_id = #{unitId} AND display_type = #{displayType} and Date(create_date) = CURDATE()
+    </select>
 </mapper>

+ 6 - 0
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnergyEnvDeviceMapper.xml

@@ -18,5 +18,11 @@
         <result column="ohter3" property="ohter3" />
         <result column="remark" property="remark" />
     </resultMap>
+    <select id="listPigpen" resultType="com.huimv.admin.entity.vo.UnitEnergyVo">
+        SELECT d.unit_id AS 'id',d.unit_name AS 'buildName'
+        FROM `energy_env_device` d
+        WHERE d.farm_id = #{farmId} AND d.remark = 0
+        ORDER BY buildName
+    </select>
 
 </mapper>