From e21f7d821b70b444fa0ea4d099732c674e53a189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Thu, 4 Jan 2024 17:48:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frJob/QueryDetailDataServiceImpl.java | 49 ++++++++++++++- .../frJob/RecordToQueryServiceImpl.java | 62 +++++++++++++++++-- 2 files changed, 104 insertions(+), 7 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 0bfc5235..02cc52a7 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()>10000){ + int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + for (int i = 0; i < count; i++) { + int start = i*10000; + int end = (i+1)*10000; + 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()>10000){ + int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + for (int i = 0; i < count; i++) { + int start = i*10000; + int end = (i+1)*10000; + 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()>10000){ + int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + for (int i = 0; i < count; i++) { + int start = i*10000; + int end = (i+1)*10000; + 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..8e7e64c7 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 @@ -106,7 +106,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()>10000){ + int count = voucherRecordQuerys.size()%10000==0?voucherRecordQuerys.size()/10000:voucherRecordQuerys.size()/10000+1; + for (int i = 0; i < count; i++) { + int start = i*10000; + int end = (i+1)*10000; + 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 +159,21 @@ public class RecordToQueryServiceImpl extends ServiceImpl10000){ + int count = voucherRecordQuerys.size()%10000==0?voucherRecordQuerys.size()/10000:voucherRecordQuerys.size()/10000+1; + for (int i = 0; i < count; i++) { + int start = i*10000; + int end = (i+1)*10000; + 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 +206,20 @@ public class RecordToQueryServiceImpl extends ServiceImpl10000){ + int count = voucherRecordQuerys.size()%10000==0?voucherRecordQuerys.size()/10000:voucherRecordQuerys.size()/10000+1; + for (int i = 0; i < count; i++) { + int start = i*10000; + int end = (i+1)*10000; + 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 +234,20 @@ public class RecordToQueryServiceImpl extends ServiceImpl10000){ + int count = dataFromRecordItems.size()%10000==0?dataFromRecordItems.size()/10000:dataFromRecordItems.size()/10000+1; + for (int i = 0; i < count; i++) { + int start = i*10000; + int end = (i+1)*10000; + if (i == count-1){ + end = dataFromRecordItems.size(); + } + List subList = dataFromRecordItems.subList(start,end); + recordToQueryDao.insertOrUpdate(subList); + } + }else { + recordToQueryDao.insertOrUpdate(dataFromRecordItems); + } } 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 2/2] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=8F=92=E5=85=A5?= =?UTF-8?q?=E6=88=96=E6=9B=B4=E6=96=B0=E5=88=86=E6=89=B9=E6=AC=A1=E8=BF=9B?= =?UTF-8?q?=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(); }