Browse Source

抄表记录BUG

lin 3 years ago
parent
commit
1d7e823dbe

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

@@ -1,5 +1,6 @@
 package com.zcxk.xxljob.service.impl;
 
+import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.comparator.CompareUtil;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.core.map.MapUtil;
@@ -14,6 +15,7 @@ import com.zcxk.rmcp.api.dto.readmeter.WaterMeterDto;
 import com.zcxk.rmcp.api.enums.ReadStatusEnum;
 import com.zcxk.rmcp.core.dao.DeviceMapper;
 import com.zcxk.rmcp.core.dao.MeterReadRecordMapper;
+import com.zcxk.rmcp.core.entity.Device;
 import com.zcxk.rmcp.core.mongo.MeterReadRecord;
 import com.zcxk.xxljob.common.Constants;
 import com.zcxk.xxljob.service.MeterReadRecordService;
@@ -232,7 +234,14 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
                 readRecord.setUpdateBy(Constants.SYS_FLAG);
                 readRecordList.add(readRecord);
             }
-            meterReadRecordMapper.batchInsert(readRecordList);
+
+            if(!readRecordList.isEmpty()){
+                //分批添加
+                List<List<com.zcxk.rmcp.core.entity.MeterReadRecord>> tempList =  ListUtil.split(readRecordList, 5000);
+                for (List<com.zcxk.rmcp.core.entity.MeterReadRecord> meterReadRecords : tempList) {
+                    meterReadRecordMapper.batchInsert(meterReadRecords);
+                }
+            }
         }
         log.info("end executeSyncMeterReadRecord");
     }