|
@@ -36,6 +36,7 @@ import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -61,7 +62,7 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
JedisUtil jedisUtil;
|
|
JedisUtil jedisUtil;
|
|
|
|
|
|
|
|
|
|
|
|
|
-// @Override
|
|
|
|
|
|
|
+ // @Override
|
|
|
// public BaseResponse hotWaterEnergy1() {
|
|
// public BaseResponse hotWaterEnergy1() {
|
|
|
// HashMap<Object, Object> hashMap = new HashMap<>();
|
|
// HashMap<Object, Object> hashMap = new HashMap<>();
|
|
|
// HashMap<Object, Object> map = new HashMap<>();
|
|
// HashMap<Object, Object> map = new HashMap<>();
|
|
@@ -212,14 +213,22 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
// hashMap.put("electricityAndColdWater", map2);
|
|
// hashMap.put("electricityAndColdWater", map2);
|
|
|
// return BaseResponse.ok(StatusEnum.SUCCESS, hashMap);
|
|
// return BaseResponse.ok(StatusEnum.SUCCESS, hashMap);
|
|
|
// }
|
|
// }
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
|
+
|
|
|
|
|
+ Date date = new Date();
|
|
|
|
|
+ Date firstMonthDay = getFirstMonthDay(date, 1);
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
|
|
|
|
+ String format = sdf.format(firstMonthDay);
|
|
|
|
|
+ System.out.println("format = " + format);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public BaseResponse hotWaterEnergy() {
|
|
public BaseResponse hotWaterEnergy() {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
// redis 缓存
|
|
// redis 缓存
|
|
|
if (jedisUtil.exists("hotWaterEnergy")) {
|
|
if (jedisUtil.exists("hotWaterEnergy")) {
|
|
|
- String hotWaterEnergy= jedisUtil.get("hotWaterEnergy");
|
|
|
|
|
- Map list=JSON.parseObject(hotWaterEnergy,Map.class);
|
|
|
|
|
|
|
+ String hotWaterEnergy = jedisUtil.get("hotWaterEnergy");
|
|
|
|
|
+ Map list = JSON.parseObject(hotWaterEnergy, Map.class);
|
|
|
return BaseResponse.ok(StatusEnum.SUCCESS, list);
|
|
return BaseResponse.ok(StatusEnum.SUCCESS, list);
|
|
|
}
|
|
}
|
|
|
HashMap<Object, Object> hashMap = new HashMap<>();
|
|
HashMap<Object, Object> hashMap = new HashMap<>();
|
|
@@ -232,6 +241,9 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
for (int i = 1; i <= 5; i++) {
|
|
for (int i = 1; i <= 5; i++) {
|
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
|
Date firstMonthDay = getFirstMonthDay(date, i);
|
|
Date firstMonthDay = getFirstMonthDay(date, i);
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
|
|
|
|
+ String firstTime = sdf.format(firstMonthDay);
|
|
|
|
|
+
|
|
|
Date lastMonthDay = getLastMonthDay(date, i);
|
|
Date lastMonthDay = getLastMonthDay(date, i);
|
|
|
String dateTime = getDateTime(i);
|
|
String dateTime = getDateTime(i);
|
|
|
// 热水
|
|
// 热水
|
|
@@ -250,23 +262,27 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
String hotwaterAmount = hotWater.getHotwaterAmount();
|
|
String hotwaterAmount = hotWater.getHotwaterAmount();
|
|
|
double money = Double.parseDouble(hotwaterAmount);
|
|
double money = Double.parseDouble(hotwaterAmount);
|
|
|
if ("女".equals(genderDorm)) {
|
|
if ("女".equals(genderDorm)) {
|
|
|
- girlTotalHotWaterMoney = girlTotalHotWaterMoney + money;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(girlTotalHotWaterMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(money + "");
|
|
|
|
|
+ girlTotalHotWaterMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
|
|
+
|
|
|
} else if ("男".equals(genderDorm)) {
|
|
} else if ("男".equals(genderDorm)) {
|
|
|
- boyTotalMoney = boyTotalMoney + money;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(boyTotalMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(money + "");
|
|
|
|
|
+ boyTotalMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
// 热水
|
|
// 热水
|
|
|
girlEnergyDtoHotWater.setGenderDrom("女生");
|
|
girlEnergyDtoHotWater.setGenderDrom("女生");
|
|
|
girlEnergyDtoHotWater.setTotalMoney(girlTotalHotWaterMoney);
|
|
girlEnergyDtoHotWater.setTotalMoney(girlTotalHotWaterMoney);
|
|
|
- girlEnergyDtoHotWater.setDate(firstMonthDay);
|
|
|
|
|
|
|
+ girlEnergyDtoHotWater.setDate(firstTime);
|
|
|
girlEnergyDtoHotWater.setName("热水");
|
|
girlEnergyDtoHotWater.setName("热水");
|
|
|
hotWaterEnergyDtos.add(girlEnergyDtoHotWater);
|
|
hotWaterEnergyDtos.add(girlEnergyDtoHotWater);
|
|
|
|
|
|
|
|
// 热水
|
|
// 热水
|
|
|
boyEnergyDto.setGenderDrom("男生");
|
|
boyEnergyDto.setGenderDrom("男生");
|
|
|
boyEnergyDto.setTotalMoney(boyTotalMoney);
|
|
boyEnergyDto.setTotalMoney(boyTotalMoney);
|
|
|
- boyEnergyDto.setDate(firstMonthDay);
|
|
|
|
|
|
|
+ boyEnergyDto.setDate(firstTime);
|
|
|
boyEnergyDto.setName("热水");
|
|
boyEnergyDto.setName("热水");
|
|
|
hotWaterEnergyDtos.add(boyEnergyDto);
|
|
hotWaterEnergyDtos.add(boyEnergyDto);
|
|
|
|
|
|
|
@@ -284,9 +300,14 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
String genderDorm = getGenderDorm(electricity.getDom());
|
|
String genderDorm = getGenderDorm(electricity.getDom());
|
|
|
Double money = electricity.getTotalMoney();
|
|
Double money = electricity.getTotalMoney();
|
|
|
if ("女".equals(genderDorm)) {
|
|
if ("女".equals(genderDorm)) {
|
|
|
- girlTotalElectricityAndColdWaterMoney = girlTotalElectricityAndColdWaterMoney + money;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(girlTotalElectricityAndColdWaterMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(money + "");
|
|
|
|
|
+ girlTotalElectricityAndColdWaterMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
|
|
+
|
|
|
} else if ("男".equals(genderDorm)) {
|
|
} else if ("男".equals(genderDorm)) {
|
|
|
- boyTotalElectricityAndColdWaterMoney = boyTotalElectricityAndColdWaterMoney + money;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(boyTotalElectricityAndColdWaterMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(money + "");
|
|
|
|
|
+ boyTotalElectricityAndColdWaterMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
// 水费
|
|
// 水费
|
|
@@ -297,9 +318,13 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
String genderDorm = getGenderDorm(coldWater.getDom());
|
|
String genderDorm = getGenderDorm(coldWater.getDom());
|
|
|
Double money = coldWater.getTotalMoney();
|
|
Double money = coldWater.getTotalMoney();
|
|
|
if ("女".equals(genderDorm)) {
|
|
if ("女".equals(genderDorm)) {
|
|
|
- girlTotalElectricityAndColdWaterMoney = girlTotalElectricityAndColdWaterMoney + money;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(girlTotalElectricityAndColdWaterMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(money + "");
|
|
|
|
|
+ girlTotalElectricityAndColdWaterMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
} else if ("男".equals(genderDorm)) {
|
|
} else if ("男".equals(genderDorm)) {
|
|
|
- boyTotalElectricityAndColdWaterMoney = boyTotalElectricityAndColdWaterMoney + money;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(boyTotalElectricityAndColdWaterMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(money + "");
|
|
|
|
|
+ boyTotalElectricityAndColdWaterMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -316,14 +341,16 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
boyEnergyElectricityAndColdWaterDto.setDate(dateTime);
|
|
boyEnergyElectricityAndColdWaterDto.setDate(dateTime);
|
|
|
boyEnergyElectricityAndColdWaterDto.setName("水电");
|
|
boyEnergyElectricityAndColdWaterDto.setName("水电");
|
|
|
hotWaterEnergyDtos2.add(boyEnergyElectricityAndColdWaterDto);
|
|
hotWaterEnergyDtos2.add(boyEnergyElectricityAndColdWaterDto);
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
map.put("list", hotWaterEnergyDtos);
|
|
map.put("list", hotWaterEnergyDtos);
|
|
|
map2.put("list", hotWaterEnergyDtos2);
|
|
map2.put("list", hotWaterEnergyDtos2);
|
|
|
hashMap.put("hotWater", map);
|
|
hashMap.put("hotWater", map);
|
|
|
hashMap.put("electricityAndColdWater", map2);
|
|
hashMap.put("electricityAndColdWater", map2);
|
|
|
|
|
+
|
|
|
String jsonStr = null;
|
|
String jsonStr = null;
|
|
|
try {
|
|
try {
|
|
|
- jsonStr = objectMapper.writeValueAsString(hashMap); //areaList序列化为json字符串
|
|
|
|
|
|
|
+ jsonStr = objectMapper.writeValueAsString(hashMap); //areaList序列化为json字符串
|
|
|
} catch (JsonProcessingException e) {
|
|
} catch (JsonProcessingException e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
@@ -365,9 +392,9 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
public BaseResponse personHotwaterEnergy(String id) {
|
|
public BaseResponse personHotwaterEnergy(String id) {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
// redis 缓存
|
|
// redis 缓存
|
|
|
- if (jedisUtil.exists("personHotwaterEnergy"+id)) {
|
|
|
|
|
- String hotWaterEnergy= jedisUtil.get("personHotwaterEnergy"+id);
|
|
|
|
|
- Map list=JSON.parseObject(hotWaterEnergy,Map.class);
|
|
|
|
|
|
|
+ if (jedisUtil.exists("personHotwaterEnergy" + id)) {
|
|
|
|
|
+ String hotWaterEnergy = jedisUtil.get("personHotwaterEnergy" + id);
|
|
|
|
|
+ Map list = JSON.parseObject(hotWaterEnergy, Map.class);
|
|
|
return BaseResponse.ok(StatusEnum.SUCCESS, list);
|
|
return BaseResponse.ok(StatusEnum.SUCCESS, list);
|
|
|
}
|
|
}
|
|
|
// 参数校验
|
|
// 参数校验
|
|
@@ -389,6 +416,9 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
Date firstMonthDay = getFirstMonthDay(date, i);
|
|
Date firstMonthDay = getFirstMonthDay(date, i);
|
|
|
Date lastMonthDay = getLastMonthDay(date, i);
|
|
Date lastMonthDay = getLastMonthDay(date, i);
|
|
|
|
|
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
|
|
|
|
+ String format = sdf.format(firstMonthDay);
|
|
|
|
|
+
|
|
|
EnergyDto personEnergyDto = new EnergyDto();
|
|
EnergyDto personEnergyDto = new EnergyDto();
|
|
|
List<HotWater> list = this.list(Wrappers.<HotWater>lambdaQuery()
|
|
List<HotWater> list = this.list(Wrappers.<HotWater>lambdaQuery()
|
|
|
.eq(HotWater::getCardNumber, id)
|
|
.eq(HotWater::getCardNumber, id)
|
|
@@ -397,10 +427,12 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
Double personMonTotalMoney = 0.0;
|
|
Double personMonTotalMoney = 0.0;
|
|
|
for (HotWater hotWater : list) {
|
|
for (HotWater hotWater : list) {
|
|
|
String hotwaterAmount = hotWater.getHotwaterAmount();
|
|
String hotwaterAmount = hotWater.getHotwaterAmount();
|
|
|
- double money = Double.parseDouble(hotwaterAmount);
|
|
|
|
|
- personMonTotalMoney = personMonTotalMoney + money;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(hotwaterAmount);
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(personMonTotalMoney + "");
|
|
|
|
|
+ personMonTotalMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
- personEnergyDto.setDate(firstMonthDay);
|
|
|
|
|
|
|
+ personEnergyDto.setDate(format);
|
|
|
personEnergyDto.setTotalMoney(personMonTotalMoney);
|
|
personEnergyDto.setTotalMoney(personMonTotalMoney);
|
|
|
hotWaterEnergyDtos.add(personEnergyDto);
|
|
hotWaterEnergyDtos.add(personEnergyDto);
|
|
|
}
|
|
}
|
|
@@ -411,34 +443,39 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
for (int i = 1; i <= 5; i++) {
|
|
for (int i = 1; i <= 5; i++) {
|
|
|
String dateTime = getDateTime(i);
|
|
String dateTime = getDateTime(i);
|
|
|
EnergyDto personEnergyDto = new EnergyDto();
|
|
EnergyDto personEnergyDto = new EnergyDto();
|
|
|
- Double electricityAndColdWaterMoney=0.0;
|
|
|
|
|
|
|
+ Double electricityAndColdWaterMoney = 0.0;
|
|
|
|
|
|
|
|
// 电费
|
|
// 电费
|
|
|
List<Electricity> electricityList = electricityService.list(Wrappers.<Electricity>lambdaQuery()
|
|
List<Electricity> electricityList = electricityService.list(Wrappers.<Electricity>lambdaQuery()
|
|
|
.eq(Electricity::getDateTime, dateTime)
|
|
.eq(Electricity::getDateTime, dateTime)
|
|
|
- .eq(Electricity::getDom,dormNumber)
|
|
|
|
|
|
|
+ .eq(Electricity::getDom, dormNumber)
|
|
|
);
|
|
);
|
|
|
for (Electricity electricity : electricityList) {
|
|
for (Electricity electricity : electricityList) {
|
|
|
Double totalMoney = electricity.getTotalMoney();
|
|
Double totalMoney = electricity.getTotalMoney();
|
|
|
- electricityAndColdWaterMoney=electricityAndColdWaterMoney+totalMoney;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(electricityAndColdWaterMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(totalMoney + "");
|
|
|
|
|
+ electricityAndColdWaterMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 水费
|
|
// 水费
|
|
|
List<ColdWater> list1 = coldWaterService.list(Wrappers.<ColdWater>lambdaQuery()
|
|
List<ColdWater> list1 = coldWaterService.list(Wrappers.<ColdWater>lambdaQuery()
|
|
|
.eq(ColdWater::getDataTime, dateTime)
|
|
.eq(ColdWater::getDataTime, dateTime)
|
|
|
- .eq(ColdWater::getDom,dormNumber)
|
|
|
|
|
|
|
+ .eq(ColdWater::getDom, dormNumber)
|
|
|
);
|
|
);
|
|
|
for (ColdWater coldWater : list1) {
|
|
for (ColdWater coldWater : list1) {
|
|
|
Double totalMoney = coldWater.getTotalMoney();
|
|
Double totalMoney = coldWater.getTotalMoney();
|
|
|
- electricityAndColdWaterMoney=electricityAndColdWaterMoney+totalMoney;
|
|
|
|
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(electricityAndColdWaterMoney + "");
|
|
|
|
|
+ BigDecimal decimal = new BigDecimal(totalMoney + "");
|
|
|
|
|
+ electricityAndColdWaterMoney = bigDecimal.add(decimal).doubleValue();
|
|
|
}
|
|
}
|
|
|
- BigDecimal b1 = new BigDecimal(electricityAndColdWaterMoney/4);
|
|
|
|
|
|
|
+ BigDecimal b1 = new BigDecimal(electricityAndColdWaterMoney / 4);
|
|
|
double f2 = b1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
double f2 = b1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
personEnergyDto.setDate(dateTime);
|
|
personEnergyDto.setDate(dateTime);
|
|
|
personEnergyDto.setTotalMoney(f2);
|
|
personEnergyDto.setTotalMoney(f2);
|
|
|
electricityAndColdWaterDtos.add(personEnergyDto);
|
|
electricityAndColdWaterDtos.add(personEnergyDto);
|
|
|
}
|
|
}
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
for (int i = 1; i <= 5; i++) {
|
|
for (int i = 1; i <= 5; i++) {
|
|
|
String dateTime = getDateTime(i);
|
|
String dateTime = getDateTime(i);
|
|
|
EnergyDto personEnergyDto = new EnergyDto();
|
|
EnergyDto personEnergyDto = new EnergyDto();
|
|
@@ -454,11 +491,11 @@ public class HotWaterServiceImpl extends ServiceImpl<HotWaterMapper, HotWater> i
|
|
|
|
|
|
|
|
String jsonStr = null;
|
|
String jsonStr = null;
|
|
|
try {
|
|
try {
|
|
|
- jsonStr = objectMapper.writeValueAsString(hashMap); //areaList序列化为json字符串
|
|
|
|
|
|
|
+ jsonStr = objectMapper.writeValueAsString(hashMap); //areaList序列化为json字符串
|
|
|
} catch (JsonProcessingException e) {
|
|
} catch (JsonProcessingException e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
|
- jedisUtil.setnx("personHotwaterEnergy"+id, jsonStr);
|
|
|
|
|
|
|
+ jedisUtil.setnx("personHotwaterEnergy" + id, jsonStr);
|
|
|
return BaseResponse.ok(StatusEnum.SUCCESS, hashMap);
|
|
return BaseResponse.ok(StatusEnum.SUCCESS, hashMap);
|
|
|
}
|
|
}
|
|
|
|
|
|