diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java index 0bfc5235..8dbe7307 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dxhy.core.dao.frTask.QueryDetailDataDao; import com.dxhy.core.enmu.FplxEnmu; +import com.dxhy.core.entity.frJob.VoucherRecordQuery; import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,7 +40,22 @@ public class QueryDetailDataServiceImpl extends ServiceImple.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); //4.添加入库 - queryDetailDataDao.saveOrUpdate(dataFromRecordItems); + + if (dataFromRecordItems.size()>5000){ + int count = dataFromRecordItems.size()%5000==0?dataFromRecordItems.size()/5000:dataFromRecordItems.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = dataFromRecordItems.size(); + } + List subList = dataFromRecordItems.subList(start,end); + queryDetailDataDao.saveOrUpdate(subList); + } + }else { + queryDetailDataDao.saveOrUpdate(dataFromRecordItems); + } + } } @@ -53,7 +69,21 @@ public class QueryDetailDataServiceImpl extends ServiceImple.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); //4.添加入库 - queryDetailDataDao.saveOrUpdate(dataFromRecordItems); + + if (dataFromRecordItems.size()>5000){ + int count = dataFromRecordItems.size()%5000==0?dataFromRecordItems.size()/5000:dataFromRecordItems.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = dataFromRecordItems.size(); + } + List subList = dataFromRecordItems.subList(start,end); + queryDetailDataDao.saveOrUpdate(subList); + } + }else { + queryDetailDataDao.saveOrUpdate(dataFromRecordItems); + } } } @@ -67,7 +97,20 @@ public class QueryDetailDataServiceImpl extends ServiceImple.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); //4.添加入库 - queryDetailDataDao.saveOrUpdate(dataFromRecordItems); + if (dataFromRecordItems.size()>5000){ + int count = dataFromRecordItems.size()%5000==0?dataFromRecordItems.size()/5000:dataFromRecordItems.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = dataFromRecordItems.size(); + } + List subList = dataFromRecordItems.subList(start,end); + queryDetailDataDao.saveOrUpdate(subList); + } + }else { + queryDetailDataDao.saveOrUpdate(dataFromRecordItems); + } } } diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java index f1f0c16d..2021ede1 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java @@ -6,6 +6,7 @@ import com.dxhy.core.dao.frTask.RecordToQueryDao; import com.dxhy.common.enums.KjkmTaxEnmu; import com.dxhy.core.entity.frJob.FpTaxAmount; import com.dxhy.core.entity.frJob.VoucherRecordQuery; +import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -71,9 +72,29 @@ public class RecordToQueryServiceImpl extends ServiceImpl uuids = queryDetailDataService.getRzztDetail(); - List rzztList = recordToQueryDao.getRzzt(uuids); + if (uuids != null && uuids.size() > 0){ + if (uuids.size() > 5000){ + + int count = uuids.size()%5000==0?uuids.size()/5000:uuids.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = uuids.size(); + } + List subList = uuids.subList(start,end); + queryDetailDataService.updateRzzt(subList); + } + }else { + List rzztList = recordToQueryDao.getRzzt(uuids); + + if (rzztList != null && rzztList.size() > 0){ + queryDetailDataService.updateRzzt(rzztList); + } + } + } + - queryDetailDataService.updateRzzt(rzztList); } @@ -106,7 +127,21 @@ public class RecordToQueryServiceImpl extends ServiceImplv.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh()))); } //8.保存或更新 - recordToQueryDao.insertOrUpdate(voucherRecordQuerys); + + if (voucherRecordQuerys.size()>5000){ + int count = voucherRecordQuerys.size()%5000==0?voucherRecordQuerys.size()/5000:voucherRecordQuerys.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = voucherRecordQuerys.size(); + } + List subList = voucherRecordQuerys.subList(start,end); + recordToQueryDao.insertOrUpdate(subList); + } + }else { + recordToQueryDao.insertOrUpdate(voucherRecordQuerys); + } flag = true; } return flag; @@ -145,7 +180,21 @@ public class RecordToQueryServiceImpl extends ServiceImpl5000){ + int count = voucherRecordQuerys.size()%5000==0?voucherRecordQuerys.size()/5000:voucherRecordQuerys.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = voucherRecordQuerys.size(); + } + List subList = voucherRecordQuerys.subList(start,end); + recordToQueryDao.insertOrUpdate(subList); + } + }else { + recordToQueryDao.insertOrUpdate(voucherRecordQuerys); + } flag = true; } return flag; @@ -178,7 +227,20 @@ public class RecordToQueryServiceImpl extends ServiceImpl5000){ + int count = voucherRecordQuerys.size()%5000==0?voucherRecordQuerys.size()/5000:voucherRecordQuerys.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = voucherRecordQuerys.size(); + } + List subList = voucherRecordQuerys.subList(start,end); + recordToQueryDao.insertOrUpdate(subList); + } + }else { + recordToQueryDao.insertOrUpdate(voucherRecordQuerys); + } flag = true; } return flag; @@ -193,7 +255,20 @@ public class RecordToQueryServiceImpl extends ServiceImpl5000){ + int count = dataFromRecordItems.size()%5000==0?dataFromRecordItems.size()/5000:dataFromRecordItems.size()/5000+1; + for (int i = 0; i < count; i++) { + int start = i*5000; + int end = (i+1)*5000; + if (i == count-1){ + end = dataFromRecordItems.size(); + } + List subList = dataFromRecordItems.subList(start,end); + recordToQueryDao.insertOrUpdate(subList); + } + }else { + recordToQueryDao.insertOrUpdate(dataFromRecordItems); + } }