| @@ -48,7 +48,6 @@ public class KwMerchantMeterController extends BaseController { | |||
| public Result list(@ModelAttribute KwMerchantMeterDto kwMerchantMeterDto, Integer pageNum, Integer pageSize) { | |||
| if (kwMerchantMeterDto == null) kwMerchantMeterDto = new KwMerchantMeterDto(); | |||
| kwMerchantMeterDto.setTenantId(getTenantId()); | |||
| kwMerchantMeterDto.setStatus(EnumMerchantMeterStatus.VALID.getCode()); | |||
| return new ResultData(kwMerchantMeterService.listVoAsPage(kwMerchantMeterDto, pageNum, pageSize)); | |||
| } | |||
| @@ -0,0 +1,27 @@ | |||
| package com.iformall.domain.dto; | |||
| import com.iformall.domain.po.BaseEntity; | |||
| import lombok.Data; | |||
| import java.util.ArrayList; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| /** | |||
| * @author gongbiao | |||
| */ | |||
| @Data | |||
| public class KwMerchantMeterDataDto extends KwMeterDataDto { | |||
| @io.swagger.annotations.ApiModelProperty(value="状态1使用0停用",name="merchantStatus") | |||
| private Integer merchantStatus; | |||
| @io.swagger.annotations.ApiModelProperty(value = "商户ID", name = "merchantId") | |||
| private Long merchantId; | |||
| @io.swagger.annotations.ApiModelProperty(value = "业态ID", name = "businessId") | |||
| private Integer businessId; | |||
| @io.swagger.annotations.ApiModelProperty(value = "获取个数", name = "limitCount") | |||
| private Integer limitCount; | |||
| } | |||
| @@ -31,8 +31,8 @@ public class KwMerchantMeterDto extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="子业态",name="subBusinessId") | |||
| private Integer subBusinessId; | |||
| @io.swagger.annotations.ApiModelProperty(value="状态1使用0停用",name="status") | |||
| private Integer status; | |||
| @io.swagger.annotations.ApiModelProperty(value="状态1使用0停用",name="merchantStatus") | |||
| private Integer merchantStatus; | |||
| protected String sortColumns; | |||
| @@ -57,9 +57,8 @@ public class KwMeterDataDto extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "结束电量", name = "endNumber") | |||
| private Integer endNumber; | |||
| @io.swagger.annotations.ApiModelProperty(value = "商户ID", name = "merchantId") | |||
| private Long merchantId; | |||
| @io.swagger.annotations.ApiModelProperty(value = "电表状态", name = "status") | |||
| private Integer status; | |||
| public static enum Field { | |||
| RecordStartTime_ASC("`recordStartTime` ASC"), | |||
| @@ -0,0 +1,28 @@ | |||
| package com.iformall.domain.vo; | |||
| import com.iformall.domain.po.BaseEntity; | |||
| import lombok.Data; | |||
| import java.util.Date; | |||
| /** | |||
| * @author gongbiao | |||
| */ | |||
| @Data | |||
| public class KwMerchantMeterDataVo extends KwMeterDataVo { | |||
| @io.swagger.annotations.ApiModelProperty(value = "商户ID", name = "merchantId") | |||
| private Long merchantId; | |||
| @io.swagger.annotations.ApiModelProperty(value="商户名",name="name") | |||
| private String merchantName; | |||
| @io.swagger.annotations.ApiModelProperty(value="商户联系方式",name="linkPhone") | |||
| private String merchantLinkPhone; | |||
| @io.swagger.annotations.ApiModelProperty(value = "业态ID", name = "businessId") | |||
| private Integer businessId; | |||
| @io.swagger.annotations.ApiModelProperty(value = "业态名称", name = "businessTitle") | |||
| private String businessTitle; | |||
| } | |||
| @@ -1,8 +1,10 @@ | |||
| package com.iformall.mapper; | |||
| import com.iformall.common.CommonMapper; | |||
| import com.iformall.domain.dto.KwMerchantMeterDataDto; | |||
| import com.iformall.domain.dto.KwMerchantMeterDto; | |||
| import com.iformall.domain.po.KwMerchantMeter; | |||
| import com.iformall.domain.vo.KwMerchantMeterDataVo; | |||
| import com.iformall.domain.vo.KwMerchantMeterVo; | |||
| import org.apache.ibatis.annotations.Param; | |||
| @@ -10,7 +12,9 @@ import java.util.List; | |||
| public interface KwMerchantMeterMapper extends CommonMapper<KwMerchantMeter, Long> { | |||
| List<KwMerchantMeterVo> findListVo(KwMerchantMeterDto param); | |||
| List<KwMerchantMeterVo> findVoList(KwMerchantMeterDto param); | |||
| List<KwMerchantMeterDataVo> findDataVoList(KwMerchantMeterDataDto param); | |||
| KwMerchantMeterVo getById(@Param("merchantId")Long merchantId); | |||
| @@ -4,7 +4,6 @@ import com.iformall.common.CommonMapper; | |||
| import com.iformall.domain.dto.KwMeterDataDto; | |||
| import com.iformall.domain.po.KwMeterData; | |||
| import com.iformall.domain.vo.KwMeterDataVo; | |||
| import org.apache.ibatis.annotations.Param; | |||
| import java.util.List; | |||
| @@ -5,6 +5,7 @@ import com.github.pagehelper.PageHelper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.dto.KwMerchantMeterDataDto; | |||
| import com.iformall.domain.dto.KwMeterDataDto; | |||
| import com.iformall.domain.dto.MarkingCouponDataReportDto; | |||
| import com.iformall.domain.dto.WxCUserBasicInfoDto; | |||
| @@ -24,6 +25,7 @@ import org.apache.commons.collections.CollectionUtils; | |||
| import org.apache.commons.collections.map.HashedMap; | |||
| import org.apache.commons.collections.map.LinkedMap; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.flowable.common.engine.impl.calendar.BusinessCalendar; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| @@ -349,6 +351,15 @@ public class WxChartServiceImpl implements WxChartDataService { | |||
| return new ResultData(ErrorCode.REPORT_TYPE_UNKNOWN); | |||
| } | |||
| private Date addHour(int addHourAmount) { | |||
| Calendar c = Calendar.getInstance(); | |||
| c.set(Calendar.HOUR_OF_DAY, addHourAmount); | |||
| c.set(Calendar.MINUTE, 0); | |||
| c.set(Calendar.SECOND, 0); | |||
| c.set(Calendar.MILLISECOND, 0); | |||
| Date date = c.getTime(); | |||
| return date; | |||
| } | |||
| private Date addDay(int addDayAmount) { | |||
| Calendar c = Calendar.getInstance(); | |||
| @@ -449,13 +460,13 @@ public class WxChartServiceImpl implements WxChartDataService { | |||
| kwMeterDataDto.setEndTime(addMonth(1)); | |||
| kwMeterDataDto.setTenantId(tenantId); | |||
| kwMeterDataDto.setReportType(EnumMeterDataReportType.MONTH.getCode()); | |||
| List<KwMeterDataVo> kwMeterDataVos = kwMeterDataService.findVoList(kwMeterDataDto); | |||
| List<KwMeterDataVo> kwMeterDataVosMonthly = kwMeterDataService.findVoList(kwMeterDataDto); | |||
| List<KwMeterDataVo> yearMonthlyPower = new ArrayList<>(); | |||
| for (int i = 11; i >= 0; i--) { | |||
| String date = new SimpleDateFormat("yyyy-MM").format(addMonth(-i)); | |||
| Optional<KwMeterDataVo> optionalKwMeterDataVo = kwMeterDataVos.stream().filter(md->md.getReportTime().equals(date)).findFirst(); | |||
| Optional<KwMeterDataVo> optionalKwMeterDataVo = kwMeterDataVosMonthly.stream().filter(md->md.getReportTime().equals(date)).findFirst(); | |||
| if (optionalKwMeterDataVo.isPresent()) | |||
| yearMonthlyPower.add(optionalKwMeterDataVo.get()); | |||
| else { | |||
| @@ -468,6 +479,29 @@ public class WxChartServiceImpl implements WxChartDataService { | |||
| resultMap.put("yearMonthlyPower",yearMonthlyPower); | |||
| kwMeterDataDto = new KwMeterDataDto(); | |||
| kwMeterDataDto.setStartTime(addDay(0)); | |||
| kwMeterDataDto.setEndTime(addDay(1)); | |||
| kwMeterDataDto.setTenantId(tenantId); | |||
| kwMeterDataDto.setReportType(EnumMeterDataReportType.HOUR.getCode()); | |||
| List<KwMeterDataVo> kwMeterDataVosHourly = kwMeterDataService.findVoList(kwMeterDataDto); | |||
| List<KwMeterDataVo> todayHourlyPower = new ArrayList<>(); | |||
| for (int i = 0; i <= 23; i++) { | |||
| String date = new SimpleDateFormat("HH:mm").format(addHour(i)); | |||
| Optional<KwMeterDataVo> optionalKwMeterDataVo = kwMeterDataVosHourly.stream().filter(md->md.getReportTime().contains(date)).findFirst(); | |||
| if (optionalKwMeterDataVo.isPresent()) { | |||
| optionalKwMeterDataVo.get().setReportTime(date); | |||
| todayHourlyPower.add(optionalKwMeterDataVo.get()); | |||
| } | |||
| else { | |||
| KwMeterDataVo kwMeterDataVo = new KwMeterDataVo(); | |||
| kwMeterDataVo.setReportTime(date); | |||
| todayHourlyPower.add(kwMeterDataVo); | |||
| } | |||
| } | |||
| resultMap.put("todayHourlyPower",todayHourlyPower); | |||
| kwMeterDataDto = new KwMeterDataDto(); | |||
| @@ -487,7 +521,9 @@ public class WxChartServiceImpl implements WxChartDataService { | |||
| if (yesterdayUsedPower.getUsedPower() != null) | |||
| resultMap.put("yesterdayUsedPower", yesterdayUsedPower.getUsedPower()); | |||
| if (yesterdayUsedPower.getUsedPower() != null && todayUsedPower.getUsedPower() != null && yesterdayUsedPower.getUsedPower() != 0) { | |||
| if (yesterdayUsedPower.getUsedPower() != null | |||
| && todayUsedPower.getUsedPower() != null | |||
| && !yesterdayUsedPower.getUsedPower().equals(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 + "%"); | |||
| @@ -523,16 +559,46 @@ public class WxChartServiceImpl implements WxChartDataService { | |||
| int meterCount = kwMeterService.selectCount(kwMeter); | |||
| kwMeter.setBindStatus(EnumMeterBindStatus.BIND.getCode()); | |||
| int meterBindCount = kwMeterService.selectCount(kwMeter); | |||
| int boxMeterCount = kwMeterService.selectCount(kwMeter); | |||
| resultMap.put("meterCount",meterCount); | |||
| resultMap.put("meterBindCount",meterBindCount); | |||
| resultMap.put("boxMeterCount",boxMeterCount); | |||
| KwMerchantMeter kwMerchantMeter = new KwMerchantMeter(); | |||
| kwMerchantMeter.setTenantId(tenantId); | |||
| kwMerchantMeter.setStatus(EnumMerchantMeterStatus.VALID.getCode()); | |||
| int meterMerchantCount = kwMerchantMeterService.selectCount(kwMerchantMeter); | |||
| resultMap.put("meterMerchantCount",meterMerchantCount); | |||
| int merchantMeterCount = kwMerchantMeterService.selectCount(kwMerchantMeter); | |||
| resultMap.put("merchantMeterCount",merchantMeterCount); | |||
| KwMerchantMeterDataDto kwMerchantMeterDataDto = new KwMerchantMeterDataDto(); | |||
| kwMerchantMeterDataDto.setStartTime(addMonth(0)); | |||
| kwMerchantMeterDataDto.setEndTime(addMonth(new Date(),0)); | |||
| kwMerchantMeterDataDto.setSortColumns(KwMerchantMeterDataDto.Field.UsedPower_DESC); | |||
| kwMerchantMeterDataDto.setMerchantId(0L); | |||
| kwMerchantMeterDataDto.setLimitCount(10); | |||
| List <KwMerchantMeterDataVo> merchantTop10 = kwMerchantMeterService.findDataVoList(kwMerchantMeterDataDto); | |||
| resultMap.put("merchantTop10",merchantTop10); | |||
| kwMerchantMeterDataDto.setMerchantId(null); | |||
| kwMerchantMeterDataDto.setBusinessId(0); | |||
| kwMerchantMeterDataDto.setLimitCount(null); | |||
| List <KwMerchantMeterDataVo> businessPower = kwMerchantMeterService.findDataVoList(kwMerchantMeterDataDto); | |||
| List <WxBusiness> businessList = wxBusinessService.findListAll(tenantId,null); | |||
| businessList.stream().forEach(b->{ | |||
| Optional<KwMerchantMeterDataVo> businessData = businessPower.stream().filter(bd->bd.getBusinessId().equals(b.getId())).findAny(); | |||
| if (businessData.isPresent()) { | |||
| businessData.get().setBusinessTitle(b.getTitle()); | |||
| } else { | |||
| KwMerchantMeterDataVo newBusinessData = new KwMerchantMeterDataVo(); | |||
| newBusinessData.setBusinessId(b.getId()); | |||
| newBusinessData.setBusinessTitle(b.getTitle()); | |||
| businessPower.add(newBusinessData); | |||
| } | |||
| }); | |||
| resultMap.put("businessPower",businessPower); | |||
| return new ResultData(resultMap); | |||
| } | |||
| @@ -3,8 +3,10 @@ package com.iformall.service.kw; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.dto.KwMerchantMeterDataDto; | |||
| import com.iformall.domain.dto.KwMerchantMeterDto; | |||
| import com.iformall.domain.po.KwMerchantMeter; | |||
| import com.iformall.domain.vo.KwMerchantMeterDataVo; | |||
| import com.iformall.domain.vo.KwMerchantMeterVo; | |||
| @@ -44,9 +46,12 @@ public interface KwMerchantMeterService { | |||
| * 根据实体查询分页列表 | |||
| * | |||
| * @param record | |||
| * | |||
| * @return | |||
| */ | |||
| List<KwMerchantMeterVo> findListVo(KwMerchantMeterDto record); | |||
| List<KwMerchantMeterVo> findVoList(KwMerchantMeterDto record); | |||
| List<KwMerchantMeterDataVo> findDataVoList(KwMerchantMeterDataDto record); | |||
| int selectCount(KwMerchantMeter record); | |||
| int unbindBatch(KwMerchantMeter record); | |||
| @@ -5,9 +5,11 @@ import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.dto.KwMerchantMeterDataDto; | |||
| import com.iformall.domain.dto.KwMerchantMeterDto; | |||
| import com.iformall.domain.dto.KwMeterDataDto; | |||
| import com.iformall.domain.po.KwMerchantMeter; | |||
| import com.iformall.domain.vo.KwMerchantMeterDataVo; | |||
| import com.iformall.domain.vo.KwMerchantMeterVo; | |||
| import com.iformall.domain.vo.KwMeterDataVo; | |||
| import com.iformall.enums.EnumMerchantMeterStatus; | |||
| @@ -37,7 +39,7 @@ public class KwMerchantMeterServiceImpl implements KwMerchantMeterService { | |||
| @Override | |||
| public PageInfo<KwMerchantMeterVo> listVoAsPage(KwMerchantMeterDto record, Integer pageIndex, Integer pageSize) { | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMerchantMeterMapper.findListVo(record)); | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMerchantMeterMapper.findVoList(record)); | |||
| } | |||
| @Override | |||
| @@ -61,8 +63,13 @@ public class KwMerchantMeterServiceImpl implements KwMerchantMeterService { | |||
| } | |||
| @Override | |||
| public List<KwMerchantMeterVo> findListVo(KwMerchantMeterDto record) { | |||
| return kwMerchantMeterMapper.findListVo(record); | |||
| public List<KwMerchantMeterVo> findVoList(KwMerchantMeterDto record) { | |||
| return kwMerchantMeterMapper.findVoList(record); | |||
| } | |||
| @Override | |||
| public List<KwMerchantMeterDataVo> findDataVoList(KwMerchantMeterDataDto record) { | |||
| return kwMerchantMeterMapper.findDataVoList(record); | |||
| } | |||
| @Override | |||
| @@ -9,6 +9,7 @@ import com.iformall.common.ResultData; | |||
| import com.iformall.domain.dto.KwMeterDataDto; | |||
| import com.iformall.domain.po.KwMeterData; | |||
| import com.iformall.domain.vo.KwMeterDataVo; | |||
| import com.iformall.enums.EnumMeterStatus; | |||
| import com.iformall.mapper.KwMeterDataMapper; | |||
| import com.iformall.service.kw.KwMeterDataService; | |||
| import io.swagger.annotations.ApiOperation; | |||
| @@ -34,6 +35,7 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { | |||
| public PageInfo<KwMeterDataVo> listVoAsPage(KwMeterDataDto kwMeterDataDto, Integer pageIndex, Integer pageSize) { | |||
| if (kwMeterDataDto.getSortColumn() == null) | |||
| kwMeterDataDto.setSortColumns(KwMeterDataDto.Field.ReportTime_DESC); | |||
| kwMeterDataDto.setStatus(EnumMeterStatus.VALID.getCode()); | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMeterDataMapper.findVoList(kwMeterDataDto)); | |||
| } | |||
| @@ -41,6 +43,7 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { | |||
| public List<KwMeterDataVo> findVoList(KwMeterDataDto kwMeterDataDto) { | |||
| if (kwMeterDataDto.getSortColumn() == null) | |||
| kwMeterDataDto.setSortColumns(KwMeterDataDto.Field.ReportTime_ASC); | |||
| kwMeterDataDto.setStatus(EnumMeterStatus.VALID.getCode()); | |||
| return kwMeterDataMapper.findVoList(kwMeterDataDto); | |||
| } | |||
| @@ -111,12 +111,11 @@ | |||
| `id`, `tenant_id`, `merchant_id`, `status`, `name`, `link_phone` | |||
| </sql> | |||
| <select id="findListVo" parameterType="com.iformall.domain.dto.KwMerchantMeterDto" resultMap="BaseResultMapVo"> | |||
| <select id="findVoList" parameterType="com.iformall.domain.dto.KwMerchantMeterDto" resultMap="BaseResultMapVo"> | |||
| select <include refid="allColumnsVo"/> | |||
| from ( | |||
| select merchant_id from kw_merchant_meter | |||
| where `status` = 0 | |||
| <if test=" null != tenantId "> | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| @@ -130,8 +129,115 @@ | |||
| , wx_merchant | |||
| where temp.merchant_id = id | |||
| <if test=" null != merchantName and ''!=merchantName "> | |||
| and `name` like concat('%', #{merchantName},'%') | |||
| </if> | |||
| <if test=" null != linkPhone and ''!=linkPhone "> | |||
| and `link_phone` like concat('%', #{linkPhone},'%') | |||
| </if> | |||
| <if test=" null != merchantStatus "> | |||
| and `status` = #{merchantStatus} | |||
| </if> | |||
| <if test=" null != businessId "> | |||
| and `business_id` = #{businessId} | |||
| </if> | |||
| </select> | |||
| <sql id="dynamicWhereConditionsVo"> | |||
| where 1 = 1 | |||
| <if test=" null != tenantId "> | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| <if test=" null != boxId "> | |||
| and `box_id` = #{boxId} | |||
| </if> | |||
| <if test=" null != meterId "> | |||
| and `meter_id` = #{meterId} | |||
| </if> | |||
| <if test=" null != address "> | |||
| and `address` = #{address} | |||
| </if> | |||
| <if test=" null != startTime and null != endTime "> | |||
| and `create_time` between #{startTime} and #{endTime} | |||
| </if> | |||
| </sql> | |||
| <resultMap id="DataVoResultMap" type="com.iformall.domain.vo.KwMerchantMeterDataVo"> | |||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | |||
| <result column="totalPower" jdbcType="INTEGER" property="totalPower"/> | |||
| <result column="lastTotalPower" jdbcType="INTEGER" property="lastTotalPower"/> | |||
| <result column="usedPower" jdbcType="INTEGER" property="usedPower"/> | |||
| <result column="reportTime" jdbcType="VARCHAR" property="reportTime"/> | |||
| <result column="recordStartTime" jdbcType="TIMESTAMP" property="recordStartTime"/> | |||
| <result column="recordEndTime" jdbcType="TIMESTAMP" property="recordEndTime"/> | |||
| <result column="merchantId" jdbcType="BIGINT" property="merchantId"/> | |||
| <result column="merchantName" jdbcType="VARCHAR" property="merchantName"/> | |||
| <result column="merchantLinkPhone" jdbcType="VARCHAR" property="merchantLinkPhone"/> | |||
| <result column="businessId" jdbcType="INTEGER" property="businessId"/> | |||
| <result column="businessTitle" jdbcType="VARCHAR" property="businessTitle"/> | |||
| </resultMap> | |||
| <select id="findDataVoList" parameterType="com.iformall.domain.dto.KwMerchantMeterDataDto" resultMap="DataVoResultMap"> | |||
| select | |||
| temp.tenant_id, | |||
| <if test=" null != merchantId "> | |||
| mm.merchant_id as merchantId, | |||
| m.name as merchantName, | |||
| m.link_phone as merchantLinkPhone, | |||
| </if> | |||
| <if test=" null != businessId "> | |||
| m.business_id as businessId, | |||
| </if> | |||
| min(temp.recordStartTime) as recordStartTime, | |||
| max(temp.recordEndTime) as recordEndTime, | |||
| sum(temp.totalPower) as totalPower, | |||
| sum(temp.lastTotalPower) as lastTotalPower, | |||
| sum(temp.usedPower) as usedPower | |||
| from | |||
| kw_merchant_meter mm, | |||
| (SELECT | |||
| tenant_id,box_id,meter_id, | |||
| min(last_device_time) as recordStartTime, | |||
| min(last_total_power) as lastTotalPower, | |||
| max(device_time) as recordEndTime, | |||
| max(total_power) as totalPower, | |||
| sum(used_power) as usedPower | |||
| FROM kw_meter_data | |||
| <include refid="dynamicWhereConditionsVo"/> | |||
| group by meter_id | |||
| ) as temp, | |||
| wx_merchant m | |||
| where mm.status = 0 | |||
| and mm.meter_id = temp.meter_id | |||
| and mm.merchant_id = m.id | |||
| <if test=" null != merchantStatus "> | |||
| and m`status` = #{merchantStatus} | |||
| </if> | |||
| group by | |||
| temp.tenant_id | |||
| <if test=" null != merchantId "> | |||
| ,merchantId | |||
| </if> | |||
| <if test=" null != businessId "> | |||
| ,businessId | |||
| </if> | |||
| <if test=" null != limitCount">limit #{limitCount}</if> | |||
| <if test=" null != sortColumns">order by ${sortColumns}</if> | |||
| </select> | |||
| <select id="getById" parameterType="java.lang.Long" resultMap="BaseResultMapVo"> | |||
| select <include refid="allColumnsVo"/> | |||
| from ( | |||
| @@ -143,7 +143,6 @@ | |||
| </sql> | |||
| <select id="findVoList" parameterType="com.iformall.domain.dto.KwMeterDataDto" resultMap="VoResultMap"> | |||
| select | |||
| temp.tenant_id, | |||
| @@ -183,7 +182,10 @@ | |||
| FROM kw_meter_data | |||
| <include refid="dynamicWhereConditionsVo"/> | |||
| group by reportTime,meter_id | |||
| ) as temp | |||
| ) as temp join kw_meter on id = temp.meter_id | |||
| <if test=" null != status "> | |||
| and `status` = #{status} | |||
| </if> | |||
| group by | |||
| temp.reportTime, | |||
| temp.tenant_id | |||