|
@@ -1,9 +1,11 @@
|
|
|
package com.zcxk.job.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.xxl.job.core.log.XxlJobLogger;
|
|
|
import com.zcxk.job.dao.DeviceMapper;
|
|
|
+import com.zcxk.job.dao.WMeterTypeMapper;
|
|
|
import com.zcxk.job.dto.DeviceDto;
|
|
|
import com.zcxk.job.entity.Device;
|
|
|
import com.zcxk.job.repository.MeterReadRecordRepository;
|
|
@@ -39,6 +41,8 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
|
|
|
MeterReadRecordRepository meterReadRecordRepository;
|
|
|
@Autowired
|
|
|
private MongoTemplate mongoTemplate;
|
|
|
+ @Autowired
|
|
|
+ private WMeterTypeMapper wMeterTypeMapper;
|
|
|
@Resource
|
|
|
private RedisUtil redisUtil;
|
|
|
|
|
@@ -46,12 +50,12 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
|
|
|
public void createMeterReadRecord(String param, int index, int total) {
|
|
|
JSONObject obj = JSONObject.parseObject(param);
|
|
|
XxlJobLogger.log("obj:{}", obj);
|
|
|
+ List<String> codeList = JSON.parseArray(obj.getString("code"),String.class);
|
|
|
+
|
|
|
DeviceDto deviceParam = new DeviceDto();
|
|
|
- List<Integer> channelIds = new ArrayList<Integer>();
|
|
|
- //channelIds.add(-99); // 新装水表
|
|
|
- //channelIds.add(15);
|
|
|
- //channelIds = (List<Integer>) obj.getJSONArray("channelIds");
|
|
|
- deviceParam.setSysIds(channelIds);
|
|
|
+
|
|
|
+ List<Integer> deviceTypeIds = wMeterTypeMapper.findDeviceTypeIdByCode(codeList);
|
|
|
+ deviceParam.setDeviceTypeIds(deviceTypeIds);
|
|
|
/*List<Integer> statusList = new ArrayList<Integer>();
|
|
|
statusList.add(1); // 正常
|
|
|
statusList.add(2); // 故障
|
|
@@ -70,8 +74,8 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
|
|
|
|
|
|
XxlJobLogger.log("按分片查询 start:{},pageSize:{}", start, pageSize);
|
|
|
List<DeviceDto> deviceList = deviceMapper.getDeviceList(deviceParam, start, pageSize);
|
|
|
+ Integer readDate = Integer.valueOf(LocalDateTime.now().plusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd")));
|
|
|
if (deviceList != null && deviceList.size() > 0) {
|
|
|
- Integer readDate = Integer.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
|
|
|
List<MeterReadRecord> meterReadRecordList = new ArrayList<>();
|
|
|
AtomicInteger count = new AtomicInteger(0);
|
|
|
for (DeviceDto deviceDto : deviceList) {
|
|
@@ -91,7 +95,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
|
|
|
meterReadRecord.setCityId(deviceDto.getCity());
|
|
|
meterReadRecord.setRegionId(deviceDto.getRegion());
|
|
|
meterReadRecord.setDeviceTypeId(deviceDto.getDeviceType());
|
|
|
- meterReadRecord.setReadTime(LocalDateTime.now());
|
|
|
+ //meterReadRecord.setReadTime(LocalDateTime.now());
|
|
|
meterReadRecord.setReadData("");
|
|
|
meterReadRecord.setReadStatus(1);
|
|
|
meterReadRecord.setLastValid("");
|