电表部分代码
This commit is contained in:
parent
53870d2d36
commit
29058b3094
@ -1,5 +1,7 @@
|
|||||||
package com.zhgd.xmgl.base.entity.vo;
|
package com.zhgd.xmgl.base.entity.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@ -35,9 +37,21 @@ public class TrendVo {
|
|||||||
vo.setY("0");
|
vo.setY("0");
|
||||||
vo.setX(day);
|
vo.setX(day);
|
||||||
}
|
}
|
||||||
vo.setX(DateUtil.format(DateUtil.parseDate(vo.getX()), format));
|
vo.setX(DateUtil.format(parse(vo.getX(), format), format));
|
||||||
rtList.add(vo);
|
rtList.add(vo);
|
||||||
}
|
}
|
||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param str
|
||||||
|
* @param format
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private static DateTime parse(String str, String format) {
|
||||||
|
if ("yyyy-MM".equals(format)) {
|
||||||
|
return DateUtil.parse(str, format);
|
||||||
|
}
|
||||||
|
return DateUtil.parse(str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,7 +57,7 @@ public interface AmmeterRecordDetailMapper extends BaseMapper<AmmeterRecordDetai
|
|||||||
|
|
||||||
List<AmmeterRecordDetail> queryNewestRecord(Map<String, Object> map);
|
List<AmmeterRecordDetail> queryNewestRecord(Map<String, Object> map);
|
||||||
|
|
||||||
double getDegreeSum(Map<String, Object> map);
|
Double getDegreeSum(Map<String, Object> map);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询用电量
|
* 查询用电量
|
||||||
|
|||||||
@ -116,8 +116,8 @@
|
|||||||
group by b.ammeter_no
|
group by b.ammeter_no
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getDegreeSum" resultType="double">
|
<select id="getDegreeSum" resultType="java.lang.Double">
|
||||||
select sum(ifnull(a.degree, 0))
|
select ifnull(sum(ifnull(a.degree, 0)), 0)
|
||||||
from ammeter_record_detail a
|
from ammeter_record_detail a
|
||||||
WHERE a.project_sn = #{projectSn}
|
WHERE a.project_sn = #{projectSn}
|
||||||
<if test="ammeterNo != null and ammeterNo != ''">
|
<if test="ammeterNo != null and ammeterNo != ''">
|
||||||
|
|||||||
@ -9,9 +9,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.xmgl.base.entity.vo.TrendVo;
|
import com.zhgd.xmgl.base.entity.vo.TrendVo;
|
||||||
import com.zhgd.xmgl.modules.ammeter.entity.Ammeter;
|
import com.zhgd.xmgl.modules.ammeter.entity.Ammeter;
|
||||||
|
import com.zhgd.xmgl.modules.ammeter.entity.AmmeterMonthRecord;
|
||||||
import com.zhgd.xmgl.modules.ammeter.entity.AmmeterRecordDetail;
|
import com.zhgd.xmgl.modules.ammeter.entity.AmmeterRecordDetail;
|
||||||
import com.zhgd.xmgl.modules.ammeter.entity.vo.CountAmmeterRecordDetailVo;
|
import com.zhgd.xmgl.modules.ammeter.entity.vo.CountAmmeterRecordDetailVo;
|
||||||
import com.zhgd.xmgl.modules.ammeter.mapper.AmmeterMapper;
|
import com.zhgd.xmgl.modules.ammeter.mapper.AmmeterMapper;
|
||||||
|
import com.zhgd.xmgl.modules.ammeter.mapper.AmmeterMonthRecordMapper;
|
||||||
import com.zhgd.xmgl.modules.ammeter.mapper.AmmeterRecordDetailMapper;
|
import com.zhgd.xmgl.modules.ammeter.mapper.AmmeterRecordDetailMapper;
|
||||||
import com.zhgd.xmgl.modules.ammeter.service.IAmmeterRecordDetailService;
|
import com.zhgd.xmgl.modules.ammeter.service.IAmmeterRecordDetailService;
|
||||||
import com.zhgd.xmgl.modules.doublecarbon.entity.dto.DateValueDTO;
|
import com.zhgd.xmgl.modules.doublecarbon.entity.dto.DateValueDTO;
|
||||||
@ -39,6 +41,8 @@ public class AmmeterRecordDetailServiceImpl extends ServiceImpl<AmmeterRecordDet
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AmmeterRecordDetailMapper ammeterRecordDetailMapper;
|
private AmmeterRecordDetailMapper ammeterRecordDetailMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private AmmeterMonthRecordMapper ammeterMonthRecordMapper;
|
||||||
|
@Autowired
|
||||||
private AmmeterMapper ammeterMapper;
|
private AmmeterMapper ammeterMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -138,6 +142,8 @@ public class AmmeterRecordDetailServiceImpl extends ServiceImpl<AmmeterRecordDet
|
|||||||
public List<TrendVo> queryUseRecordTrend(Map<String, Object> map) {
|
public List<TrendVo> queryUseRecordTrend(Map<String, Object> map) {
|
||||||
List<TrendVo> trendVos = new ArrayList<>();
|
List<TrendVo> trendVos = new ArrayList<>();
|
||||||
Integer type = MapUtils.getInteger(map, "type");
|
Integer type = MapUtils.getInteger(map, "type");
|
||||||
|
String projectSn = MapUtils.getString(map, "projectSn");
|
||||||
|
String ammeterNo = MapUtils.getString(map, "ammeterNo");
|
||||||
if (Objects.equals(type, 1)) {
|
if (Objects.equals(type, 1)) {
|
||||||
//近7天
|
//近7天
|
||||||
List<AmmeterRecordDetail> ammeterRecordDetails = baseMapper.queryUseRecord(map);
|
List<AmmeterRecordDetail> ammeterRecordDetails = baseMapper.queryUseRecord(map);
|
||||||
@ -162,7 +168,30 @@ public class AmmeterRecordDetailServiceImpl extends ServiceImpl<AmmeterRecordDet
|
|||||||
return TrendVo.fillTrendVos(list, days, "MM-dd");
|
return TrendVo.fillTrendVos(list, days, "MM-dd");
|
||||||
} else if (Objects.equals(type, 3)) {
|
} else if (Objects.equals(type, 3)) {
|
||||||
//近半年
|
//近半年
|
||||||
|
List<AmmeterMonthRecord> ammeterMonthRecords = ammeterMonthRecordMapper.selectList(new LambdaQueryWrapper<AmmeterMonthRecord>()
|
||||||
|
.eq(AmmeterMonthRecord::getAmmeterNo, ammeterNo)
|
||||||
|
.eq(AmmeterMonthRecord::getAmmeterNo, projectSn));
|
||||||
|
List<String> dateStrList = DateUtils.getDateStrList(90, "yyyy-MM");
|
||||||
|
List<TrendVo> list = ammeterMonthRecords.stream().map(detail -> {
|
||||||
|
TrendVo vo = new TrendVo();
|
||||||
|
vo.setY(detail.getUseDegree() + "");
|
||||||
|
vo.setX(detail.getMonthTime() + "");
|
||||||
|
return vo;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
return TrendVo.fillTrendVos(list, dateStrList, "yyyy-MM");
|
||||||
|
} else if (Objects.equals(type, 4)) {
|
||||||
|
//近一年
|
||||||
|
List<AmmeterMonthRecord> ammeterMonthRecords = ammeterMonthRecordMapper.selectList(new LambdaQueryWrapper<AmmeterMonthRecord>()
|
||||||
|
.eq(AmmeterMonthRecord::getAmmeterNo, ammeterNo)
|
||||||
|
.eq(AmmeterMonthRecord::getAmmeterNo, projectSn));
|
||||||
|
List<String> dateStrList = DateUtils.getDateStrList(93, "yyyy-MM");
|
||||||
|
List<TrendVo> list = ammeterMonthRecords.stream().map(detail -> {
|
||||||
|
TrendVo vo = new TrendVo();
|
||||||
|
vo.setY(detail.getUseDegree() + "");
|
||||||
|
vo.setX(detail.getMonthTime() + "");
|
||||||
|
return vo;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
return TrendVo.fillTrendVos(list, dateStrList, "yyyy-MM");
|
||||||
}
|
}
|
||||||
return trendVos;
|
return trendVos;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package com.zhgd.xmgl.util;
|
package com.zhgd.xmgl.util;
|
||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUnit;
|
import cn.hutool.core.date.DateUnit;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
@ -425,11 +426,11 @@ public class DateUtils {
|
|||||||
public static List<String> getCurrentMonthAllDayList() {
|
public static List<String> getCurrentMonthAllDayList() {
|
||||||
ArrayList<String> rtList = new ArrayList<>();
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
DateTime beginDate = cn.hutool.core.date.DateUtil.beginOfMonth(now);
|
DateTime beginDate = DateUtil.beginOfMonth(now);
|
||||||
DateTime endDate = cn.hutool.core.date.DateUtil.endOfMonth(now);
|
DateTime endDate = DateUtil.endOfMonth(now);
|
||||||
long offset = cn.hutool.core.date.DateUtil.betweenDay(beginDate, endDate, true);
|
long offset = DateUtil.betweenDay(beginDate, endDate, true);
|
||||||
for (int i = 0; i < offset + 1; i++) {
|
for (int i = 0; i < offset + 1; i++) {
|
||||||
rtList.add(cn.hutool.core.date.DateUtil.formatDate(cn.hutool.core.date.DateUtil.offsetDay(beginDate, i)));
|
rtList.add(DateUtil.formatDate(DateUtil.offsetDay(beginDate, i)));
|
||||||
}
|
}
|
||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
@ -441,11 +442,11 @@ public class DateUtils {
|
|||||||
*/
|
*/
|
||||||
public static List<String> getDaysBetweenLastMonth() {
|
public static List<String> getDaysBetweenLastMonth() {
|
||||||
ArrayList<String> rtList = new ArrayList<>();
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
DateTime beginDate = cn.hutool.core.date.DateUtil.lastMonth();
|
DateTime beginDate = DateUtil.lastMonth();
|
||||||
DateTime endDate = DateTime.now();
|
DateTime endDate = DateTime.now();
|
||||||
long offset = cn.hutool.core.date.DateUtil.betweenDay(beginDate, endDate, true);
|
long offset = DateUtil.betweenDay(beginDate, endDate, true);
|
||||||
for (int i = 0; i < offset + 1; i++) {
|
for (int i = 0; i < offset + 1; i++) {
|
||||||
rtList.add(cn.hutool.core.date.DateUtil.formatDate(cn.hutool.core.date.DateUtil.offsetDay(beginDate, i)));
|
rtList.add(DateUtil.formatDate(DateUtil.offsetDay(beginDate, i)));
|
||||||
}
|
}
|
||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
@ -457,11 +458,11 @@ public class DateUtils {
|
|||||||
*/
|
*/
|
||||||
public static List<String> getDaysBetweenLastWeek() {
|
public static List<String> getDaysBetweenLastWeek() {
|
||||||
ArrayList<String> rtList = new ArrayList<>();
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
DateTime beginDate = cn.hutool.core.date.DateUtil.lastWeek();
|
DateTime beginDate = DateUtil.lastWeek();
|
||||||
DateTime endDate = DateTime.now();
|
DateTime endDate = DateTime.now();
|
||||||
long offset = cn.hutool.core.date.DateUtil.betweenDay(beginDate, endDate, true);
|
long offset = DateUtil.betweenDay(beginDate, endDate, true);
|
||||||
for (int i = 0; i < offset + 1; i++) {
|
for (int i = 0; i < offset + 1; i++) {
|
||||||
rtList.add(cn.hutool.core.date.DateUtil.formatDate(cn.hutool.core.date.DateUtil.offsetDay(beginDate, i)));
|
rtList.add(DateUtil.formatDate(DateUtil.offsetDay(beginDate, i)));
|
||||||
}
|
}
|
||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
@ -507,9 +508,9 @@ public class DateUtils {
|
|||||||
ArrayList<String> rtList = new ArrayList<>();
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
DateTime beginDate = DateUtil.parseDate(queryStartTime);
|
DateTime beginDate = DateUtil.parseDate(queryStartTime);
|
||||||
DateTime endDate = DateUtil.parseDate(queryEndTime);
|
DateTime endDate = DateUtil.parseDate(queryEndTime);
|
||||||
long offset = cn.hutool.core.date.DateUtil.betweenDay(beginDate, endDate, true);
|
long offset = DateUtil.betweenDay(beginDate, endDate, true);
|
||||||
for (int i = 0; i < offset + 1; i++) {
|
for (int i = 0; i < offset + 1; i++) {
|
||||||
rtList.add(cn.hutool.core.date.DateUtil.format(cn.hutool.core.date.DateUtil.offsetDay(beginDate, i), format));
|
rtList.add(DateUtil.format(DateUtil.offsetDay(beginDate, i), format));
|
||||||
}
|
}
|
||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
@ -521,11 +522,11 @@ public class DateUtils {
|
|||||||
*/
|
*/
|
||||||
public static List<String> getDaysBetweenLastWeekWithoutYear() {
|
public static List<String> getDaysBetweenLastWeekWithoutYear() {
|
||||||
ArrayList<String> rtList = new ArrayList<>();
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
DateTime beginDate = cn.hutool.core.date.DateUtil.lastWeek();
|
DateTime beginDate = DateUtil.lastWeek();
|
||||||
DateTime endDate = DateTime.now();
|
DateTime endDate = DateTime.now();
|
||||||
long offset = cn.hutool.core.date.DateUtil.betweenDay(beginDate, endDate, true);
|
long offset = DateUtil.betweenDay(beginDate, endDate, true);
|
||||||
for (int i = 0; i < offset + 1; i++) {
|
for (int i = 0; i < offset + 1; i++) {
|
||||||
rtList.add(cn.hutool.core.date.DateUtil.format(cn.hutool.core.date.DateUtil.offsetDay(beginDate, i), "MM-dd"));
|
rtList.add(DateUtil.format(DateUtil.offsetDay(beginDate, i), "MM-dd"));
|
||||||
}
|
}
|
||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
@ -537,11 +538,11 @@ public class DateUtils {
|
|||||||
*/
|
*/
|
||||||
public static List<String> getHoursListLastDay() {
|
public static List<String> getHoursListLastDay() {
|
||||||
ArrayList<String> rtList = new ArrayList<>();
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
DateTime beginDate = cn.hutool.core.date.DateUtil.yesterday();
|
DateTime beginDate = DateUtil.yesterday();
|
||||||
DateTime endDate = DateTime.now();
|
DateTime endDate = DateTime.now();
|
||||||
long offset = cn.hutool.core.date.DateUtil.between(beginDate, endDate, DateUnit.HOUR);
|
long offset = DateUtil.between(beginDate, endDate, DateUnit.HOUR);
|
||||||
for (int i = 1; i < offset + 1; i++) {
|
for (int i = 1; i < offset + 1; i++) {
|
||||||
rtList.add(cn.hutool.core.date.DateUtil.format(cn.hutool.core.date.DateUtil.offsetHour(beginDate, i), "HH:00"));
|
rtList.add(DateUtil.format(DateUtil.offsetHour(beginDate, i), "HH:00"));
|
||||||
}
|
}
|
||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
@ -557,7 +558,41 @@ public class DateUtils {
|
|||||||
return DateUtil.formatDate(DateUtil.offsetDay(DateUtil.parseDate(dayStr), offset));
|
return DateUtil.formatDate(DateUtil.offsetDay(DateUtil.parseDate(dayStr), offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有日期列表
|
||||||
|
*
|
||||||
|
* @param type 类型:
|
||||||
|
* 10.近12小时,20.近24小时,30.近半天,40.近一天,50.近两天,60.近一周,70.近两周,80.近一个月,90.近半年,93.近一年
|
||||||
|
* 100.今天,200.昨天,300.本周,400.本月,500.本年,600.去年
|
||||||
|
* @param pattern 格式 如:yyyy-MM-dd HH:mm:ss
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static List<String> getDateStrList(int type, String pattern) {
|
||||||
|
if (type == 1) {
|
||||||
|
|
||||||
|
} else if (type == 90) {
|
||||||
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
|
DateTime endDate = DateTime.now();
|
||||||
|
DateTime beginDate = DateUtil.offsetMonth(endDate, -6);
|
||||||
|
long offset = DateUtil.betweenMonth(beginDate, endDate, true);
|
||||||
|
for (int i = 1; i < offset + 1; i++) {
|
||||||
|
rtList.add(DateUtil.format(DateUtil.offsetMonth(beginDate, i), pattern));
|
||||||
|
}
|
||||||
|
return rtList;
|
||||||
|
} else if (type == 93) {
|
||||||
|
ArrayList<String> rtList = new ArrayList<>();
|
||||||
|
DateTime endDate = DateTime.now();
|
||||||
|
DateTime beginDate = DateUtil.offsetMonth(endDate, -12);
|
||||||
|
long offset = DateUtil.betweenMonth(beginDate, endDate, true);
|
||||||
|
for (int i = 1; i < offset + 1; i++) {
|
||||||
|
rtList.add(DateUtil.format(DateUtil.offsetMonth(beginDate, i), pattern));
|
||||||
|
}
|
||||||
|
return rtList;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println(getDaysBetweenLastHalfMonth());
|
System.out.println(getDateStrList(93, "yyyy-MM"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user