|
@@ -1,5 +1,6 @@
|
|
|
package com.huimv.guowei.admin.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.huimv.guowei.admin.common.utils.DataUill;
|
|
|
import com.huimv.guowei.admin.common.utils.Result;
|
|
@@ -81,16 +82,20 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
|
|
|
public Result listWaterLine(Map<String, String> paramsMap) {
|
|
|
String type = paramsMap.get("type");
|
|
|
String farmId = paramsMap.get("farmId");
|
|
|
+ String unitId = paramsMap.get("unitId");
|
|
|
String startDate = paramsMap.get("startDate");
|
|
|
String endDate = paramsMap.get("endDate")+" 23:59:59";
|
|
|
- List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("chip_type", 3));
|
|
|
-
|
|
|
+ List<WaterLineVo> waterLineList = new ArrayList<>();
|
|
|
+ List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("unit_id",unitId).eq("chip_type", 3));
|
|
|
+ if (ObjectUtil.isEmpty(deviceChipList)){
|
|
|
+ return new Result(ResultCode.SUCCESS,waterLineList);
|
|
|
+ }
|
|
|
List<String> chipCodeList = new ArrayList<>();
|
|
|
for (EnvDeviceChip envDeviceChip : deviceChipList) {
|
|
|
chipCodeList.add(envDeviceChip.getChipCode());
|
|
|
}
|
|
|
String chipCodes = String.join(",", chipCodeList);
|
|
|
- List<WaterLineVo> waterLineList = new ArrayList<>();
|
|
|
+
|
|
|
chipCodes = "("+chipCodes+")";
|
|
|
if ("1".equals(type)){
|
|
|
waterLineList = energyWaterMapper.listWaterLineDayDetail(farmId,chipCodeList,chipCodes);
|
|
@@ -114,7 +119,7 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
|
|
|
String farmId = paramsMap.get("farmId");
|
|
|
Date timesmorning = DataUill.getTimesmorning();
|
|
|
Date timesMonthmorning = DataUill.getTimesMonthmorning();
|
|
|
-
|
|
|
+ BigDecimal dayGap,monthGap;
|
|
|
Map resultMap = new HashMap();
|
|
|
//今日
|
|
|
QueryWrapper<EnergyWater> queryWrapper1 = new QueryWrapper<>();
|
|
@@ -127,9 +132,14 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
|
|
|
QueryWrapper<EnergyWater> queryWrapper2 = new QueryWrapper<>();
|
|
|
queryWrapper2.eq("unit_id",unitId).eq("farm_id",farmId).between("create_date",startOfDay,endOfDay);
|
|
|
BigDecimal lastDayWater = energyWaterMapper.getWater(queryWrapper2);
|
|
|
- //日环比
|
|
|
- BigDecimal dayGap = dayWater.subtract(lastDayWater).divide(lastDayWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
|
|
|
|
|
|
+ System.out.println(lastDayWater);
|
|
|
+ //日环比
|
|
|
+ if (lastDayWater.toString().equals("0.0")){
|
|
|
+ dayGap = BigDecimal.valueOf(100);
|
|
|
+ }else {
|
|
|
+ dayGap = dayWater.subtract(lastDayWater).divide(lastDayWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
|
|
|
+ }
|
|
|
//本月
|
|
|
QueryWrapper<EnergyWater> queryWrapper3 = new QueryWrapper<>();
|
|
|
queryWrapper3.eq("unit_id",unitId).eq("farm_id",farmId).ge("create_date",timesMonthmorning);
|
|
@@ -141,7 +151,11 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
|
|
|
queryWrapper4.eq("unit_id",unitId).eq("farm_id",farmId).between("create_date",lastMonthStartMorning,lastMonthEndNight);
|
|
|
BigDecimal lastMonthWater = energyWaterMapper.getWater(queryWrapper4);
|
|
|
//月环比
|
|
|
- BigDecimal monthGap = monthWater.subtract(lastMonthWater).divide(lastMonthWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
|
|
|
+ if (lastMonthWater.toString().equals("0.0")){
|
|
|
+ monthGap = BigDecimal.valueOf(100);
|
|
|
+ }else {
|
|
|
+ monthGap = monthWater.subtract(lastMonthWater).divide(lastMonthWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
|
|
|
+ }
|
|
|
|
|
|
resultMap.put("dayWater",dayWater);
|
|
|
resultMap.put("dayWaterGap",dayGap+"%");
|
|
@@ -154,15 +168,17 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
|
|
|
public Result listScreenWaterLine(Map<String, String> paramsMap) {
|
|
|
String farmId = paramsMap.get("farmId");
|
|
|
String type = paramsMap.get("type");
|
|
|
-
|
|
|
+ List<WaterLineVo> waterLineList = new ArrayList<>();
|
|
|
List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("chip_type", 3));
|
|
|
-
|
|
|
+ if (ObjectUtil.isEmpty(deviceChipList)){
|
|
|
+ return new Result(ResultCode.SUCCESS,waterLineList);
|
|
|
+ }
|
|
|
List<String> chipCodeList = new ArrayList<>();
|
|
|
for (EnvDeviceChip envDeviceChip : deviceChipList) {
|
|
|
chipCodeList.add(envDeviceChip.getChipCode());
|
|
|
}
|
|
|
String chipCodes = String.join(",", chipCodeList);
|
|
|
- List<WaterLineVo> waterLineList;
|
|
|
+
|
|
|
chipCodes = "("+chipCodes+")";
|
|
|
//六个月
|
|
|
if ("1".equals(type)){
|
|
@@ -174,4 +190,17 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
|
|
|
}
|
|
|
return new Result(ResultCode.SUCCESS,waterLineList);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result listScreenUnitWater(Map<String, String> paramsMap) {
|
|
|
+ String type = paramsMap.get("type");
|
|
|
+ String farmId = paramsMap.get("farmId");
|
|
|
+ List<EnergyWater> energyWaterList = new ArrayList<>();
|
|
|
+ if ("1".equals(type)){
|
|
|
+ energyWaterList = energyWaterMapper.listUnitDayDetail(farmId);
|
|
|
+ }else {
|
|
|
+ energyWaterList = energyWaterMapper.listUnitMonthDetail(farmId);
|
|
|
+ }
|
|
|
+ return new Result(ResultCode.SUCCESS,energyWaterList);
|
|
|
+ }
|
|
|
}
|