From 9020f41cb1c145d69931d103c61e22c7a2e2cfae Mon Sep 17 00:00:00 2001
From: xiaqihang <xiaqihang@seaskysh.com>
Date: Thu, 27 Jan 2022 17:29:11 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E9=9C=80?=
 =?UTF-8?q?=E8=A6=81=E7=99=BB=E5=BD=95=E4=BA=BA=E5=AE=A1=E6=A0=B8=E7=9A=84?=
 =?UTF-8?q?=E7=BC=96=E5=88=B6=E4=B9=A6=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=A0=B9?=
 =?UTF-8?q?=E6=8D=AE=E6=B5=81=E7=A8=8B=E7=8A=B6=E6=80=81=E8=B0=83=E7=94=A8?=
 =?UTF-8?q?flow=20=E7=9A=84feign=E6=8E=A5=E5=8F=A3=EF=BC=8Csql=E6=9F=A5?=
 =?UTF-8?q?=E8=AF=A2=E6=B7=BB=E5=8A=A0=E6=9D=A1=E4=BB=B6=EF=BC=8CprocessId?=
 =?UTF-8?q?=E8=A6=81=E6=A0=B9=E6=8D=AEfeign=E6=8E=A5=E5=8F=A3=E8=BF=94?=
 =?UTF-8?q?=E5=9B=9E=E7=9A=84list=E7=9A=84id=E9=9B=86=E5=90=88=E5=88=A4?=
 =?UTF-8?q?=E6=96=AD=E6=98=AF=E5=90=A6=E5=8C=85=E5=90=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../dto/qry/ProjectPlanByAuditorQry.java      |  6 +++++
 .../db/mapper/xml/ProjectPlanMapper.xml       |  6 +++++
 .../projectPlan/ProjectPlanQuerySvrImpl.java  | 23 +++++++++++++++++++
 3 files changed, 35 insertions(+)

diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/qry/ProjectPlanByAuditorQry.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/qry/ProjectPlanByAuditorQry.java
index 81a3023..72c1f5c 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/qry/ProjectPlanByAuditorQry.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/qry/ProjectPlanByAuditorQry.java
@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import javax.validation.constraints.NotNull;
+import java.util.List;
 
 /**
  * @Author wangxingjun
@@ -49,4 +50,9 @@ public class ProjectPlanByAuditorQry extends BaseDto {
             example = "10"
     )
     private Integer pageSize;
+
+    /**
+     * processId 闆嗗悎
+     */
+    List<String> processIdsList;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/ProjectPlanMapper.xml b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/ProjectPlanMapper.xml
index 17b7af7..b6623e1 100644
--- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/ProjectPlanMapper.xml
+++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/ProjectPlanMapper.xml
@@ -62,6 +62,12 @@
             <if test="pm.flowState != null and pm.flowState != ''">
                 and flowState = #{pm.flowState}
             </if>
+            <if test="pm.processIdsList == null">
+                and processId in
+                <foreach collection="pm.processIdsList" item="item" index="index" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
         </where>
     </select>
 </mapper>
\ No newline at end of file
diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java
index 371d576..718379f 100644
--- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.seasky.core.common.Error;
 import com.seasky.core.common.Pagination;
 import com.seasky.core.common.ResponseCode;
+import com.seasky.core.common.Result;
 import com.seasky.core.ddd.utils.MapperUtils;
 import com.seasky.core.exception.DataAccessException;
 import com.seasky.dbprojectplanmanage.application.query.projectPlan.ProjectPlanQuerySvr;
@@ -16,11 +17,16 @@ import com.seasky.dbprojectplanmanage.dto.qry.ProjectPlanQry;
 import com.seasky.dbprojectplanmanage.infrastructure.dataobject.po.ProjectPlanPo;
 import com.seasky.dbprojectplanmanage.infrastructure.db.mapper.table.ProjectPlanMapper;
 import com.seasky.dbprojectplanmanage.infrastructure.rpc.FlowRpc;
+import com.seasky.microflowapi.api.IFlow;
 import com.seasky.microflowapi.dto.FlowCanShowOut;
+import com.seasky.microflowapi.dto.ProcessInfoOut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Author wangxingjun
@@ -33,6 +39,8 @@ public class ProjectPlanQuerySvrImpl implements ProjectPlanQuerySvr {
     ProjectPlanMapper projectPlanMapper;
     @Autowired
     FlowRpc flowRpc;
+    @Resource
+    IFlow flow;
 
 
     /**
@@ -92,6 +100,21 @@ public class ProjectPlanQuerySvrImpl implements ProjectPlanQuerySvr {
      */
     @Override
     public Pagination<ProjectPlanOut> queryProjectPlanByAuditorPage(ProjectPlanByAuditorQry projectPlanByAuditorQry) {
+        List<ProcessInfoOut> data = new ArrayList<>();
+        if ("0".equals(projectPlanByAuditorQry.getFlowType())){
+            //浠e姙
+            data = flow.getProcessAllByUserId().getData();
+        }else if ("1".equals(projectPlanByAuditorQry.getFlowType())){
+            //宸插姙
+            data = flow.getDoneAllByUserId().getData();
+        }else{
+            throw new DataAccessException(new Error(ResponseCode.DATA_ACCESS_NOT_FOUND, null, "娴佺▼绫诲瀷鍙傛暟鍑洪敊", ""));
+        }
+        if (data.size() == 0){
+            throw new DataAccessException(new Error(ResponseCode.DATA_ACCESS_NOT_FOUND, null, "鏌ヨ涓嶅埌鐩稿叧娴佺▼", ""));
+        }
+        List<String> ids = data.stream().map(ProcessInfoOut::getId).collect(Collectors.toList());
+        projectPlanByAuditorQry.setProcessIdsList(ids);
         Page<ProjectPlanOut> page = new Page<>(projectPlanByAuditorQry.getPageIndex(), projectPlanByAuditorQry.getPageSize());
         List<ProjectPlanOut> records = ProjectPlanQueryConvert.poToOut(projectPlanMapper.queryProjectPlanByAuditorPage(page,projectPlanByAuditorQry).getRecords());
         page.setRecords(records);
-- 
GitLab