| @@ -16,5 +16,5 @@ public interface KwMeterDataMapper extends CommonMapper<KwMeterData, Long> { | |||||
| List<KwMeterDataVo> findVoList(KwMeterDataDto param); | List<KwMeterDataVo> findVoList(KwMeterDataDto param); | ||||
| List<KwMeterDataVo> getPower(KwMeterDataDto param); | |||||
| KwMeterDataVo getPower(KwMeterDataDto param); | |||||
| } | } | ||||
| @@ -436,6 +436,12 @@ public class WxChartServiceImpl implements WxChartDataService { | |||||
| } | } | ||||
| } | } | ||||
| kwMeterDataDto.setReportType(EnumMeterDataReportType.BY_HOUR.getCode()); | |||||
| List<KwMeterDataVo> monthHoursPower = kwMeterDataService.findVoList(kwMeterDataDto); | |||||
| resultMap.put("monthHoursPower",monthHoursPower); | |||||
| resultMap.put("monthDailyPower",monthDailyPower); | resultMap.put("monthDailyPower",monthDailyPower); | ||||
| kwMeterDataDto = new KwMeterDataDto(); | kwMeterDataDto = new KwMeterDataDto(); | ||||
| @@ -462,35 +468,33 @@ public class WxChartServiceImpl implements WxChartDataService { | |||||
| resultMap.put("yearMonthlyPower",yearMonthlyPower); | resultMap.put("yearMonthlyPower",yearMonthlyPower); | ||||
| kwMeterDataDto.setReportType(EnumMeterDataReportType.BY_HOUR.getCode()); | |||||
| List<KwMeterDataVo> monthHoursPower = kwMeterDataService.findVoList(kwMeterDataDto); | |||||
| resultMap.put("monthHoursPower",monthHoursPower); | |||||
| kwMeterDataDto = new KwMeterDataDto(); | kwMeterDataDto = new KwMeterDataDto(); | ||||
| { | |||||
| kwMeterDataDto.setStartTime(addDay(0)); | |||||
| kwMeterDataDto.setEndTime(addDay(new Date(), 0)); | |||||
| kwMeterDataDto.setTenantId(tenantId); | |||||
| KwMeterDataVo todayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); | |||||
| if (todayUsedPower.getUsedPower() != null) | |||||
| resultMap.put("todayUsedPower", todayUsedPower.getUsedPower()); | |||||
| kwMeterDataDto.setStartTime(addDay(-1)); | |||||
| kwMeterDataDto.setEndTime(addDay(new Date(), -1)); | |||||
| kwMeterDataDto.setTenantId(tenantId); | |||||
| KwMeterDataVo yesterdayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); | |||||
| if (yesterdayUsedPower.getUsedPower() != null) | |||||
| resultMap.put("yesterdayUsedPower", yesterdayUsedPower.getUsedPower()); | |||||
| if (yesterdayUsedPower.getUsedPower() != null && todayUsedPower.getUsedPower() != null && yesterdayUsedPower.getUsedPower() != 0) { | |||||
| double hbd = (double) (todayUsedPower.getUsedPower() - yesterdayUsedPower.getUsedPower()) / yesterdayUsedPower.getUsedPower() * 100; | |||||
| double hb = new BigDecimal(hbd).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | |||||
| resultMap.put("todayUsedPowerRate", hb + "%"); | |||||
| } else { | |||||
| resultMap.put("todayUsedPowerRate", "--" + "%"); | |||||
| } | |||||
| kwMeterDataDto.setStartTime(addDay(-1)); | |||||
| kwMeterDataDto.setEndTime(addDay(new Date(), -1)); | |||||
| kwMeterDataDto.setTenantId(tenantId); | |||||
| KwMeterDataVo yesterdayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); | |||||
| kwMeterDataDto.setStartTime(addDay(0)); | |||||
| kwMeterDataDto.setEndTime(addDay(new Date(), 0)); | |||||
| kwMeterDataDto.setTenantId(tenantId); | |||||
| KwMeterDataVo todayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); | |||||
| if (todayUsedPower.getUsedPower() != null) | |||||
| resultMap.put("todayUsedPower", todayUsedPower.getUsedPower()); | |||||
| if (yesterdayUsedPower.getUsedPower() != null) | |||||
| resultMap.put("yesterdayUsedPower", yesterdayUsedPower.getUsedPower()); | |||||
| if (yesterdayUsedPower.getUsedPower() != null && todayUsedPower.getUsedPower() != null && yesterdayUsedPower.getUsedPower() != 0) { | |||||
| double hbd = (double) (todayUsedPower.getUsedPower() - yesterdayUsedPower.getUsedPower()) / yesterdayUsedPower.getUsedPower() * 100; | |||||
| double hb = new BigDecimal(hbd).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | |||||
| resultMap.put("todayUsedPowerRate", hb + "%"); | |||||
| } else { | |||||
| resultMap.put("todayUsedPowerRate", "--" + "%"); | |||||
| } | } | ||||
| kwMeterDataDto.setStartTime(addMonth(0)); | kwMeterDataDto.setStartTime(addMonth(0)); | ||||
| kwMeterDataDto.setEndTime(addMonth(new Date(),0)); | kwMeterDataDto.setEndTime(addMonth(new Date(),0)); | ||||
| kwMeterDataDto.setTenantId(tenantId); | kwMeterDataDto.setTenantId(tenantId); | ||||
| @@ -82,40 +82,57 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { | |||||
| usedPower.setMeterId(dto.getMeterId()); | usedPower.setMeterId(dto.getMeterId()); | ||||
| usedPower.setTenantId(dto.getTenantId()); | usedPower.setTenantId(dto.getTenantId()); | ||||
| usedPower.setReportTime(new Date().toString()); | usedPower.setReportTime(new Date().toString()); | ||||
| if (dto.getStartTime() != null) { | |||||
| if (dto.getStartTime() != null && dto.getEndTime() != null) { | |||||
| KwMeterDataDto param = new KwMeterDataDto(); | KwMeterDataDto param = new KwMeterDataDto(); | ||||
| param.setTenantId(dto.getTenantId()); | param.setTenantId(dto.getTenantId()); | ||||
| param.setMeterId(dto.getMeterId()); | param.setMeterId(dto.getMeterId()); | ||||
| param.setReportType(dto.getReportType()); | param.setReportType(dto.getReportType()); | ||||
| param.setStartTime(dto.getStartTime()); | param.setStartTime(dto.getStartTime()); | ||||
| List<KwMeterDataVo> startPower = kwMeterDataMapper.getPower(param); | |||||
| if (startPower.size() > 0) { | |||||
| usedPower.setRecordStartTime(startPower.get(0).getRecordStartTime()); | |||||
| usedPower.setLastTotalPower(startPower.get(0).getTotalPower()); | |||||
| } | |||||
| } | |||||
| if (dto.getEndTime() != null) { | |||||
| KwMeterDataDto param = new KwMeterDataDto(); | |||||
| param.setTenantId(dto.getTenantId()); | |||||
| param.setMeterId(dto.getMeterId()); | |||||
| param.setReportType(dto.getReportType()); | |||||
| param.setEndTime(dto.getEndTime()); | param.setEndTime(dto.getEndTime()); | ||||
| List<KwMeterDataVo> endPower = kwMeterDataMapper.getPower(param); | |||||
| if (endPower.size() > 0) { | |||||
| usedPower.setRecordEndTime(endPower.get(0).getRecordEndTime()); | |||||
| usedPower.setTotalPower(endPower.get(0).getTotalPower()); | |||||
| KwMeterDataVo usedPowerRes = kwMeterDataMapper.getPower(param); | |||||
| if (usedPowerRes != null) { | |||||
| usedPower.setTotalPower(usedPowerRes.getTotalPower()); | |||||
| usedPower.setLastTotalPower(usedPowerRes.getLastTotalPower()); | |||||
| usedPower.setRecordStartTime(usedPowerRes.getRecordStartTime()); | |||||
| usedPower.setRecordEndTime(usedPowerRes.getRecordEndTime()); | |||||
| usedPower.setUsedPower(usedPowerRes.getUsedPower()); | |||||
| } | } | ||||
| } | |||||
| if (usedPower.getLastTotalPower()==null) | |||||
| usedPower.setLastTotalPower(dto.getStartNumber()); | |||||
| if (usedPower.getTotalPower()==null) | |||||
| usedPower.setTotalPower(dto.getEndNumber()); | |||||
| if (usedPower.getLastTotalPower()!=null && usedPower.getTotalPower() != null) | |||||
| usedPower.setUsedPower(usedPower.getTotalPower() - usedPower.getLastTotalPower()); | |||||
| } else { | |||||
| if (dto.getStartTime() != null) { | |||||
| KwMeterDataDto param = new KwMeterDataDto(); | |||||
| param.setTenantId(dto.getTenantId()); | |||||
| param.setMeterId(dto.getMeterId()); | |||||
| param.setReportType(dto.getReportType()); | |||||
| param.setStartTime(dto.getStartTime()); | |||||
| KwMeterDataVo startPower = kwMeterDataMapper.getPower(param); | |||||
| if (startPower != null) { | |||||
| usedPower.setRecordStartTime(startPower.getRecordStartTime()); | |||||
| usedPower.setLastTotalPower(startPower.getTotalPower()); | |||||
| } | |||||
| } | |||||
| if (dto.getEndTime() != null) { | |||||
| KwMeterDataDto param = new KwMeterDataDto(); | |||||
| param.setTenantId(dto.getTenantId()); | |||||
| param.setMeterId(dto.getMeterId()); | |||||
| param.setReportType(dto.getReportType()); | |||||
| param.setEndTime(dto.getEndTime()); | |||||
| KwMeterDataVo endPower = kwMeterDataMapper.getPower(param); | |||||
| if (endPower != null) { | |||||
| usedPower.setRecordEndTime(endPower.getRecordEndTime()); | |||||
| usedPower.setTotalPower(endPower.getTotalPower()); | |||||
| } | |||||
| } | |||||
| if (usedPower.getLastTotalPower() == null) | |||||
| usedPower.setLastTotalPower(dto.getStartNumber()); | |||||
| if (usedPower.getTotalPower() == null) | |||||
| usedPower.setTotalPower(dto.getEndNumber()); | |||||
| if (usedPower.getLastTotalPower() != null && usedPower.getTotalPower() != null) | |||||
| usedPower.setUsedPower(usedPower.getTotalPower() - usedPower.getLastTotalPower()); | |||||
| } | |||||
| return usedPower; | return usedPower; | ||||
| } | } | ||||
| } | } | ||||
| @@ -199,7 +199,7 @@ | |||||
| <select id="getPower" parameterType="com.iformall.domain.dto.KwMeterDataDto" resultMap="VoResultMap"> | <select id="getPower" parameterType="com.iformall.domain.dto.KwMeterDataDto" resultMap="VoResultMap"> | ||||
| SELECT | SELECT | ||||
| <if test=" null == reportType"> | <if test=" null == reportType"> | ||||
| now() as reportTime, | |||||
| #{reportTime} as reportTime, | |||||
| </if> | </if> | ||||
| <if test=" 1 == reportType "> | <if test=" 1 == reportType "> | ||||
| date_format(create_time, '%Y-%m-%d %H:00') as reportTime, | date_format(create_time, '%Y-%m-%d %H:00') as reportTime, | ||||
| @@ -218,6 +218,9 @@ | |||||
| max(device_time) as recordEndTime, | max(device_time) as recordEndTime, | ||||
| max(total_power) as totalPower, | max(total_power) as totalPower, | ||||
| </if> | </if> | ||||
| <if test=" null != endTime and null != endTime"> | |||||
| sum(used_power) as usedPower, | |||||
| </if> | |||||
| tenant_id,box_id,meter_id | tenant_id,box_id,meter_id | ||||
| FROM kw_meter_data | FROM kw_meter_data | ||||
| where 1 = 1 | where 1 = 1 | ||||