From 9073362fcc34b9f3dcef654fa0f19baf191982ee Mon Sep 17 00:00:00 2001
From: Harry Yang <i.take.today@gmail.com>
Date: Tue, 27 Dec 2022 14:50:35 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=A2=84=E7=AE=97=E9=80=9A?=
 =?UTF-8?q?=E8=BF=87=E7=9A=84=E9=A1=B9=E7=9B=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../palmte/work/controller/backend/ProcessController.java | 5 ++++-
 src/main/java/cn/palmte/work/model/ProjectRepository.java | 8 ++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java
index 75d69df..aa04695 100644
--- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java
+++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java
@@ -204,10 +204,13 @@ public class ProcessController {
     return processService.getProjectRepaidAmount(id);
   }
 
+  /**
+   * 搜索符合条件的项目,供给选择
+   */
   @ResponseBody
   @GetMapping("/projects")
   public List<Map<String, Object>> query(@RequestParam String q) {
-    return projectRepository.findByProjectNoOrName(q)
+    return projectRepository.findBudgetPassedProjects(q)
             .stream()
             .map(project -> {
               HashMap<String, Object> map = new HashMap<>();
diff --git a/src/main/java/cn/palmte/work/model/ProjectRepository.java b/src/main/java/cn/palmte/work/model/ProjectRepository.java
index 76e21a4..1fbd56b 100644
--- a/src/main/java/cn/palmte/work/model/ProjectRepository.java
+++ b/src/main/java/cn/palmte/work/model/ProjectRepository.java
@@ -40,8 +40,12 @@ public interface ProjectRepository extends JpaRepository<Project,Integer> {
     @Query(value = "update project set approve_id=?, approve_name=? where approve_id = ?", nativeQuery = true)
     int batchUpdateApprove(int targetAdminId, String targetAdminName, int adminId);
 
-    @Query(value = "select * from project where `project_no` like concat('%', :q, '%') or `name` like concat('%', :q, '%')",
+  /**
+   * 查询预算通过的项目
+   */
+    @Query(value = "select * from project where (`status` > 5 or (`status` = 5 and approve_status_budget = 2)) " +
+            "  and (`project_no` like concat('%', :q, '%') or `name` like concat('%', :q, '%'))",
            nativeQuery = true)
-    List<Project> findByProjectNoOrName(@Param("q") String query);
+    List<Project> findBudgetPassedProjects(@Param("q") String query);
 
 }