From 88e7a6610620098337944b0917e2fd8ca4d45ac0 Mon Sep 17 00:00:00 2001 From: Harry Yang Date: Wed, 4 Jan 2023 11:12:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=AC=A6=E5=90=88=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E7=9A=84=E9=A1=B9=E7=9B=AE=20=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E9=94=80=E5=94=AE=E5=90=88=E5=90=8C=E9=87=8C=E9=9D=A2=E5=B7=B2?= =?UTF-8?q?=E7=BB=8F=E6=8F=90=E4=BA=A4=E7=9A=84=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/controller/backend/ProcessController.java | 12 +++++++++--- .../java/cn/palmte/work/model/ProjectRepository.java | 11 +++++++++++ .../templates/admin/business/process-new.ftl | 2 +- 3 files changed, 21 insertions(+), 4 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 7de6a57..53cc0d5 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java @@ -226,9 +226,15 @@ public class ProcessController { */ @ResponseBody @GetMapping("/projects") - public List> query(@RequestParam String q) { - return projectRepository.findBudgetPassedProjects(q) - .stream() + public List> query(@RequestParam String q, @RequestParam ProcessType processType) { + List projects = Collections.emptyList(); + if (processType == ProcessType.procurement_contract) { + projects = projectRepository.findBudgetPassedProjects(q); + } + else if (processType == ProcessType.sale_contract) { + projects = projectRepository.findBudgetPassedProjectsForSaleContract(q); + } + return projects.stream() .map(project -> { HashMap map = new HashMap<>(); map.put("id", project.getId()); diff --git a/src/main/java/cn/palmte/work/model/ProjectRepository.java b/src/main/java/cn/palmte/work/model/ProjectRepository.java index 1fbd56b..55b55aa 100644 --- a/src/main/java/cn/palmte/work/model/ProjectRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectRepository.java @@ -48,4 +48,15 @@ public interface ProjectRepository extends JpaRepository { nativeQuery = true) List findBudgetPassedProjects(@Param("q") String query); + /** + * 查询预算通过的项目 + */ + @Query(value = "select distinct p.* from project p left join project_process pp on p.id = pp.project_id " + + "where (p.`status` > 5 or (p.`status` = 5 and p.approve_status_budget = 2)) " + + " and (p.`project_no` like concat('%', :q, '%') or p.`name` like concat('%', :q, '%')) " + + " and (pp.process_type is null or (pp.process_type <> 'sale_contract' and " + + " (select pps.process_type from project_process pps where pps.id = pp.id) <> 'procurement_contract'))", + nativeQuery = true) + List findBudgetPassedProjectsForSaleContract(@Param("q") String query); + } diff --git a/src/main/resources/templates/admin/business/process-new.ftl b/src/main/resources/templates/admin/business/process-new.ftl index 3835f95..0c87e2f 100644 --- a/src/main/resources/templates/admin/business/process-new.ftl +++ b/src/main/resources/templates/admin/business/process-new.ftl @@ -851,7 +851,7 @@ callback([]) return } - fetch("${base}/process/projects?q=" + q) + fetch("${base}/process/projects?q=" + q + "&processType=" + this.processType) .then(checkStatus) .then(parseJSON) .then(data => {