diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectplan/ProjectPlanQueryServiceImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectplan/ProjectPlanQueryServiceImpl.java index 63123bf468bdf1953fc7d1225694d0be96508573..7bf716d27c5d22f0e0fc0e0e6d15ac2224a9df3d 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectplan/ProjectPlanQueryServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectplan/ProjectPlanQueryServiceImpl.java @@ -78,6 +78,7 @@ import java.net.URLEncoder; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 椤圭洰璁″垝鏌ヨ鏈嶅姟impl @@ -1461,11 +1462,13 @@ public class ProjectPlanQueryServiceImpl extends AbstractService<ProjectPlanBook //鏌ヨ椤圭洰缂栧彿鍙婃ā鏉� String model = ""; LambdaQueryWrapper<ExpenseCardNumberPo> expenseCardNumberPoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + expenseCardNumberPoLambdaQueryWrapper.select(ExpenseCardNumberPo::getNumber, ExpenseCardNumberPo::getModel); expenseCardNumberPoLambdaQueryWrapper.eq(ExpenseCardNumberPo::getProjectPlanID, projectPlanBookPo.getId()); ExpenseCardNumberPo expenseCardNumberPo = expenseCardNumberMapper.selectOne(expenseCardNumberPoLambdaQueryWrapper); if (projectPlanBookQry.getProjectCodeMatchingState() == 1 && !PlanBookTypeEnum.鏃ュ父鐢虫姤涔�.val().equals(projectPlanBookPo.getPlanBookType())) { //椤圭洰缁忚垂锛氶渶瑕佹湁椤圭洰绫诲瀷 LambdaQueryWrapper<BudgetInfoPo> budgetInfoPoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + budgetInfoPoLambdaQueryWrapper.select(BudgetInfoPo::getModel); budgetInfoPoLambdaQueryWrapper.eq(BudgetInfoPo::getId, projectPlanBookPo.getProjectTypeId()); BudgetInfoPo budgetInfoPo = budgetInfoMapper.selectOne(budgetInfoPoLambdaQueryWrapper); if (ObjectUtils.isEmpty(expenseCardNumberPo) || ObjectUtils.isEmpty(expenseCardNumberPo.getNumber())) { @@ -1488,50 +1491,44 @@ public class ProjectPlanQueryServiceImpl extends AbstractService<ProjectPlanBook } model = expenseCardNumberPo.getModel(); } - //鏌ヨ鍖归厤棰濆害鍏崇郴 - for (PlanBookSubjectPo planBookSubjectPo : subjectPoList) { - LambdaQueryWrapper<FundTemplateLimitPo> fundTemplateLimitPoLambdaQueryWrapper = new LambdaQueryWrapper<>(); - fundTemplateLimitPoLambdaQueryWrapper.eq(FundTemplateLimitPo::getTemplateCode, model); - fundTemplateLimitPoLambdaQueryWrapper.eq(FundTemplateLimitPo::getFundCode, planBookSubjectPo.getSubjectCode()); - FundTemplateLimitPo fundTemplateLimitPo = fundTemplateLimitMapper.selectOne(fundTemplateLimitPoLambdaQueryWrapper); - if (projectPlanBookQry.getLimitMatchingState() == 1) { - if (!ObjectUtils.isEmpty(fundTemplateLimitPo) && !ObjectUtils.isEmpty(fundTemplateLimitPo.getLimitCode())) { - //缁勮鏁版嵁 - ProjectCommonOut projectCommonOut = new ProjectCommonOut(); - projectCommonOut.setId(projectPlanBookPo.getId()); - projectCommonOut.setYear(projectPlanBookPo.getYear()); - projectCommonOut.setProjectName(projectPlanBookPo.getProjectName()); - projectCommonOut.setProjectCode(expenseCardNumberPo.getNumber()); - projectCommonOut.setDepartmentName(projectPlanBookPo.getDepartmentName()); - projectCommonOut.setBudgetModel(model); - projectCommonOut.setState(projectPlanBookPo.getState()); - projectCommonOut.setTotalMoney(projectPlanBookPo.getTotalMoney()); - projectCommonOut.setProjectLeaderName(projectPlanBookPo.getProjectLeaderName()); - projectCommonOut.setCreator(projectPlanBookPo.getCreator()); - projectCommonOut.setCreatorName(projectPlanBookPo.getRemark()); - projectCommonOut.setProjectType(projectPlanBookPo.getProjectType()); - projectCommonOutList.add(projectCommonOut); - break; - } - }else if (projectPlanBookQry.getLimitMatchingState() == 0) { - if (ObjectUtils.isEmpty(fundTemplateLimitPo) || ObjectUtils.isEmpty(fundTemplateLimitPo.getLimitCode())) { - //缁勮鏁版嵁 - ProjectCommonOut projectCommonOut = new ProjectCommonOut(); - projectCommonOut.setId(projectPlanBookPo.getId()); - projectCommonOut.setYear(projectPlanBookPo.getYear()); - projectCommonOut.setProjectName(projectPlanBookPo.getProjectName()); - projectCommonOut.setProjectCode(expenseCardNumberPo.getNumber()); - projectCommonOut.setDepartmentName(projectPlanBookPo.getDepartmentName()); - projectCommonOut.setBudgetModel(model); - projectCommonOut.setState(projectPlanBookPo.getState()); - projectCommonOut.setTotalMoney(projectPlanBookPo.getTotalMoney()); - projectCommonOut.setProjectLeaderName(projectPlanBookPo.getProjectLeaderName()); - projectCommonOut.setCreator(projectPlanBookPo.getCreator()); - projectCommonOut.setCreatorName(projectPlanBookPo.getRemark()); - projectCommonOut.setProjectType(projectPlanBookPo.getProjectType()); - projectCommonOutList.add(projectCommonOut); - break; - } + LambdaQueryWrapper<FundTemplateLimitPo> fundTemplateLimitPoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + fundTemplateLimitPoLambdaQueryWrapper.select(FundTemplateLimitPo::getLimitCode); + fundTemplateLimitPoLambdaQueryWrapper.eq(FundTemplateLimitPo::getTemplateCode, model); + fundTemplateLimitPoLambdaQueryWrapper.in(FundTemplateLimitPo::getFundCode, subjectPoList.stream().map(PlanBookSubjectPo::getSubjectCode).collect(Collectors.toList())); + List<FundTemplateLimitPo> fundTemplateLimitPoList = fundTemplateLimitMapper.selectList(fundTemplateLimitPoLambdaQueryWrapper); + if (projectPlanBookQry.getLimitMatchingState() == 1) { + if (!ObjectUtils.isEmpty(fundTemplateLimitPoList) && !ObjectUtils.isEmpty(fundTemplateLimitPoList.stream().map(FundTemplateLimitPo::getLimitCode))) { + //缁勮鏁版嵁 + ProjectCommonOut projectCommonOut = new ProjectCommonOut(); + projectCommonOut.setId(projectPlanBookPo.getId()); + projectCommonOut.setYear(projectPlanBookPo.getYear()); + projectCommonOut.setProjectName(projectPlanBookPo.getProjectName()); + projectCommonOut.setProjectCode(expenseCardNumberPo.getNumber()); + projectCommonOut.setDepartmentName(projectPlanBookPo.getDepartmentName()); + projectCommonOut.setBudgetModel(model); + projectCommonOut.setState(projectPlanBookPo.getState()); + projectCommonOut.setTotalMoney(projectPlanBookPo.getTotalMoney()); + projectCommonOut.setProjectLeaderName(projectPlanBookPo.getProjectLeaderName()); + projectCommonOut.setCreator(projectPlanBookPo.getCreator()); + projectCommonOutList.add(projectCommonOut); + break; + } + }else if (projectPlanBookQry.getLimitMatchingState() == 0) { + if (ObjectUtils.isEmpty(fundTemplateLimitPoList) || ObjectUtils.isEmpty(fundTemplateLimitPoList.stream().map(FundTemplateLimitPo::getLimitCode))) { + //缁勮鏁版嵁 + ProjectCommonOut projectCommonOut = new ProjectCommonOut(); + projectCommonOut.setId(projectPlanBookPo.getId()); + projectCommonOut.setYear(projectPlanBookPo.getYear()); + projectCommonOut.setProjectName(projectPlanBookPo.getProjectName()); + projectCommonOut.setProjectCode(expenseCardNumberPo.getNumber()); + projectCommonOut.setDepartmentName(projectPlanBookPo.getDepartmentName()); + projectCommonOut.setBudgetModel(model); + projectCommonOut.setState(projectPlanBookPo.getState()); + projectCommonOut.setTotalMoney(projectPlanBookPo.getTotalMoney()); + projectCommonOut.setProjectLeaderName(projectPlanBookPo.getProjectLeaderName()); + projectCommonOut.setCreator(projectPlanBookPo.getCreator()); + projectCommonOutList.add(projectCommonOut); + break; } } }