|
|
@ -42,6 +42,7 @@ import com.qs.serve.modules.vtb.entity.bo.VtbVerificationBo; |
|
|
|
import javax.validation.Valid; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* 核销 核销 |
|
|
@ -83,6 +84,8 @@ public class VtbVerificationController { |
|
|
|
public R<PageVo<VtbVerification>> getPage(VtbVerificationSo param,Integer loadMy,Integer loadChild){ |
|
|
|
VtbVerification entity = CopierUtil.copy(param,new VtbVerification()); |
|
|
|
LambdaQueryWrapper<VtbVerification> lqw = new LambdaQueryWrapper<>(entity); |
|
|
|
//减少mysql limit 产生的 IO
|
|
|
|
lqw.select(VtbVerification::getId); |
|
|
|
if(param.getQueryStartTime()!=null){ |
|
|
|
lqw.ge(VtbVerification::getFinishedTime,param.getQueryStartTime()); |
|
|
|
} |
|
|
@ -91,21 +94,42 @@ public class VtbVerificationController { |
|
|
|
} |
|
|
|
if(loadChild!=null&&loadChild.equals(1)){ |
|
|
|
List<String> userIds = sysPostUserService.listByChildIds(AuthContextUtils.getSysUserId()); |
|
|
|
userIds.add("0"); |
|
|
|
lqw.in(VtbVerification::getCreateBy,userIds); |
|
|
|
if(userIds.size()==0){ |
|
|
|
return R.byEmptyList(); |
|
|
|
} |
|
|
|
if(userIds.size()==1){ |
|
|
|
lqw.eq(VtbVerification::getUserId,userIds.get(0)); |
|
|
|
}else { |
|
|
|
lqw.in(VtbVerification::getUserId,userIds); |
|
|
|
} |
|
|
|
}else if(loadMy!=null&&loadMy.equals(1)){ |
|
|
|
lqw.eq(VtbVerification::getCreateBy,AuthContextUtils.getSysUserId()); |
|
|
|
lqw.eq(VtbVerification::getUserId,AuthContextUtils.getSysUserId()); |
|
|
|
} |
|
|
|
lqw.orderByDesc(VtbVerification::getId); |
|
|
|
PageUtil.startPage(); |
|
|
|
List<VtbVerification> list = vtbVerificationService.list(lqw); |
|
|
|
List<VtbVerification> listObjectIds = vtbVerificationService.list(lqw); |
|
|
|
if(listObjectIds.size()<1){ |
|
|
|
return R.byEmptyList(); |
|
|
|
} |
|
|
|
List<Long> veriIds = listObjectIds.stream().map(VtbVerification::getId).collect(Collectors.toList()); |
|
|
|
List<VtbVerification> list = vtbVerificationService.listByIds(veriIds); |
|
|
|
List<Long> actIds = list.stream().map(VtbVerification::getActivityId).distinct().collect(Collectors.toList()); |
|
|
|
List<TbsActivity> activityList = tbsActivityService.listByIds(actIds); |
|
|
|
List<Long> costIds = activityList.stream().map(TbsActivity::getCostApplyId).distinct().collect(Collectors.toList()); |
|
|
|
List<TbsCostApply> costList = tbsCostApplyService.listByIds(costIds); |
|
|
|
for (VtbVerification verification : list) { |
|
|
|
TbsActivity activity = tbsActivityService.getById(verification.getActivityId()); |
|
|
|
TbsCostApply costApply = tbsCostApplyService.getById(activity.getCostApplyId()); |
|
|
|
verification.setActivityInfo(activity); |
|
|
|
verification.setCostApplyInfo(costApply); |
|
|
|
for (TbsActivity activity : activityList) { |
|
|
|
if(activity.getId().equals(verification.getActivityId())){ |
|
|
|
verification.setActivityInfo(activity); |
|
|
|
for (TbsCostApply costApply : costList) { |
|
|
|
if(costApply.getId().equals(activity.getCostApplyId())){ |
|
|
|
verification.setCostApplyInfo(costApply); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return R.byPageHelperList(list); |
|
|
|
return R.byPageHelperList(listObjectIds,list); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|