Merge remote-tracking branch 'origin/taskLimit' into release

release
wangrangrang 2 years ago
commit 3cb363e9d1
  1. 43
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java
  2. 75
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.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,8 +40,23 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库
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<VoucherRecordQueryDetail> subList = dataFromRecordItems.subList(start,end);
queryDetailDataDao.saveOrUpdate(subList);
}
}else {
queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
}
}
}
@Override
@ -53,9 +69,23 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库
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<VoucherRecordQueryDetail> subList = dataFromRecordItems.subList(start,end);
queryDetailDataDao.saveOrUpdate(subList);
}
}else {
queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
}
}
}
@Override
public void insertZyDataToQueryDetail(){
@ -67,9 +97,22 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库
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<VoucherRecordQueryDetail> subList = dataFromRecordItems.subList(start,end);
queryDetailDataDao.saveOrUpdate(subList);
}
}else {
queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
}
}
}
@Override
public String[] getTime(String km){

@ -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<RecordToQueryDao, Vouc
//更新发票认证状态
List<String> uuids = queryDetailDataService.getRzztDetail();
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<String> subList = uuids.subList(start,end);
queryDetailDataService.updateRzzt(subList);
}
}else {
List<String> rzztList = recordToQueryDao.getRzzt(uuids);
if (rzztList != null && rzztList.size() > 0){
queryDetailDataService.updateRzzt(rzztList);
}
}
}
}
@ -106,7 +127,21 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
voucherRecordQuerys.forEach(v->v.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh())));
}
//8.保存或更新
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<VoucherRecordQuery> subList = voucherRecordQuerys.subList(start,end);
recordToQueryDao.insertOrUpdate(subList);
}
}else {
recordToQueryDao.insertOrUpdate(voucherRecordQuerys);
}
flag = true;
}
return flag;
@ -145,7 +180,21 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
}
//8.保存或更新
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<VoucherRecordQuery> subList = voucherRecordQuerys.subList(start,end);
recordToQueryDao.insertOrUpdate(subList);
}
}else {
recordToQueryDao.insertOrUpdate(voucherRecordQuerys);
}
flag = true;
}
return flag;
@ -178,7 +227,20 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
}
//6.保存或更新
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<VoucherRecordQuery> subList = voucherRecordQuerys.subList(start,end);
recordToQueryDao.insertOrUpdate(subList);
}
}else {
recordToQueryDao.insertOrUpdate(voucherRecordQuerys);
}
flag = true;
}
return flag;
@ -193,7 +255,20 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
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<VoucherRecordQuery> subList = dataFromRecordItems.subList(start,end);
recordToQueryDao.insertOrUpdate(subList);
}
}else {
recordToQueryDao.insertOrUpdate(dataFromRecordItems);
}
}

Loading…
Cancel
Save