优化发票查询逻辑并添加分页功能

- 增加 pageNum 参数获取
- 修改发票查询条件判断逻辑,支持发票号码查询- 添加分页筛选功能,根据 pageNum 和 pageSize 对查询结果进行分页
This commit is contained in:
张明 2025-06-06 17:54:35 +08:00
parent bac9acf5e3
commit 9541f09909
1 changed files with 7 additions and 1 deletions

View File

@ -66,6 +66,7 @@ public class ApplicationQryAction implements ICommonAction {
IQueryScheme scheme = ncCloudQueryService.convertCondition(info);
Map<String, List<String>> pkAndTsList = queryService.queryApplicationPksBySchema(scheme, appcode, sgbzflag);
String pageSize = (String) pageInfo.get("pageSize");
String pageNum = (String) pageInfo.get("pageIndex");
// 拿到allApplicationVOList中的所有PK,以及查询参数中的FPHM 再查询一次数据库
boolean isSpcialQuery = false;
QuerySchemeProcessor processor = new QuerySchemeProcessor(scheme);
@ -95,7 +96,7 @@ public class ApplicationQryAction implements ICommonAction {
filteredPks = ivApplicationHeadVOS.toArray(new String[0]);
}
// 如果条件中 填写了发票号码 执行此逻辑
if (invoiceDate != null && invoiceDate.length > 0) {
if (invoiceDate != null && invoiceDate.length > 0 || invoiceNums != null && invoiceNums.length > 0) {
List<IVApplogVO> ivApplogVOS = queryService.queryByInvoiceNumberAndAggPK(filteredPks, invoiceDate, invoiceNums);
// 将allApplicationAggVOList的主键中 ivApplogVOS每一项的lyid是否包含在内
allApplicationAggVOList = allApplicationAggVOList.stream()
@ -103,9 +104,14 @@ public class ApplicationQryAction implements ICommonAction {
.anyMatch(logVO -> logVO.getLyid().equals(aggVO.getPk_ivapplication())))
.collect(Collectors.toList());
}
// ·ÖÒ³µÄPKS
filteredPks = allApplicationAggVOList.stream()
.map(IVApplicationHeadVO::getPk_ivapplication)
.collect(Collectors.toList()).toArray(new String[0]);
// ·Öҳɸѡ
int subIndex = Math.min(allApplicationAggVOList.size(), Integer.parseInt(pageNum + 1) * Integer.parseInt(pageSize));
allApplicationAggVOList = allApplicationAggVOList
.subList(Integer.parseInt(pageNum), subIndex);
}
if (allApplicationAggVOList != null && allApplicationAggVOList.size() > 0) {
invApplication = operator.toGrid(allApplicationAggVOList.toArray(new IVApplicationHeadVO[allApplicationAggVOList.size()]));