From caeeca6eea85ae54214bcdb077dd075f9aac9838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Mon, 15 Jan 2024 12:12:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=8F=92=E5=85=A5=E6=88=96?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=86=E6=89=B9=E6=AC=A1=E8=BF=9B=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frJob/QueryDetailDataServiceImpl.java | 24 ++++---- .../frJob/RecordToQueryServiceImpl.java | 57 +++++++++++++------ 2 files changed, 51 insertions(+), 30 deletions(-) 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 02cc52a7..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 @@ -41,11 +41,11 @@ public class QueryDetailDataServiceImpl extends ServiceImple.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); //4.添加入库 - if (dataFromRecordItems.size()>10000){ - int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + 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*10000; - int end = (i+1)*10000; + int start = i*5000; + int end = (i+1)*5000; if (i == count-1){ end = dataFromRecordItems.size(); } @@ -70,11 +70,11 @@ public class QueryDetailDataServiceImpl extends ServiceImple.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); //4.添加入库 - if (dataFromRecordItems.size()>10000){ - int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + 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*10000; - int end = (i+1)*10000; + int start = i*5000; + int end = (i+1)*5000; if (i == count-1){ end = dataFromRecordItems.size(); } @@ -97,11 +97,11 @@ public class QueryDetailDataServiceImpl extends ServiceImple.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); //4.添加入库 - if (dataFromRecordItems.size()>10000){ - int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + 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*10000; - int end = (i+1)*10000; + int start = i*5000; + int end = (i+1)*5000; if (i == count-1){ end = dataFromRecordItems.size(); } 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 8e7e64c7..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); } @@ -107,11 +128,11 @@ public class RecordToQueryServiceImpl extends ServiceImpl10000){ - int count = voucherRecordQuerys.size()%10000==0?voucherRecordQuerys.size()/10000:voucherRecordQuerys.size()/10000+1; + 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*10000; - int end = (i+1)*10000; + int start = i*5000; + int end = (i+1)*5000; if (i == count-1){ end = voucherRecordQuerys.size(); } @@ -160,11 +181,11 @@ public class RecordToQueryServiceImpl extends ServiceImpl10000){ - int count = voucherRecordQuerys.size()%10000==0?voucherRecordQuerys.size()/10000:voucherRecordQuerys.size()/10000+1; + 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*10000; - int end = (i+1)*10000; + int start = i*5000; + int end = (i+1)*5000; if (i == count-1){ end = voucherRecordQuerys.size(); } @@ -206,11 +227,11 @@ public class RecordToQueryServiceImpl extends ServiceImpl10000){ - int count = voucherRecordQuerys.size()%10000==0?voucherRecordQuerys.size()/10000:voucherRecordQuerys.size()/10000+1; + 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*10000; - int end = (i+1)*10000; + int start = i*5000; + int end = (i+1)*5000; if (i == count-1){ end = voucherRecordQuerys.size(); } @@ -234,11 +255,11 @@ public class RecordToQueryServiceImpl extends ServiceImpl10000){ - int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + 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*10000; - int end = (i+1)*10000; + int start = i*5000; + int end = (i+1)*5000; if (i == count-1){ end = dataFromRecordItems.size(); }