From d83ab39c898053b707cfc8601e2e0bc7a08a9712 Mon Sep 17 00:00:00 2001
From: zhouquanseaskyshcom <zhouquan@seaskysh.com>
Date: Fri, 5 Aug 2022 16:02:16 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A5=E5=8F=A3=20?=
 =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../seasky/projectplan/api/IProjectPlan.java  |  9 ++++++
 .../projectplan/ProjectPlanBookGuiKouOut.java | 28 +++++++++++++++++++
 .../projectplan/ProjectPlanQueryService.java  |  8 ++++++
 .../db/mapper/xml/ProjectPlanBookMapper.xml   |  3 ++
 .../ProjectPlanQueryServiceImpl.java          | 19 +++++++++++++
 .../controller/ProjectPlanController.java     |  7 +++++
 6 files changed, 74 insertions(+)
 create mode 100644 ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/projectplan/ProjectPlanBookGuiKouOut.java

diff --git a/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IProjectPlan.java b/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IProjectPlan.java
index da45b14dc..39888073f 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IProjectPlan.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IProjectPlan.java
@@ -27,6 +27,15 @@ import java.util.List;
 @RequestMapping("projectPlan")
 public interface IProjectPlan {
 
+    /**
+     * 鏌ヨ褰掑彛閮ㄩ棬锛堝姩鎬侊級
+     *
+     * @param projectInfoPlanQry 椤圭洰淇℃伅璁″垝qry
+     * @return {@link Result}<{@link ProjectPlanBookOut}>
+     */
+    @PostMapping(path = "/queryGuiKouDepartment")
+    Result<ProjectPlanBookGuiKouOut> queryGuiKouDepartment(ProjectInfoPlanQry projectInfoPlanQry);
+
 
     /**
      * 璇ュ鏍$敵鎶ヤ功鏄惁鏈夊鍏ュ姛鑳�
diff --git a/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/projectplan/ProjectPlanBookGuiKouOut.java b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/projectplan/ProjectPlanBookGuiKouOut.java
new file mode 100644
index 000000000..9a56490f2
--- /dev/null
+++ b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/projectplan/ProjectPlanBookGuiKouOut.java
@@ -0,0 +1,28 @@
+package com.seasky.projectplan.dto.projectplan;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author 灏忓懆(喔� 鈥� 虁 _ 鈥� 虂)喔�
+ * @Data 2022/8/5 14:49
+ */
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude(JsonInclude.Include.ALWAYS)
+public class ProjectPlanBookGuiKouOut implements Serializable {
+
+    @ApiModelProperty(value = "椤圭洰绫诲瀷id",example = "")
+    private Long projectTypeId;
+
+    @ApiModelProperty(value = "椤圭洰绫诲瀷")
+    private String projectType;
+
+}
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/application/query/projectplan/ProjectPlanQueryService.java b/ServiceSite/src/main/java/com/seasky/projectplan/application/query/projectplan/ProjectPlanQueryService.java
index 38139a9b6..6b39bca22 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/application/query/projectplan/ProjectPlanQueryService.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/application/query/projectplan/ProjectPlanQueryService.java
@@ -351,4 +351,12 @@ public interface ProjectPlanQueryService extends BaseService<ProjectPlanBookPo>
      * @return {@link PersonInfoOut}
      */
     PersonInfoOut getPersonInfo();
+
+    /**
+     * 鏌ヨ褰掑彛閮ㄩ棬锛堝姩鎬侊級
+     *
+     * @param projectInfoPlanQry 椤圭洰淇℃伅璁″垝qry
+     * @return {@link Result}<{@link ProjectPlanBookOut}>
+     */
+    List<ProjectPlanBookGuiKouOut> queryGuiKouDepartment(ProjectInfoPlanQry projectInfoPlanQry);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml
index e79fd7783..048868465 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml
@@ -944,6 +944,9 @@
             <if test="pm.projectType != null and pm.projectType != '' ">
                 and a.project_type = #{pm.projectType}
             </if>
+            <if test="pm.projectType != null ">
+                and a.project_type_id = #{pm.projectTypeId}
+            </if>
             <if test="pm.projectTypeList != null and pm.projectTypeList.size() > 0">
                 and a.project_type in
                 <foreach collection="pm.projectTypeList" item="projectType" separator="," open="(" close=")">
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 3c4529c28..f1fe61e12 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
@@ -46,6 +46,8 @@ import com.seasky.projectplan.infrastructure.db.mapper.table.*;
 import com.seasky.projectplan.infrastructure.reader.attachment.AttachmentQueryConvert;
 import com.seasky.projectplan.infrastructure.reader.budgetinfo.BudgetInfoConvert;
 import com.seasky.projectplan.infrastructure.rpc.FlowRpc;
+import com.seasky.projectplan.infrastructure.util.BaseDataUtil;
+import com.seasky.projectplan.infrastructure.util.StreamUtils;
 import dm.jdbc.util.StringUtil;
 import org.apache.commons.io.IOUtils;
 import org.apache.ibatis.jdbc.Null;
@@ -2099,6 +2101,23 @@ public class ProjectPlanQueryServiceImpl extends AbstractService<ProjectPlanBook
         }
     }
 
+    @Override
+    public List<ProjectPlanBookGuiKouOut> queryGuiKouDepartment(ProjectInfoPlanQry projectInfoPlanQry) {
+        //鑾峰彇褰撳墠鐧诲綍浜虹殑閮ㄩ棬淇℃伅
+        List<String> codeList = BaseDataUtil.makeCurrentUserDeptCodeList();
+        QueryWrapper<ProjectPlanBookPo> bookPoQueryWrapper = new QueryWrapper<>();
+        bookPoQueryWrapper.in("department_code",codeList)
+                .eq("year",projectInfoPlanQry.getYear())
+                .eq("plan_type",projectInfoPlanQry.getPlanType())
+                .eq("available","YES");
+        List<ProjectPlanBookPo> projectPlanBookPos = projectPlanBookMapper.selectList(bookPoQueryWrapper);
+        if (ObjectUtils.isEmpty(projectPlanBookPos)){
+            throw ExceptionUtil.getException(null,"褰撳墠鐧诲綍浜烘病鏈夊搴旂殑褰掑彛閮ㄩ棬");
+        }
+        List<ProjectPlanBookGuiKouOut> projectPlanBookGuiKouOuts = MapperUtils.INSTANCE.mapAsList(ProjectPlanBookGuiKouOut.class, projectPlanBookPos);
+        return projectPlanBookGuiKouOuts.stream().distinct().collect(Collectors.toList());
+    }
+
     /**
      * 寰楀埌浠g爜鍒楄〃
      *
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/ProjectPlanController.java b/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/ProjectPlanController.java
index d6c7d0196..8e809d7c1 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/ProjectPlanController.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/ProjectPlanController.java
@@ -10,6 +10,7 @@ import com.seasky.projectplan.dto.projectlibrary.ProjectLibraryOut;
 import com.seasky.projectplan.dto.projectlibrary.ProjectLibraryQry;
 import com.seasky.projectplan.dto.projectplan.*;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -43,6 +44,12 @@ public class ProjectPlanController extends BaseController implements IProjectPla
     @Value("${import.enable}")
     private Boolean enableImport;
 
+    @ApiOperation("鏌ヨ褰掑彛閮ㄩ棬锛堝姩鎬侊級")
+    @Override
+    public Result<ProjectPlanBookGuiKouOut> queryGuiKouDepartment(@RequestBody ProjectInfoPlanQry projectInfoPlanQry) {
+        return ok(ResponseCode.SUCCESS,queryService.queryGuiKouDepartment(projectInfoPlanQry));
+    }
+
     @ApiOperation("璇ュ鏍$敵鎶ヤ功鏄惁鏈夊鍏ュ姛鑳�")
     @Override
     public Result<Boolean> enableImport() {
-- 
GitLab