developrelease_toaliyun_real
| @@ -46,8 +46,8 @@ public class KwMeterDataController extends BaseController { | |||
| @ApiOperation("获取电量") | |||
| @GetMapping("getMeterUsedPower") | |||
| public Result getMeterUsedPower(@ModelAttribute KwMeterDataDto kwMeterDataDto) { | |||
| @GetMapping("getPower") | |||
| public Result getMeterPower(@ModelAttribute KwMeterDataDto kwMeterDataDto) { | |||
| if (kwMeterDataDto == null) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| @@ -60,7 +60,7 @@ public class KwMeterDataController extends BaseController { | |||
| if (kwMeterDataDto.getEndTime() == null && kwMeterDataDto.getEndNumber() == null) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| return new ResultData(kwMeterDataService.getMeterUsedPower(kwMeterDataDto)); | |||
| return new ResultData(kwMeterDataService.getPower(kwMeterDataDto)); | |||
| } | |||
| @@ -64,7 +64,7 @@ public enum EnumChart { | |||
| BUSINESS(54,"业态分析"), | |||
| POWER_SUMMERY(54,"电能分析"), | |||
| POWER_SUMMERY(55,"电能分析"), | |||
| ; | |||
| public static EnumChart getEnum(Integer code) { | |||
| @@ -8,7 +8,8 @@ public enum EnumMeterDataReportType { | |||
| VALID(0, "全量"), | |||
| HOUR(1, "时"), | |||
| DAY(2, "日"), | |||
| MONTH(3, "月"); | |||
| MONTH(3, "月"), | |||
| BY_HOUR(4, "时分"); | |||
| public static EnumMeterDataReportType getEnum(Integer code) { | |||
| for (EnumMeterDataReportType value : values()) { | |||
| if (value.getCode().equals(code)) { | |||
| @@ -16,7 +16,9 @@ import com.iformall.service.MarkingDataReportService; | |||
| import com.iformall.service.WxBusinessService; | |||
| import com.iformall.service.WxChartDataService; | |||
| import com.iformall.service.WxCouponService; | |||
| import com.iformall.service.kw.KwMerchantMeterService; | |||
| import com.iformall.service.kw.KwMeterDataService; | |||
| import com.iformall.service.kw.KwMeterService; | |||
| import com.iformall.utils.DateUtils; | |||
| import org.apache.commons.collections.CollectionUtils; | |||
| import org.apache.commons.collections.map.HashedMap; | |||
| @@ -84,6 +86,11 @@ public class WxChartServiceImpl implements WxChartDataService { | |||
| @Autowired | |||
| KwMeterDataService kwMeterDataService; | |||
| @Autowired | |||
| KwMerchantMeterService kwMerchantMeterService; | |||
| @Autowired | |||
| KwMeterService kwMeterService; | |||
| @Override | |||
| public ResultData queryData(Map<String, String> paramsMap) { | |||
| @@ -347,26 +354,66 @@ public class WxChartServiceImpl implements WxChartDataService { | |||
| * @return | |||
| */ | |||
| private ResultData getPowerSummery(String tenantId,Map<String, String> paramsMap){ | |||
| /* | |||
| Map<String,Long> resultMap = new LinkedMap(); | |||
| Map<String,Object> resultMap = new LinkedMap(); | |||
| KwMeterDataDto kwMeterDataDto = new KwMeterDataDto(); | |||
| kwMeterDataDto.setStartTime(); | |||
| kwMeterDataDto.setEndTime(); | |||
| kwMeterDataDto.setStartTime(addDay(-29)); | |||
| kwMeterDataDto.setEndTime(addDay(1)); | |||
| kwMeterDataDto.setTenantId(tenantId); | |||
| kwMeterDataDto.setReportType(EnumMeterDataReportType.DAY.getCode()); | |||
| List<KwMeterDataVo> kwMeterDataVos = kwMeterDataService.findVoList(new WxBusiness()); | |||
| Map<String,Object> query = new HashedMap(); | |||
| query.put("tenantId",tenantId); | |||
| query.put("id",paramsMap.get("id")); | |||
| query.put("buildingId",paramsMap.get("buildingId")); | |||
| List<Map<String,Object>> mapList = wxMerchantMapper.findBusByFloorId(query); | |||
| for (Map<String,Object> map:mapList) { | |||
| resultMap.put((String)map.get("btitle"),(Long)map.get("count")); | |||
| List<KwMeterDataVo> kwMeterDataVos = kwMeterDataService.findVoList(kwMeterDataDto); | |||
| List<KwMeterDataVo> monthDailyPower = new ArrayList<>(); | |||
| for (int i = 30; i >= 0; i--) { | |||
| String date = new SimpleDateFormat("yyyy-MM-dd").format(addDay(-i)); | |||
| Optional<KwMeterDataVo> optionalKwMeterDataVo = kwMeterDataVos.stream().filter(md->md.getReportTime().equals(date)).findFirst(); | |||
| if (optionalKwMeterDataVo.isPresent()) | |||
| monthDailyPower.add(optionalKwMeterDataVo.get()); | |||
| else { | |||
| KwMeterDataVo kwMeterDataVo = new KwMeterDataVo(); | |||
| kwMeterDataVo.setReportTime(date); | |||
| monthDailyPower.add(kwMeterDataVo); | |||
| } | |||
| } | |||
| */ | |||
| return new ResultData(); | |||
| resultMap.put("monthDailyPower",monthDailyPower); | |||
| kwMeterDataDto.setReportType(EnumMeterDataReportType.BY_HOUR.getCode()); | |||
| List<KwMeterDataVo> monthHoursPower = kwMeterDataService.findVoList(kwMeterDataDto); | |||
| resultMap.put("monthHoursPower",monthHoursPower); | |||
| kwMeterDataDto = new KwMeterDataDto(); | |||
| kwMeterDataDto.setStartTime(addDay(-29)); | |||
| kwMeterDataDto.setEndTime(addDay(1)); | |||
| kwMeterDataDto.setTenantId(tenantId); | |||
| KwMeterDataVo currentPower = kwMeterDataService.getPower(kwMeterDataDto); | |||
| resultMap.put("currentPower",currentPower); | |||
| KwMeter kwMeter = new KwMeter(); | |||
| kwMeter.setTenantId(tenantId); | |||
| kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); | |||
| int meterCount = kwMeterService.selectCount(kwMeter); | |||
| kwMeter.setBindStatus(EnumMeterBindStatus.BIND.getCode()); | |||
| int meterBindCount = kwMeterService.selectCount(kwMeter); | |||
| resultMap.put("meterCount",meterCount); | |||
| resultMap.put("meterBindCount",meterBindCount); | |||
| KwMerchantMeter kwMerchantMeter = new KwMerchantMeter(); | |||
| kwMerchantMeter.setTenantId(tenantId); | |||
| kwMerchantMeter.setStatus(EnumMerchantMeterStatus.VALID.getCode()); | |||
| int meterMerchantCount = kwMerchantMeterService.selectCount(kwMerchantMeter); | |||
| resultMap.put("meterMerchantCount",meterMerchantCount); | |||
| return new ResultData(resultMap); | |||
| } | |||
| @@ -1533,7 +1533,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| Integer receivePeriod = wxRentContract.getReceivePeriod(); | |||
| result.put("lease", lease); | |||
| result.put("receivePeriod", receivePeriod); | |||
| result.put("payAccount", wxRentContract.getPayAccount().equals("") ? " " : wxRentContract.getPayAccount()); | |||
| String payAccountStr = " "; | |||
| if(wxRentContract.getPayAccount() != null && !wxRentContract.getPayAccount().equals("")) { | |||
| payAccountStr = wxRentContract.getPayAccount(); | |||
| } | |||
| result.put("payAccount", payAccountStr); | |||
| result.put("signDate", DateUtils.date2String(wxRentContract.getSignDate(), "yyyy-MM-dd")); | |||
| //主体名称-乙方 | |||
| if (StringUtils.isNotEmpty(wxRentContract.getSubjectName())) { | |||
| @@ -19,5 +19,5 @@ public interface KwMeterDataService { | |||
| int save(List<KwMeterData> recordList); | |||
| KwMeterDataVo getMeterUsedPower(KwMeterDataDto dto); | |||
| KwMeterDataVo getPower(KwMeterDataDto dto); | |||
| } | |||
| @@ -55,5 +55,5 @@ public interface KwMeterService { | |||
| */ | |||
| List<KwMeter> findList(KwMeter record); | |||
| int selectCount(KwMeter record); | |||
| } | |||
| @@ -86,5 +86,4 @@ public class KwMerchantMeterServiceImpl implements KwMerchantMeterService { | |||
| return kwMerchantMeterMapper.unbindBatch(record); | |||
| } | |||
| } | |||
| @@ -56,7 +56,7 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { | |||
| } | |||
| @Override | |||
| public KwMeterDataVo getMeterUsedPower(KwMeterDataDto dto) | |||
| public KwMeterDataVo getPower(KwMeterDataDto dto) | |||
| { | |||
| KwMeterDataVo usedPower = new KwMeterDataVo(); | |||
| usedPower.setMeterId(dto.getMeterId()); | |||
| @@ -100,5 +100,4 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { | |||
| return usedPower; | |||
| } | |||
| } | |||
| @@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.KwMeter; | |||
| import com.iformall.domain.po.KwMeterData; | |||
| import com.iformall.mapper.KwMeterMapper; | |||
| import com.iformall.service.kw.KwMeterService; | |||
| import org.slf4j.Logger; | |||
| @@ -60,5 +61,8 @@ public class KwMeterServiceImpl implements KwMeterService { | |||
| return kwMeterMapper.findList(record); | |||
| } | |||
| @Override | |||
| public int selectCount(KwMeter record) { | |||
| return kwMeterMapper.selectCount(record); | |||
| } | |||
| } | |||
| @@ -95,19 +95,22 @@ | |||
| <if test=" null != startTime and null != endTime "> | |||
| and `create_time` between #{startTime} and #{endTime} | |||
| </if> | |||
| <if test=" null == reportType and null != reportTime"> | |||
| and date_format(`create_time`, '%Y-%m-%d %H:00') = #{reportTime} | |||
| </if> | |||
| <if test=" null != reportType and 1 == reportType and null != reportTime"> | |||
| <if test=" 1 == reportType and null != reportTime"> | |||
| and date_format(`create_time`, '%Y-%m-%d') = #{reportTime} | |||
| </if> | |||
| <if test=" null != reportType and 2 == reportType and null != reportTime"> | |||
| <if test=" 2 == reportType and null != reportTime"> | |||
| and date_format(`create_time`, '%Y-%m') = #{reportTime} | |||
| </if> | |||
| <if test=" null != reportType and 3 == reportType and null != reportTime"> | |||
| <if test=" 3 == reportType and null != reportTime"> | |||
| and date_format(`create_time`, '%Y') = #{reportTime} | |||
| </if> | |||
| <if test=" 4 == reportType and null != reportTime"> | |||
| and date_format(`create_time`, '%Y-%m') = #{reportTime} | |||
| </if> | |||
| </sql> | |||
| @@ -115,10 +118,12 @@ | |||
| select | |||
| temp.tenant_id, | |||
| temp.reportTime, | |||
| min(temp.recordStartTime) as recordStartTime, | |||
| max(temp.recordEndTime) as recordEndTime, | |||
| sum(temp.totalPower) as totalPower, | |||
| sum(temp.lastTotalPower) as lastTotalPower, | |||
| <if test="4 != reportType "> | |||
| min(temp.recordStartTime) as recordStartTime, | |||
| max(temp.recordEndTime) as recordEndTime, | |||
| sum(temp.totalPower) as totalPower, | |||
| sum(temp.lastTotalPower) as lastTotalPower, | |||
| </if> | |||
| sum(temp.usedPower) as usedPower | |||
| from | |||
| (SELECT | |||
| @@ -126,19 +131,24 @@ | |||
| <if test=" null == reportType"> | |||
| create_time as reportTime, | |||
| </if> | |||
| <if test=" null != reportType and 1 == reportType "> | |||
| <if test="1 == reportType "> | |||
| date_format(create_time, '%Y-%m-%d %H:00') as reportTime, | |||
| </if> | |||
| <if test=" null != reportType and 2 == reportType "> | |||
| <if test="2 == reportType "> | |||
| date_format(create_time, '%Y-%m-%d') as reportTime, | |||
| </if> | |||
| <if test=" null != reportType and 3 == reportType "> | |||
| <if test="3 == reportType "> | |||
| date_format(create_time, '%Y-%m') as reportTime, | |||
| </if> | |||
| min(last_device_time) as recordStartTime, | |||
| min(last_total_power) as lastTotalPower, | |||
| max(device_time) as recordEndTime, | |||
| max(total_power) as totalPower, | |||
| <if test="4 == reportType "> | |||
| date_format(create_time, '%H:00') as reportTime, | |||
| </if> | |||
| <if test="4 != reportType "> | |||
| min(last_device_time) as recordStartTime, | |||
| min(last_total_power) as lastTotalPower, | |||
| max(device_time) as recordEndTime, | |||
| max(total_power) as totalPower, | |||
| </if> | |||
| sum(used_power) as usedPower | |||
| FROM kw_meter_data | |||
| <include refid="dynamicWhereConditionsVo"/> | |||
| @@ -158,27 +168,27 @@ | |||
| <select id="getPower" parameterType="com.iformall.domain.dto.KwMeterDataDto" resultMap="VoResultMap"> | |||
| SELECT | |||
| tenant_id,box_id,meter_id, | |||
| <if test=" null == reportType"> | |||
| create_time as reportTime, | |||
| now() as reportTime, | |||
| </if> | |||
| <if test=" null != reportType and 1 == reportType "> | |||
| <if test=" 1 == reportType "> | |||
| date_format(create_time, '%Y-%m-%d %H:00') as reportTime, | |||
| </if> | |||
| <if test=" null != reportType and 2 == reportType "> | |||
| <if test=" 2 == reportType "> | |||
| date_format(create_time, '%Y-%m-%d') as reportTime, | |||
| </if> | |||
| <if test=" null != reportType and 3 == reportType "> | |||
| <if test=" 3 == reportType "> | |||
| date_format(create_time, '%Y-%m') as reportTime, | |||
| </if> | |||
| <if test=" null != startTime"> | |||
| min(device_time) as recordStartTime, | |||
| min(total_power) as totalPower | |||
| min(total_power) as totalPower, | |||
| </if> | |||
| <if test=" null != endTime"> | |||
| max(device_time) as recordEndTime, | |||
| max(total_power) as totalPower | |||
| max(total_power) as totalPower, | |||
| </if> | |||
| tenant_id,box_id,meter_id | |||
| FROM kw_meter_data | |||
| where 1 = 1 | |||
| <if test=" null != tenantId "> | |||
| @@ -193,30 +203,30 @@ | |||
| <if test=" null != startTime"> | |||
| <if test=" null == reportType"> | |||
| and create_time = #{startTime} | |||
| and create_time > #{startTime} | |||
| </if> | |||
| <if test=" null != reportType and 1 == reportType "> | |||
| <if test=" 1 == reportType "> | |||
| and date_format(create_time, '%Y-%m-%d %H:00') = date_format(#{startTime}, '%Y-%m-%d %H:00') | |||
| </if> | |||
| <if test=" null != reportType and 2 == reportType "> | |||
| <if test=" 2 == reportType "> | |||
| and date_format(create_time, '%Y-%m-%d') = date_format(#{startTime}, '%Y-%m-%d') | |||
| </if> | |||
| <if test=" null != reportType and 3 == reportType "> | |||
| <if test=" 3 == reportType "> | |||
| and date_format(create_time, '%Y-%m') = date_format(#{startTime}, '%Y-%m') | |||
| </if> | |||
| </if> | |||
| <if test=" null != endTime"> | |||
| <if test=" null == reportType"> | |||
| and create_time = #{endTime} | |||
| and create_time < #{endTime} | |||
| </if> | |||
| <if test=" null != reportType and 1 == reportType "> | |||
| <if test=" 1 == reportType "> | |||
| and date_format(create_time, '%Y-%m-%d %H:00') = date_format(#{endTime}, '%Y-%m-%d %H:00') | |||
| </if> | |||
| <if test=" null != reportType and 2 == reportType "> | |||
| <if test=" 2 == reportType "> | |||
| and date_format(create_time, '%Y-%m-%d') = date_format(#{endTime}, '%Y-%m-%d') | |||
| </if> | |||
| <if test=" null != reportType and 3 == reportType "> | |||
| <if test=" 3 == reportType "> | |||
| and date_format(create_time, '%Y-%m') = date_format(#{endTime}, '%Y-%m') | |||
| </if> | |||
| </if> | |||