Browse Source

Merge remote-tracking branch 'origin/20210716' into 20210716

hym 3 years ago
parent
commit
e6e5fde39c

+ 25 - 3
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/DeviceDataServiceImpl.java

@@ -3,8 +3,10 @@ package com.zcxk.rmcp.web.service.impl;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.map.MapUtil;
+import com.zcxk.core.common.exception.BusinessException;
 import com.zcxk.core.utils.export.EasyExcelUtil;
 import com.zcxk.rmcp.api.dto.device.DeviceDataDto;
+import com.zcxk.rmcp.api.enums.RmcpErrorEnum;
 import com.zcxk.rmcp.api.vo.DeviceDataVo;
 import com.zcxk.rmcp.api.vo.MeasuringPointVo;
 import com.zcxk.rmcp.api.vo.ProductMeasuringDictVo;
@@ -73,6 +75,13 @@ public class DeviceDataServiceImpl implements DeviceDataService {
                 deviceDataDto.getEndDate());
     }
 
+    /*
+     * @description 导出Excel
+     * @param deviceDataDto
+     * @param httpServletResponse
+     * @return
+     * @author linqingwei
+     **/
     @Override
     public void getDataExcel(DeviceDataDto deviceDataDto, HttpServletResponse httpServletResponse) {
         List<DeviceDataItem> list = deviceDataDao.queryDeviceDataItem(deviceDataDto.getDeviceId(),deviceDataDto.getStartDate(),
@@ -91,7 +100,7 @@ public class DeviceDataServiceImpl implements DeviceDataService {
                 List<Object> item = new ArrayList<>();
                 item.add(DateUtil.format(new Date(deviceDataItem.getReceiveTime()), DatePattern.NORM_DATETIME_PATTERN));
                 for (MeasuringPointVo vo : measuringList) {
-                    item.add(getRowsValue(vo,deviceDataItem.getMeasureData()));
+                    item.add(getMeasuringValue(vo,deviceDataItem.getMeasureData()));
                 }
                 dataList.add(item);
             }
@@ -99,12 +108,19 @@ public class DeviceDataServiceImpl implements DeviceDataService {
 
             EasyExcelUtil.excelDynamicWrite(httpServletResponse,"历史数据",head,dataList);
         } catch (Exception e) {
-            e.printStackTrace();
+            throw BusinessException.builder(RmcpErrorEnum.RMCP_DOWNLOAD_ERROR);
         }
 
     }
 
-    private Object getRowsValue(MeasuringPointVo vo, Map<String, Object> measureData) {
+    /*
+     * @description 获取测点值
+     * @param vo
+     * @param measureData
+     * @return
+     * @author linqingwei
+     **/
+    private Object getMeasuringValue(MeasuringPointVo vo, Map<String, Object> measureData) {
 
         String value = MapUtil.getStr(measureData,vo.getMeasuringCode());
         if (value != null) {
@@ -117,6 +133,12 @@ public class DeviceDataServiceImpl implements DeviceDataService {
 
     }
 
+    /*
+     * @description 获取表头
+     * @param measuringList
+     * @return
+     * @author linqingwei
+     **/
     private List<String> getHeadList(List<MeasuringPointVo> measuringList){
         List<String> head = new ArrayList<>();
         head.add("上报时间");

+ 36 - 0
zoniot-rmcp/zoniot-xxljob-client/src/main/java/com/zcxk/xxljob/jobs/MeterReadJob.java

@@ -28,6 +28,12 @@ public class MeterReadJob {
     @Autowired
     private MeterReadRecordService meterReadRecordService;
 
+    /*
+     * @description 生成明天未抄记录
+     * @param param
+     * @return
+     * @author linqingwei
+     **/
     @XxlJob("meterReadJobHandler")
     public ReturnT<String> meterReadJobHandler(String param) {
         XxlJobLogger.log("XXL-JOB,begin Meter Read Job.Param = {}",param);
@@ -70,6 +76,12 @@ public class MeterReadJob {
     }
 
 
+    /**
+     * @description 同步昨天抄表记录到MySQL
+     * @param param
+     * @return
+     * @author linqingwei
+     **/
     @XxlJob("syncMeterReadJobHandler")
     public ReturnT<String> syncMeterReadJobHandler(String param) {
         XxlJobLogger.log("XXL-JOB,begin syncMeterReadJobHandler.Param = {}",param);
@@ -94,6 +106,12 @@ public class MeterReadJob {
         return ReturnT.SUCCESS;
     }
 
+    /*
+     * @description 生成今天抄表率
+     * @param param
+     * @return
+     * @author linqingwei
+     **/
     @XxlJob("todayReadRateJobHandler")
     public ReturnT<String> todayReadRateJobHandler(String param) {
         XxlJobLogger.log("XXL-JOB,begin todayReadRateJobHandler.Param = {}",param);
@@ -116,6 +134,12 @@ public class MeterReadJob {
     }
 
 
+    /*
+     * @description 统计昨天抄表率
+     * @param param
+     * @return
+     * @author linqingwei
+     **/
     @XxlJob("yesterdayReadRateJobHandler")
     public ReturnT<String> yesterdayReadRateJobHandler(String param) {
         XxlJobLogger.log("XXL-JOB,begin yesterdayReadRateJobHandler.Param = {}",param);
@@ -138,6 +162,12 @@ public class MeterReadJob {
     }
 
 
+    /*
+     * @description 统计近7天抄表率
+     * @param param
+     * @return
+     * @author linqingwei
+     **/
     @XxlJob("recent7daysReadRateJobHandler")
     public ReturnT<String> recent7daysReadRateJobHandler(String param) {
         XxlJobLogger.log("XXL-JOB,begin recent7daysReadRateJobHandler.Param = {}",param);
@@ -160,6 +190,12 @@ public class MeterReadJob {
         return ReturnT.SUCCESS;
     }
 
+    /*
+     * @description 统计上月抄表率
+     * @param param
+     * @return
+     * @author linqingwei
+     **/
     @XxlJob("lastMonthReadRateJobHandler")
     public ReturnT<String> lastMonthReadRateJobHandler(String param) {
         XxlJobLogger.log("XXL-JOB,begin lastMonthReadRateJobHandler.Param = {}",param);

+ 7 - 4
zoniot-rmcp/zoniot-xxljob-client/src/main/java/com/zcxk/xxljob/service/impl/MeterReadRecordServiceImpl.java

@@ -53,7 +53,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
 
     @Override
     public void executeCreateMeterUnReadRecord(Map<String, Object> map, int index, int total) {
-        log.info("begin executeCreateMeterUnReadRecord map = {} {} {}",JSON.toJSONString(map),index,total);
+        log.info("begin executeCreateMeterUnReadRecord map = {} index={} total={}",JSON.toJSONString(map),index,total);
         int readDay = MapUtil.getInt(map, "readDay");
         //计算分页
         int deviceTotal = deviceMapper.countWaterMeter();
@@ -70,9 +70,11 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
     private void batchCreateMeterUnReadRecord(List<WaterMeterDto> waterMeterList, int readDay) {
         if(waterMeterList.isEmpty())return;
 
+        //更新抄表记录
         updateReadingData(waterMeterList,readDay);
 
-        saveReadingData(readDay);
+        //保存未抄记录
+        saveUnReadingData(readDay);
     }
 
     /**
@@ -92,7 +94,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
         for (WaterMeterDto waterMeter : waterMeterList) {
             WaterMeterDto last = lastMap.get(waterMeter.getId().toString());
             if (last != null) {
-                //判断最后和最新信息不同则更新
+                //判断当前和最后缓存设备信息,不同则更新
                 if(CompareUtil.compare(waterMeter, last) == -1){
                     log.info("begin updateReadingData compare waterMeter = {} last = {} {}",JSON.toJSONString(waterMeter),JSON.toJSONString(last),readDay);
                     Query query = new Query();
@@ -115,6 +117,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
                 }
 
             }else {
+                //无缓存则插入抄表记录
                 meterReadRecordList.add(buildMeterReadRecord(waterMeter));
             }
 
@@ -135,7 +138,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
 
     }
 
-    private void saveReadingData(int readDay) {
+    private void saveUnReadingData(int readDay) {
         log.info("begin saveReadingData ,readDay = {}" , readDay);
         MeterReadRecord.MeterReadInfo meterReadInfo =  buildMeterReadInfo(readDay);