lin 4 years ago
parent
commit
a9a535c6ff

+ 13 - 0
smart-city-job/src/main/java/com/zcxk/job/controller/TestController.java

@@ -1,5 +1,6 @@
 package com.zcxk.job.controller;
 
+import com.zcxk.job.service.MeterReadRecordService;
 import com.zcxk.job.service.WaterMeterReadRateService;
 import com.zcxk.job.service.WaterMeterUnreadDeviceService;
 import com.zcxk.job.service.jobhandler.WaterMeterReadJob;
@@ -24,6 +25,8 @@ public class TestController {
     private WaterMeterReadRateService waterMeterReadRateService;
     @Autowired
     private WaterMeterUnreadDeviceService waterMeterUnreadDeviceService;
+    @Autowired
+    private MeterReadRecordService meterReadRecordService;
 
     @GetMapping("/test/")
     public String test(){
@@ -35,6 +38,16 @@ public class TestController {
         return "ok";
     }
 
+    @GetMapping("/createMeterReadRecord")
+    public String createMeterReadRecord(){
+        try {
+            meterReadRecordService.createMeterReadRecordV2();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return "ok";
+    }
+
     @GetMapping("waterMeterReadJobHandler")
     public String waterMeterReadJobHandler(){
         try {

+ 2 - 0
smart-city-job/src/main/java/com/zcxk/job/service/MeterReadRecordService.java

@@ -6,4 +6,6 @@ public interface MeterReadRecordService {
     void waterMeterUnReadReplenishJobHandler(String param);
 
     void newDeviceMeterReadJobHandler(String param);
+
+    void createMeterReadRecordV2();
 }

+ 131 - 7
smart-city-job/src/main/java/com/zcxk/job/service/impl/MeterReadRecordServiceImpl.java

@@ -11,6 +11,8 @@ import com.zcxk.job.entity.Device;
 import com.zcxk.job.repository.MeterReadRecordRepository;
 import com.zcxk.job.service.MeterReadRecordService;
 import com.zcxk.job.util.RedisUtil;
+import com.zcxk.zoniot.smartcity.common.model.DeviceData;
+import com.zcxk.zoniot.smartcity.common.model.DeviceMeasuringData;
 import com.zcxk.zoniot.smartcity.common.model.MeterReadRecord;
 import com.zcxk.zoniot.smartcity.common.utils.SnowflakeIdWorker;
 import org.apache.commons.lang3.StringUtils;
@@ -22,6 +24,7 @@ import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
@@ -30,6 +33,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import static com.google.common.collect.Lists.newArrayList;
+
 @Service
 public class MeterReadRecordServiceImpl implements MeterReadRecordService {
 
@@ -87,10 +92,10 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
                 meterReadRecord.setMeterNo(deviceDto.getWaterMeterNo());
                 meterReadRecord.setMeterFileNo(deviceDto.getWaterMeterFileNo());
                 meterReadRecord.setSiteId(deviceDto.getSiteId());
-                meterReadRecord.setChannelId(deviceDto.getCustomerId());
+                meterReadRecord.setChannelId(deviceDto.getSysId());
                 meterReadRecord.setBuildingId(deviceDto.getBuildingId());
                 meterReadRecord.setCustomerId(deviceDto.getCustomerId());
-                meterReadRecord.setCommunityId(deviceDto.getCustomerId());
+                meterReadRecord.setCommunityId(deviceDto.getCommunity());
                 meterReadRecord.setProvinceId(deviceDto.getProvince());
                 meterReadRecord.setCityId(deviceDto.getCity());
                 meterReadRecord.setRegionId(deviceDto.getRegion());
@@ -134,7 +139,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
         if (list != null && list.size() > 0) {
             XxlJobLogger.log("未抄表数量,size:{}", list.size());
             for (MeterReadRecord meterReadRecord : list) {
-                MeterReadRecord temp = this.getLastData(meterReadRecord.getDeviceId());
+                MeterReadRecord temp = this.getLastData(meterReadRecord.getDeviceId(),readDate);
                 if (temp != null) {
                     meterReadRecord.setLastValid(temp.getLastValid());
                     meterReadRecord.setDateUpdate(LocalDateTime.now());
@@ -144,15 +149,39 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
         }
     }
 
-    public MeterReadRecord getLastData(Long deviceId){
+    public MeterReadRecord getLastData(Long deviceId, Integer date){
         Query query = new Query();
         query.addCriteria(Criteria.where("status").is(1));
-        query.addCriteria(Criteria.where("readStatus").is(1));
+        //query.addCriteria(Criteria.where("readStatus").is(1));
         query.addCriteria(Criteria.where("deviceId").is(deviceId));
+        query.addCriteria(Criteria.where("readDate").lte(date));
         query.with(Sort.by(Sort.Order.desc("readDate")));
         return mongoTemplate.findOne(query,MeterReadRecord.class);
     }
 
+    public DeviceData getDeviceData(Long deviceId,Integer date){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("status").is(1));
+        query.addCriteria(Criteria.where("deviceId").is(deviceId));
+        query.addCriteria(Criteria.where("receiveDate").is(date));
+        query.with(Sort.by(Sort.Order.desc("receiveTime")));
+        return mongoTemplate.findOne(query, DeviceData.class);
+    }
+
+    public DeviceMeasuringData getDeviceMeasuringData(Long deviceId,Integer date,String code){
+        DeviceData deviceData = this.getDeviceData(deviceId,date);
+        if (deviceData != null) {
+            if (deviceData.getData() != null && deviceData.getData().size() > 0) {
+                for (DeviceMeasuringData datum : deviceData.getData()) {
+                    if(datum.getMeasuringCode().equals(code)){
+                        return datum;
+                    }
+                }
+            }
+        }
+        return null;
+    }
+
     @Override
     public void newDeviceMeterReadJobHandler(String param) {
         Integer readDate = Integer.valueOf(LocalDateTime.now().plusDays(-1).format(DateTimeFormatter.ofPattern("yyyyMMdd")));
@@ -171,10 +200,10 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
                 meterReadRecord.setMeterNo(deviceDto.getWaterMeterNo());
                 meterReadRecord.setMeterFileNo(deviceDto.getWaterMeterFileNo());
                 meterReadRecord.setSiteId(deviceDto.getSiteId());
-                meterReadRecord.setChannelId(deviceDto.getCustomerId());
+                meterReadRecord.setChannelId(deviceDto.getSysId());
                 meterReadRecord.setBuildingId(deviceDto.getBuildingId());
                 meterReadRecord.setCustomerId(deviceDto.getCustomerId());
-                meterReadRecord.setCommunityId(deviceDto.getCustomerId());
+                meterReadRecord.setCommunityId(deviceDto.getCommunity());
                 meterReadRecord.setProvinceId(deviceDto.getProvince());
                 meterReadRecord.setCityId(deviceDto.getCity());
                 meterReadRecord.setRegionId(deviceDto.getRegion());
@@ -194,4 +223,99 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
             meterReadRecordRepository.insert(meterReadRecordList);
         }
     }
+
+    @Override
+    public void createMeterReadRecordV2() {
+        DeviceDto deviceParam = new DeviceDto();
+        Integer readDate = 20200801;
+
+        List<Integer> deviceTypeIds = newArrayList();
+        deviceTypeIds.add(15);
+        deviceParam.setDeviceTypeIds(deviceTypeIds);
+        //deviceParam.setCustomerId(46);
+
+        int deviceTotal = deviceMapper.countDevice(deviceParam);
+        System.out.println(deviceTotal);
+        int index = 0;
+        int total = 1;
+        int pageSize = 0 ;
+        if (deviceTotal % total == 0){
+            pageSize = deviceTotal / total ;
+        }else {
+            pageSize = (deviceTotal / total) + 1 ;
+        }
+        int start = index * pageSize;
+        List<DeviceDto> deviceList = deviceMapper.getDeviceList(deviceParam, start, pageSize);
+        if (deviceList != null && deviceList.size() > 0) {
+            List<MeterReadRecord> meterReadRecordList = new ArrayList<>();
+            AtomicInteger count = new AtomicInteger(0);
+            for (DeviceDto deviceDto : deviceList) {
+                count.incrementAndGet();
+                MeterReadRecord meterReadRecord = new MeterReadRecord();
+                meterReadRecord.setReadDate(readDate);
+                meterReadRecord.setDeviceId(deviceDto.getId());
+                meterReadRecord.setDeviceNo(deviceDto.getDeviceNo());
+                meterReadRecord.setMeterNo(deviceDto.getWaterMeterNo());
+                meterReadRecord.setMeterFileNo(deviceDto.getWaterMeterFileNo());
+                meterReadRecord.setSiteId(deviceDto.getSiteId());
+                meterReadRecord.setChannelId(deviceDto.getSysId());
+                meterReadRecord.setBuildingId(deviceDto.getBuildingId());
+                meterReadRecord.setCustomerId(deviceDto.getCustomerId());
+                meterReadRecord.setCommunityId(deviceDto.getCommunity());
+                meterReadRecord.setProvinceId(deviceDto.getProvince());
+                meterReadRecord.setCityId(deviceDto.getCity());
+                meterReadRecord.setRegionId(deviceDto.getRegion());
+                meterReadRecord.setDeviceTypeId(deviceDto.getDeviceType());
+                meterReadRecord.setReadTime(LocalDateTime.now());
+                DeviceMeasuringData deviceMeasuringData = getDeviceMeasuringData(deviceDto.getId(),readDate,"WSV");
+                MeterReadRecord meterReadRecordTemp = this.getLastData(meterReadRecord.getDeviceId(),readDate);
+                if (deviceMeasuringData != null) {
+                    meterReadRecord.setReadStatus(2);
+                    meterReadRecord.setReadData(deviceMeasuringData.getMeasuringData());
+                    meterReadRecord.setLastValid(deviceMeasuringData.getMeasuringData());
+                    if (meterReadRecordTemp != null) {
+                        meterReadRecord.setLastCost(new BigDecimal(calculateCost(deviceMeasuringData.getMeasuringData(),meterReadRecordTemp.getLastValid())).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
+                    }else {
+                        meterReadRecord.setLastCost(new Double(deviceMeasuringData.getMeasuringData()));
+                    }
+
+                }else {
+                    meterReadRecord.setReadStatus(1);
+                    //MeterReadRecord meterReadRecordTemp = this.getLastData(meterReadRecord.getDeviceId(),readDate);
+                    if (meterReadRecordTemp != null) {
+                        meterReadRecord.setLastValid(meterReadRecordTemp.getLastValid());
+                        meterReadRecord.setLastCost(0.0);
+                    }else {
+                        meterReadRecord.setLastValid("");
+                        meterReadRecord.setLastCost(0.0);
+                    }
+                }
+
+                //meterReadRecord.setReadStatus(2);
+                //meterReadRecord.setLastValid("");
+                //meterReadRecord.setLastCost(0.0);
+                meterReadRecord.setStatus(1);
+                meterReadRecord.setDataCreate(LocalDateTime.now());
+                System.out.println(meterReadRecord);
+                meterReadRecordList.add(meterReadRecord);
+                System.out.println(count.get());
+            }
+            //插入抄表记录
+            meterReadRecordRepository.insert(meterReadRecordList);
+        }
+    }
+
+    /**
+     * <p>计算今日用水量</p>
+     * @param currentReadData
+     * @param lastReadData
+     * @return
+     */
+    protected Double calculateCost(String currentReadData ,String lastReadData){
+        Double cost = 0.0 ;
+        if(StringUtils.isNotBlank(lastReadData) &&  StringUtils.isNotBlank(currentReadData)){
+            cost = Double.parseDouble(currentReadData) - Double.parseDouble(lastReadData);
+        }
+        return cost ;
+    }
 }

+ 133 - 9
smart-city-job/src/main/java/com/zcxk/job/service/impl/WaterMeterUnreadDeviceServiceImpl.java

@@ -1,8 +1,10 @@
 package com.zcxk.job.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.xxl.job.core.log.XxlJobLogger;
 import com.zcxk.job.dao.StatMeterUnreadDeviceMapper;
+import com.zcxk.job.dao.WMeterTypeMapper;
 import com.zcxk.job.entity.StatMeterUnreadDevice;
 import com.zcxk.job.service.WaterMeterUnreadDeviceService;
 import lombok.extern.slf4j.Slf4j;
@@ -21,6 +23,8 @@ import java.time.temporal.TemporalAdjusters;
 import java.util.ArrayList;
 import java.util.List;
 
+import static com.google.common.collect.Lists.newArrayList;
+
 @Slf4j
 @Service
 public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDeviceService {
@@ -28,6 +32,8 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
     private MongoTemplate mongoTemplate;
     @Autowired
     private StatMeterUnreadDeviceMapper statMeterUnreadDeviceMapper;
+    @Autowired
+    private WMeterTypeMapper wMeterTypeMapper;
 
     @Override
     public void yesterdayUnreadDeviceJobHandler(String param) {
@@ -36,10 +42,16 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         Integer statDay = 0;
         Integer startDate = 0;
         Integer endDate = 0;
+        List<Integer> deviceTypeIds = newArrayList();
         if (obj != null) {
             statDay =  obj.getInteger("statDay");
             startDate =  obj.getInteger("startDate");
             endDate =  obj.getInteger("endDate");
+            String codes = obj.getString("code");
+            if (codes != null) {
+                List<String> codeList =  JSON.parseArray(codes,String.class);
+                deviceTypeIds = wMeterTypeMapper.findDeviceTypeIdByCode(codeList);
+            }
         }
 
         if (statDay == null || statDay == 0) {
@@ -51,14 +63,39 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         if (endDate == null || endDate == 0) {
             endDate = Integer.valueOf(LocalDateTime.now().plusDays(-1).format(DateTimeFormatter.ofPattern("yyyyMMdd")));
         }
+
+
+
         XxlJobLogger.log("statDay:{},startDate:{},endDate:{}",statDay, startDate, endDate);
 
-        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate);
+        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate,deviceTypeIds);
         System.out.println(results);
         if (results != null && results.size() > 0) {
             log.info("结果数量,size:{}", results.size());
             XxlJobLogger.log("结果数量,size:{}", results.size());
-            statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building",results);
+            int total = results.size();
+            int pageSize = 5000;
+            int totalPage = total / pageSize;
+            if (total % pageSize != 0) {
+                totalPage++;
+            }
+            for (int i = 1; i <= totalPage; i++)
+            {
+                XxlJobLogger.log("current page = " + i);
+                List<StatMeterUnreadDevice> records = newArrayList();
+                int start = (i - 1) * pageSize;
+                int j = 0;
+
+                for (int index = 0; (j < pageSize) && (index < total); j++)
+                {
+                    index = start + j;
+                    records.add(results.get(index));
+                    index++;
+                }
+                XxlJobLogger.log("current page size = " + records.size());
+                statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building",records);
+            }
+
         }
     }
 
@@ -69,10 +106,16 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         Integer statDay = 0;
         Integer startDate = 0;
         Integer endDate = 0;
+        List<Integer> deviceTypeIds =  newArrayList();
         if (obj != null) {
             statDay =  obj.getInteger("statDay");
             startDate =  obj.getInteger("startDate");
             endDate =  obj.getInteger("endDate");
+            String codes = obj.getString("code");
+            if (codes != null) {
+                List<String> codeList =  JSON.parseArray(codes,String.class);
+                deviceTypeIds = wMeterTypeMapper.findDeviceTypeIdByCode(codeList);
+            }
         }
 
         if (statDay == null || statDay == 0) {
@@ -86,10 +129,32 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         }
         XxlJobLogger.log("statDay:{},startDate:{},endDate:{}",statDay, startDate, endDate);
 
-        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate);
+        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate, deviceTypeIds);
         if (results != null && results.size() > 0) {
             XxlJobLogger.log("结果数量,size:{}", results.size());
-            statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building_7day",results);
+            int total = results.size();
+            int pageSize = 5000;
+            int totalPage = total / pageSize;
+            if (total % pageSize != 0) {
+                totalPage++;
+            }
+            for (int i = 1; i <= totalPage; i++)
+            {
+                XxlJobLogger.log("current page = " + i);
+                List<StatMeterUnreadDevice> records = newArrayList();
+                int start = (i - 1) * pageSize;
+                int j = 0;
+
+                for (int index = 0; (j < pageSize) && (index < total); j++)
+                {
+                    index = start + j;
+                    records.add(results.get(index));
+                    index++;
+                }
+                XxlJobLogger.log("current page size = " + records.size());
+                statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building_7day",records);
+            }
+
         }
     }
 
@@ -100,10 +165,16 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         Integer statDay = 0;
         Integer startDate = 0;
         Integer endDate = 0;
+        List<Integer> deviceTypeIds =  newArrayList();
         if (obj != null) {
             statDay =  obj.getInteger("statDay");
             startDate =  obj.getInteger("startDate");
             endDate =  obj.getInteger("endDate");
+            String codes = obj.getString("code");
+            if (codes != null) {
+                List<String> codeList =  JSON.parseArray(codes,String.class);
+                deviceTypeIds = wMeterTypeMapper.findDeviceTypeIdByCode(codeList);
+            }
         }
 
         if (statDay == null || statDay == 0) {
@@ -117,10 +188,32 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         }
         XxlJobLogger.log("statDay:{},startDate:{},endDate:{}",statDay, startDate, endDate);
 
-        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate);
+        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate, deviceTypeIds);
         if (results != null && results.size() > 0) {
             XxlJobLogger.log("结果数量,size:{}", results.size());
-            statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building_15day",results);
+            int total = results.size();
+            int pageSize = 5000;
+            int totalPage = total / pageSize;
+            if (total % pageSize != 0) {
+                totalPage++;
+            }
+            for (int i = 1; i <= totalPage; i++)
+            {
+                XxlJobLogger.log("current page = " + i);
+                List<StatMeterUnreadDevice> records = newArrayList();
+                int start = (i - 1) * pageSize;
+                int j = 0;
+
+                for (int index = 0; (j < pageSize) && (index < total); j++)
+                {
+                    index = start + j;
+                    records.add(results.get(index));
+                    index++;
+                }
+                XxlJobLogger.log("current page size = " + records.size());
+                statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building_15day",records);
+            }
+
         }
     }
 
@@ -131,10 +224,16 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         Integer statDay = 0;
         Integer startDate = 0;
         Integer endDate = 0;
+        List<Integer> deviceTypeIds =  newArrayList();
         if (obj != null) {
             statDay =  obj.getInteger("statDay");
             startDate =  obj.getInteger("startDate");
             endDate =  obj.getInteger("endDate");
+            String codes = obj.getString("code");
+            if (codes != null) {
+                List<String> codeList =  JSON.parseArray(codes,String.class);
+                deviceTypeIds = wMeterTypeMapper.findDeviceTypeIdByCode(codeList);
+            }
         }
 
         if (statDay == null || statDay == 0) {
@@ -148,14 +247,36 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         }
         XxlJobLogger.log("statDay:{},startDate:{},endDate:{}",statDay, startDate, endDate);
 
-        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate);
+        List<StatMeterUnreadDevice> results = this.findUnreadDevice(statDay,startDate,endDate, deviceTypeIds);
         if (results != null && results.size() > 0) {
             XxlJobLogger.log("结果数量,size:{}", results.size());
-            statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building_month",results);
+            int total = results.size();
+            int pageSize = 5000;
+            int totalPage = total / pageSize;
+            if (total % pageSize != 0) {
+                totalPage++;
+            }
+            for (int i = 1; i <= totalPage; i++)
+            {
+                XxlJobLogger.log("current page = " + i);
+                List<StatMeterUnreadDevice> records = newArrayList();
+                int start = (i - 1) * pageSize;
+                int j = 0;
+
+                for (int index = 0; (j < pageSize) && (index < total); j++)
+                {
+                    index = start + j;
+                    records.add(results.get(index));
+                    index++;
+                }
+                XxlJobLogger.log("current page size = " + records.size());
+                statMeterUnreadDeviceMapper.batchInsert("sc_stat_meter_unread_device_by_building_month",records);
+            }
+
         }
     }
 
-    protected List<StatMeterUnreadDevice> findUnreadDevice(Integer statDay, Integer startDate, Integer endDate){
+    protected List<StatMeterUnreadDevice> findUnreadDevice(Integer statDay, Integer startDate, Integer endDate, List<Integer> deviceTypeIds){
         /*
             db.sc_meter_read_record.aggregate(
              [
@@ -184,6 +305,9 @@ public class WaterMeterUnreadDeviceServiceImpl implements WaterMeterUnreadDevice
         List<AggregationOperation> operations = new ArrayList<>();
         operations.add(Aggregation.match(Criteria.where("status").is(1)));
         operations.add(Aggregation.match(Criteria.where("readDate").gte(startDate).lte(endDate)));
+        if (deviceTypeIds != null && deviceTypeIds.size() > 0) {
+            operations.add(Aggregation.match(Criteria.where("deviceTypeId").in(deviceTypeIds)));
+        }
         // 1,添加分组条件
         ConditionalOperators.Cond readTimesCond = ConditionalOperators.when(new Criteria("readStatus").is(2)).then(1).otherwise(0);
         operations.add(Aggregation.group("siteId","channelId","customerId","buildingId","deviceId")

+ 2 - 1
smart-city-job/src/main/java/com/zcxk/job/service/jobhandler/WaterMeterReadJob.java

@@ -26,7 +26,7 @@ public class WaterMeterReadJob {
          /*
         参数格式如下:
         {
-            "code": ["YFFJK","GDZD","WXYC","YXYC","LORAWM","NBWM","LORAM","QBTGDZD"]
+            "code": ["YFFJK","WXYC","YXYC","LORAWM","NBWM","LORAM","QBTGDZD"]
         }
          */
 
@@ -74,4 +74,5 @@ public class WaterMeterReadJob {
         meterReadRecordService.newDeviceMeterReadJobHandler(param);
         return ReturnT.SUCCESS;
     }
+
 }

+ 8 - 4
smart-city-job/src/main/java/com/zcxk/job/service/jobhandler/WaterMeterUnreadDeviceJob.java

@@ -26,7 +26,8 @@ public class WaterMeterUnreadDeviceJob {
         {
             "statDay": 20200619,
             "startDate": 20200619,
-            "endDate": 20200619
+            "endDate": 20200619,
+            "code": ["YFFJK","GDZD","WXYC","YXYC","LORAWM","NBWM","LORAM","QBTGDZD"]
         }
          */
         waterMeterUnreadDeviceService.yesterdayUnreadDeviceJobHandler(param);
@@ -47,7 +48,8 @@ public class WaterMeterUnreadDeviceJob {
         {
             "statDay": 20200619,
             "startDate": 20200619,
-            "endDate": 20200619
+            "endDate": 20200619,
+            "code": ["YFFJK","GDZD","WXYC","YXYC","LORAWM","NBWM","LORAM","QBTGDZD"]
         }
          */
         waterMeterUnreadDeviceService.recent7daysUnreadDeviceJobHandler(param);
@@ -69,7 +71,8 @@ public class WaterMeterUnreadDeviceJob {
         {
             "statDay": 20200619,
             "startDate": 20200619,
-            "endDate": 20200619
+            "endDate": 20200619,
+            "code": ["YFFJK","GDZD","WXYC","YXYC","LORAWM","NBWM","LORAM","QBTGDZD"]
         }
          */
         waterMeterUnreadDeviceService.recent15daysUnreadDeviceJobHandler(param);
@@ -91,7 +94,8 @@ public class WaterMeterUnreadDeviceJob {
         {
             "statDay": 202006,
             "startDate": 20200601,
-            "endDate": 20200630
+            "endDate": 20200630,
+            "code": ["YFFJK","GDZD","WXYC","YXYC","LORAWM","NBWM","LORAM","QBTGDZD"]
         }
          */
         waterMeterUnreadDeviceService.lastMonthUnreadDeviceJobHandler(param);

+ 1 - 1
smart-city-job/src/main/resources/application.properties

@@ -1,2 +1,2 @@
 #开发环境:dev  测试环境:sit  线上环境:prd  演示环境:uat
-spring.profiles.active=sit
+spring.profiles.active=dev

+ 2 - 0
smart-city-job/src/main/resources/mapper/DeviceMapper.xml

@@ -307,6 +307,7 @@
     where status = 1
     <if test="device.siteId != null"> and site_id = #{device.siteId} </if>
     <if test="device.sysId != null"> and sys_id = #{device.sysId} </if>
+    <if test="device.customerId != null"> and customer_id = #{device.customerId} </if>
     <if test="device.deviceType != null"> and device_type = #{device.deviceType} </if>
     <if test="device.deviceStatusList != null and device.deviceStatusList.size() != 0">
       and device_status in
@@ -345,6 +346,7 @@
     WHERE 1=1
     <if test="device.siteId != null"> and d.site_id = #{device.siteId} </if>
     <if test="device.sysId != null"> and d.sys_id = #{device.sysId} </if>
+    <if test="device.customerId != null"> and customer_id = #{device.customerId} </if>
     <if test="device.deviceType != null"> and device_type = #{device.deviceType} </if>
     <if test="device.deviceStatusList != null and device.deviceStatusList.size() != 0">
       and d.device_status in