diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaWatereleRecordController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaWatereleRecordController.java index bb7f3fd..d63450c 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaWatereleRecordController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaWatereleRecordController.java @@ -46,9 +46,9 @@ public class MaWatereleRecordController extends BaseController { @GetMapping("/list") @ApiOperation("查询水电双计数据记录列表") public TableDataInfo list(MaWatereleRecord maWatereleRecord) { - startPage(); - List list = maWatereleRecordService.selectMaWatereleRecordList(maWatereleRecord); - return getDataTable(list); +// startPage(); + TableDataInfo tableDataInfo = maWatereleRecordService.selectMaWatereleRecordList(maWatereleRecord); + return tableDataInfo; } /** @@ -70,7 +70,8 @@ public class MaWatereleRecordController extends BaseController { @PreAuthorize("@ss.hasPermi('waterele:watereleRecord:export')") @PostMapping("/export") public void export(HttpServletResponse response, MaWatereleRecord maWatereleRecord) { - List list = maWatereleRecordService.selectMaWatereleRecordList(maWatereleRecord); + TableDataInfo tableDataInfo= maWatereleRecordService.selectMaWatereleRecordList(maWatereleRecord); + List list = (List) tableDataInfo.getRows(); ExcelUtil util = new ExcelUtil(MaWatereleRecord.class); util.exportExcel(response, list, "水电双计数据记录数据"); } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java index 68f99bf..7c27eab 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java @@ -228,7 +228,7 @@ public class GisDeviceServiceImpl implements IGisDeviceService { //获取累计水量和累计电量的前20条数据记录 MaWatereleRecord watereleRecord = new MaWatereleRecord(); watereleRecord.setDevSn(device.getSerialNumber()); - List maWatereleRecords = watereleRecordService.selectMaWatereleRecordList(watereleRecord); + List maWatereleRecords = (List) watereleRecordService.selectMaWatereleRecordList(watereleRecord).getRows(); if(maWatereleRecords.size() > 20){ maWatereleRecords = maWatereleRecords.subList(0, 20); } diff --git a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaWatereleRecordService.java b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaWatereleRecordService.java index 15f5ac0..6325170 100644 --- a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaWatereleRecordService.java +++ b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaWatereleRecordService.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import com.fastbee.common.core.page.TableDataInfo; import com.fastbee.waterele.domain.MaWatereleRecord; /** @@ -28,7 +29,7 @@ public interface IMaWatereleRecordService * @param maWatereleRecord 水电双计数据记录 * @return 水电双计数据记录集合 */ - public List selectMaWatereleRecordList(MaWatereleRecord maWatereleRecord); + public TableDataInfo selectMaWatereleRecordList(MaWatereleRecord maWatereleRecord); /** * 新增水电双计数据记录 diff --git a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaWatereleRecordServiceImpl.java b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaWatereleRecordServiceImpl.java index 4a18793..9a372a0 100644 --- a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaWatereleRecordServiceImpl.java +++ b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaWatereleRecordServiceImpl.java @@ -2,7 +2,15 @@ package com.fastbee.waterele.service.impl; import java.util.*; +import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.fastbee.common.core.page.PageDomain; +import com.fastbee.common.core.page.TableDataInfo; +import com.fastbee.common.core.page.TableSupport; import com.fastbee.common.utils.DateUtils; +import com.fastbee.common.utils.StringUtils; +import com.fastbee.waterele.domain.MaGuangaiRecord; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fastbee.waterele.mapper.MaWatereleRecordMapper; @@ -40,9 +48,95 @@ public class MaWatereleRecordServiceImpl implements IMaWatereleRecordService * @return 水电双计数据记录 */ @Override - public List selectMaWatereleRecordList(MaWatereleRecord maWatereleRecord) + public TableDataInfo selectMaWatereleRecordList(MaWatereleRecord maWatereleRecord) { - return maWatereleRecordMapper.selectMaWatereleRecordList(maWatereleRecord); + // + Long endTime = 0L; + Long startTime = 0L; + if(null == maWatereleRecord.getParams()){ + endTime = new Date().getTime()/1000; + startTime = endTime - 86400*3; + }else{ + if(!maWatereleRecord.getParams().containsKey("endCreateTime")){ + endTime = new Date().getTime()/1000; + }else{ + endTime = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, + maWatereleRecord.getParams().get("endCreateTime").toString()).getTime(); + } + if(!maWatereleRecord.getParams().containsKey("beginCreateTime")){ + startTime = endTime - 86400*3; + }else{ + startTime = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, + maWatereleRecord.getParams().get("beginCreateTime").toString()).getTime(); + } + } + Date startDate = new Date(); + startDate.setTime(startTime*1000); + String startDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,startDate); + Date endDate = new Date(); + endDate.setTime(endTime*1000); + String endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,endDate); + String url = "https://zhwly.sdhzwl.cn/api/java/xinjiangup/getShuakaRecord?devSn=" + +maWatereleRecord.getDevSn()+"&startTime="+startDateStr+"&endTime="+endDateStr; + String result = HttpUtil.get(url); + + JSONObject jsonObject = new JSONObject(result); + List list = new ArrayList<>(); + if(jsonObject != null){ + if(jsonObject.containsKey("code") && Integer.parseInt(jsonObject.get("code").toString()) == 200){ + if(jsonObject.containsKey("data") && jsonObject.get("data") != null){ + JSONArray dataList = (JSONArray)jsonObject.get("data"); + for (Object object : dataList) { + JSONObject item = (JSONObject)object; + MaWatereleRecord record = new MaWatereleRecord(); + record.setDevSn(item.get("dev_sn").toString()); + record.setWorkstate(Integer.parseInt(item.get("workState").toString())); + record.setUsersumflow(item.get("userSumFlow").toString()); + record.setUsersumele(item.get("userSumEle").toString()); + record.setUserbalance(item.get("userBalance").toString()); + record.setSumflow(item.get("sumFlow").toString()); + record.setSumele(item.get("sumEle").toString()); + record.setMcusn(item.get("mcuSn").toString()); + record.setInspower(item.get("insPower").toString()); + record.setInsflow(item.get("insFlow").toString()); + record.setCurflow(item.get("curFlow").toString()); + record.setCurele(item.get("curEle").toString()); + record.setMetersum(item.get("meterSum").toString()); + record.setMeterins(item.get("meterIns").toString()); + record.setCardid(item.get("cardId").toString()); + record.setAreacode(item.get("areaCode").toString()); + record.setAction(item.get("action").toString()); + if(StringUtils.isNotEmpty(item.get("create_time").toString())){ + Date date = new Date(Long.parseLong(item.get("create_time").toString())*1000); + record.setCreateTime(date); + } + if(StringUtils.isNotEmpty(item.get("update_time").toString())){ + Date date = new Date(Long.parseLong(item.get("update_time").toString())*1000); + record.setUpdateTime(date); + } + list.add(record); + } + } + } + } + // + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + List subList = new ArrayList<>(); + if(list.size() > (pageNum-1)*pageSize){ + if(list.size() < pageNum*pageSize){ + subList = list.subList((pageNum-1)*pageSize, list.size()); + }else{ + subList = list.subList((pageNum-1)*pageSize, pageNum*pageSize); + } + } + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setMsg("获取成功"); + tableDataInfo.setTotal(list.size()); + tableDataInfo.setRows(subList); + tableDataInfo.setCode(200); + return tableDataInfo; } /**