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;
                     }
                 }
             }