From fd3d6d30afb9041c2cc3099833b7683e12c7daff Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Sun, 22 Sep 2024 10:00:36 +0800
Subject: [PATCH] 督办信息兼容新需求 查询待办任务-督办 首页-督办-我发起的 功能兼容 添加督办逻辑修改 新增全部签收接口 首页-待审核-我申请的 新增接口 办理反馈新增承办/配合部门判断 新增查询督办详情接口 查询时限接口bug修复

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java                   |   31 +
 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java   |   38 ++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java            |    9 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java |   18 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java      |  163 +++++++++---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml         |   27 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FileRelateDTO.java                  |   94 +++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java               |   13 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java                 |    9 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListWSQDDTO.java           |   86 ++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java              |   61 ++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java                   |   43 +++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml              |  110 ++++++-
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java                            |   19 +
 dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java    |    2 
 15 files changed, 611 insertions(+), 112 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java
index 8435da6..9e43ec4 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java
@@ -177,7 +177,7 @@
     }
 
     /**
-    * 根据编号查询单个
+    * 根据督办编号查询督办信息
     * @url {ctx}/api/web/caseSupervise/getById
     * @param id 主键编号
     * @return Object
@@ -256,19 +256,27 @@
     }
 
     /**
-     * 督办信息查询
+     * 督办信息分页查询
      * @url {ctx}/api/web/caseSupervise/pageCaseSupervise
+     * @param page 页码
+     * @param size 每页数量
      * @param caseId 主键编号
+     * @param type 查询类型 0:与案件相关信息 ,1:与案件和组织相关信息
      * @return Object
      */
     @GetMapping("/pageCaseSupervise")
     public Object pageCaseSupervise(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
-                                    @RequestParam(value = "caseId") String caseId, @RequestParam(value = "supStatus") int supStatus,
-                                    @CurrentUser String userId) {
+                                    @RequestParam(value = "caseId") String caseId,
+                                    @RequestParam(value = "type") int type, @CurrentUser String userId) {
         try {
+            // 督办状态,0:未回复,1:已回复
+            Integer supStatus = 0;
+            if(StringUtils.isNotBlank(request.getParameter("supStatus"))){
+                supStatus = Integer.valueOf(request.getParameter("supStatus"));
+            }
             Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
-            return ReturnSucUtils.getRepInfo(service.pageCaseSupervise(caseId, pageRequest, supStatus, userId));
+            return ReturnSucUtils.getRepInfo(service.pageCaseSupervise(caseId, pageRequest, supStatus, userId, type));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
index fd3767b..e3dca49 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -22,6 +22,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.web.bind.annotation.*;
@@ -122,6 +123,42 @@
     @PostMapping("/sign")
     public Object sign(@RequestBody List<SignTaskDTO> signTaskDTOList, @CurrentUser String userId) {
         try {
+            service.webSign(signTaskDTOList, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-全部签收
+     * @url {ctx}/api/web/caseTask/allSign
+     * @param
+     * @return Object
+     */
+    @PostMapping("/allSign")
+    public Object allSign(@CurrentUser String userId) {
+        try {
+            // 条件
+            Map<String, Object> terms = Maps.newHashMap();
+            // 流程/签收时间区间
+            String timeStart = request.getParameter("timeStart");
+            String timeEnd = request.getParameter("timeEnd");
+            if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
+                // 待签收,查询流转时间
+                terms.put("createTimeStart", timeStart);
+                terms.put("createTimeEnd", timeEnd);
+            }
+            // 查询申请方/被申请方关键词
+            String partyName = request.getParameter("partyName");
+            if (StringUtils.isNotBlank(partyName)){
+                terms.put("partyName", partyName);
+            }
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            terms.put("candeUnitId",loginUser.getUnitId());
+            terms.put("signStatus", 1);
+
+            List<SignTaskDTO>signTaskDTOList = service.listIdByTerms(terms);
             service.webSign(signTaskDTOList, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
@@ -770,53 +807,82 @@
         }
     }
 
-//    /**
-//     * web端-工作台-查询待办任务-审核任务
-//     * @url {ctx}/api/web/caseTask/pageMyTaskShWSQD
-//     * @param page 页码
-//     * @param size 每页数量
-//     * @param status 状态,0:待审核,1:已审核
-//     * @param sortType 排序方式(1:正序;2:倒序)
-//     * @param sortColmn 排序字段(1:结案申请时间;2:事项等级)
-//     * @return
-//     */
-//    @GetMapping("/pageMyTaskShWSQD")
-//    public Object pageMyTaskShWSQD(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
-//                               @RequestParam(value = "status") int status, @CurrentUser String userId,
-//                                   @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) {
-//        try {
-//            Map<String, Object> terms = Maps.newHashMap();
-//            // 回退/上报/结案申请/联合处置申请/审核时间区间
-//            String timeStart = request.getParameter("timeStart");
-//            String timeEnd = request.getParameter("timeEnd");
-//            if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
-//                terms.put("timeStart", timeStart);
-//                terms.put("timeEnd", timeEnd);
-//            }
-//            // 查询申请方/被申请方关键词
-//            String partyName = request.getParameter("partyName");
-//            if (StringUtils.isNotBlank(partyName)){
-//                terms.put("partyName", partyName);
-//            }
-//            if(ObjectUtils.isEmpty(sort)){
-//                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
-//            }
-//            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
-//            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-//            terms.put("auditUnitId",loginUser.getUnitId());
-//            terms.put("applyStatus", status);
-//            return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, type, terms));
-//        } catch (Exception e) {
-//            return ReturnFailUtils.getRepInfo();
-//        }
-//    }
+    /**
+     * web端-工作台-查询待办任务-审核任务-我申请的
+     * @url {ctx}/api/web/caseTask/pageMyTaskShWSQD
+     * @param page 页码
+     * @param size 每页数量
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:申请时间;2:审核时间;3:事项等级)
+     * @return
+     */
+    @GetMapping("/pageMyTaskShWSQD")
+    public Object pageMyTaskShWSQD(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+                               @CurrentUser String userId,@RequestParam(value = "sortType") int sortType,
+                               @RequestParam(value = "sortColmn") int sortColmn) {
+        try {
+            Map<String, Object> terms = Maps.newHashMap();
+            // 时间区间
+            String timeStart = request.getParameter("timeStart");
+            String timeEnd = request.getParameter("timeEnd");
+            if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
+                terms.put("timeStart", timeStart);
+                terms.put("timeEnd", timeEnd);
+            }
+            // 查询申请方/被申请方关键词
+            String partyName = request.getParameter("partyName");
+            if (StringUtils.isNotBlank(partyName)){
+                terms.put("partyName", partyName);
+            }
+            // 申请类型
+            String applyType = request.getParameter("applyType");
+            if (StringUtils.isNotBlank(applyType)){
+                terms.put("applyType", applyType);
+            }
+            // 审核结果
+            String auditResult = request.getParameter("auditResult");
+            if (StringUtils.isNotBlank(auditResult)){
+                terms.put("auditResult", auditResult);
+            }
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.turnaroundTime";
+                    break;
+                case 2:
+                    sortName = "t1.auditTime";
+                    break;
+                case 3:
+                    sortName = "t2.caseGrade";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            if(ObjectUtils.isEmpty(sort)){
+                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+            }
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            terms.put("applyUnitId",loginUser.getUnitId());
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 
     /**
      * web端-工作台-查询待办任务-督办
      * @url {ctx}/api/web/caseTask/pageMyTaskDb
      * @param page 页码
      * @param size 每页数量
-     * @param status 状态,0:未回复,1:已回复
+     * @param status 状态,0:未回复,1:已回复, 3:我发起的
      * @param sortType 排序方式(1:正序;2:倒序)
      * @param sortColmn 排序字段(1:督办时间/回复时限;2:事项等级)
      * @return
@@ -862,10 +928,17 @@
             }
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            terms.put("quiltUnitId",loginUser.getUnitId());
-            terms.put("supStatus", status);
-
-            return ReturnSucUtils.getRepInfo(superviseService.pageMyTaskDb(pageRequest, terms));
+            Page<CaseSupervise> caseSupervisePage = null;
+            if(StringUtils.isNotBlank(loginUser.getUnitId())){
+                if(3 != status){
+                    terms.put("quiltUnitId",loginUser.getUnitId());
+                    terms.put("supStatus", status);
+                }else{
+                    terms.put("supUnitId",loginUser.getUnitId());
+                }
+                caseSupervisePage = superviseService.pageMyTaskDb(pageRequest, terms);
+            }
+            return ReturnSucUtils.getRepInfo(caseSupervisePage);
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java
index 945a307..cfe9b6d 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java
@@ -63,18 +63,17 @@
 
     /**
      * 按条件查询实体总数
-     * @param caseId 查询条件集合
-     *  @param caseId 事项ID
+     * @param terms 条件
      */
-    long countCaseSupervise(@Param("caseId") String caseId, @Param("supStatus") int supStatus, @Param("quiltUnitId") String quiltUnitId);
+    long countCaseSupervise(@Param("terms") Map<String, Object> terms);
 
     /**
      * 根据事项ID分页查询
      * @param page 分页对象
-     * @param caseId 事项ID
+     * @param terms 条件
      * @return List<CaseSupervise>
      */
-    List<CaseSupervise> pageCaseSupervise(@Param("caseId") String caseId, @Param("page") PageRequest page, @Param("supStatus") int supStatus, @Param("quiltUnitId") String quiltUnitId);
+    List<CaseSupervise> pageCaseSupervise(@Param("terms") Map<String, Object> terms, @Param("page") PageRequest page);
 
     /**
      * 首页督办条件统计
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
index ce1288d..3ce889d 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
@@ -107,6 +107,13 @@
     List<FrontPageListQSDTO> pageMyTaskQs(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
 
     /**
+     * 全部签收-查询未签收所有Id
+     * @param terms 条件
+     * @return List<String>
+     */
+    List<SignTaskDTO> listIdByTerms(@Param("terms") Map<String, Object> terms);
+
+    /**
      * 首页-待/已受理条件统计
      * @param terms 条件
      * @return long
@@ -134,7 +141,7 @@
      * @param terms 条件
      * @return List<FrontPageListDTO>
      */
-    List<FrontPageListDTO> pageMyTaskShWSQD(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+    List<FrontPageListWSQDDTO> pageMyTaskShWSQD(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
 
     /**
      * 首页-办理中条件统计
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
index 4c81c84..172bc96 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
@@ -226,10 +226,12 @@
         COUNT(1)
         from
         <include refid="table-name" />
-        where case_id = #{caseId}
+        where case_id = #{terms.caseId}
         and delete_status = 0
-        and sup_status = #{supStatus}
-        and quilt_unit_id = #{quiltUnitId}
+        <if test="terms.quiltUnitId == 1">
+            and sup_status = #{terms.supStatus}
+            and quilt_unit_id = #{terms.quiltUnitId}
+        </if>
     </select>
 
     <!--  根据条件分页查询  -->
@@ -238,10 +240,12 @@
         <include refid="column-part"/>
         FROM
         <include refid="table-name" />
-        where case_id = #{caseId}
+        where case_id = #{terms.caseId}
         and delete_status = 0
-        and sup_status = #{supStatus}
-        and quilt_unit_id = #{quiltUnitId}
+        <if test="terms.quiltUnitId == 1">
+            and sup_status = #{terms.supStatus}
+            and quilt_unit_id = #{terms.quiltUnitId}
+        </if>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
                 isnull(${s.property}), ${s.property} ${s.direction}
@@ -297,7 +301,7 @@
 
     <!--  首页督办分页查询  -->
     <select id="pageMyTaskDb" resultMap="MyTaskApplyReviewResult">
-        SELECT
+        SELECT t1.id as ownerId, t1.case_id as caseId,
         t1.sup_time as turnaroundTime, DATEADD(hour, t1.reply_term, t1.sup_time) as timeLimit, t1.sup_unit_name as organizingUnit,
         t1.sup_content as opinion, t2.case_level as caseGrade, t2.canal_name as caseSource,
         t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs,
@@ -306,8 +310,13 @@
         dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
         t1.delete_status = 0
-        and t1.sup_status = #{terms.supStatus}
-        and t1.quilt_unit_id = #{terms.quiltUnitId}
+        <if test="terms.quiltUnitId != null and terms.quiltUnitId !=''">
+            and t1.quilt_unit_id = #{terms.quiltUnitId}
+            and t1.sup_status = #{terms.supStatus}
+        </if>
+        <if test="terms.supUnitId != null and terms.supUnitId !=''">
+            and t1.sup_unit_id = #{terms.supUnitId}
+        </if>
         <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
             and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
             and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
index a934d1f..3bee051 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -429,7 +429,7 @@
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
         (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP' or  t1.node_id = 'DFP')
-        and sign_status != 1
+        and t1.sign_status != 1
         and t2.delete_status = 0
         <include refid="myTaskFp-where-part"/>
     </select>
@@ -445,7 +445,7 @@
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
         (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP' or  t1.node_id = 'DFP')
-        and sign_status != 1
+        and t1.sign_status != 1
         and t2.delete_status = 0
         <include refid="myTaskFp-where-part"/>
         <if test="page.sort != null">
@@ -515,6 +515,17 @@
             order by isnull(t1.create_time), t1.create_time desc
         </if>
         limit #{page.offset}, #{page.size}
+    </select>
+
+    <!--  全部签收-查询未签收所有Id  -->
+    <select id="listIdByTerms" resultType="cn.huge.module.cases.domain.dto.SignTaskDTO">
+        SELECT t1.id as caseTaskId, t1.case_id as caseId
+        FROM
+        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
+        where
+        t2.delete_status = 0
+        and t1.status = '1'
+        <include refid="myTaskQs-where-part"/>
     </select>
 
 
@@ -643,37 +654,86 @@
 
     <!--  首页-待审核-我申请的条件统计  -->
     <select id="countMyTaskShWSQD" resultType="java.lang.Long">
-        select
-        COUNT(t1.id)
+        select sum(t1.count)
         from
-        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
-        where
-        t1.cande_unit_id = #{terms.candeUnitId}
-        and (t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id = 'DSL')
-        and t2.delete_status = 0
-        and t1.sign_status != 1
-        and t1.status = #{terms.status}
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
-        </if>
-        <if test="terms.partyName != null and terms.partyName !=''">
-            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
-        </if>
+        (
+        SELECT count(1) as count, case_id as caseId
+        FROM dyh_case_return
+        WHERE return_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT count(1) as count, case_id as caseId
+        FROM dyh_case_windup_apply
+        WHERE apply_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT count(1) as count, case_id as caseId
+        FROM dyh_case_appear
+        WHERE appear_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT count(1) as count, case_id as caseId
+        FROM dyh_case_assist_apply
+        WHERE apply_unit_id = #{terms.applyUnitId}
+        )t1 left join dyh_case_info t2 on t1.caseId = t2.id
+        <where>
+            <if test="terms.applyType != null and terms.applyType !=''">
+                and t1.applyType = #{terms.applyType}
+            </if>
+            <if test="terms.auditStatus != null and terms.auditStatus !=''">
+                and t1.audit_result = #{terms.auditResult}
+            </if>
+            <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
+                and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
+                and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
+            </if>
+            <if test="terms.partyName != null and terms.partyName !=''">
+                and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
+            </if>
+        </where>
     </select>
     <!--  首页-待审核-我申请的分页查询  -->
-    <select id="pageMyTaskShWSQD" resultMap="MyTaskApplyReviewResult">
-        select caseId as caseId, return_time as turnaroundTime, '回退' as applyType, audit_unit_name as auditDept,
-          return_status as applyStatus, audit_result_name as 'mediResult'
-
-
+    <select id="pageMyTaskShWSQD" resultType="cn.huge.module.cases.domain.dto.FrontPageListWSQDDTO">
+        select t1.*,t2.case_level as caseGrade, t2.canal_name as caseSource, t2.case_type_name as caseType,
+        concat(t2.plaintiffs, t2.pagents) as plaintiffs, concat(t2.defendants, t2.dagents) as defendants
+            from
+            (
+            SELECT case_id as caseId, id as ownerId, return_time as turnaroundTime, '回退' as applyType,
+            audit_unit_name as auditUnit, return_status as auditStatus, audit_result_name as auditResult,
+            audit_time as auditTime, create_time, audit_result
+            FROM dyh_case_return
+            WHERE return_unit_id = #{terms.applyUnitId}
+            union all
+            SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '结案' as applyType,
+            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
+            audit_time as auditTime, create_time, audit_result
+            FROM dyh_case_windup_apply
+            WHERE apply_unit_id = #{terms.applyUnitId}
+            union all
+            SELECT case_id as caseId, id as ownerId, appear_time as turnaroundTime, '上报' as applyType,
+            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
+            audit_time as auditTime, create_time, audit_result
+            FROM dyh_case_appear
+            WHERE appear_unit_id = #{terms.applyUnitId}
+            union all
+            SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '联合处置' as applyType,
+            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditStatus,
+            audit_time as auditTime, create_time, audit_result
+            FROM dyh_case_assist_apply
+            WHERE apply_unit_id = #{terms.applyUnitId}
+            )t1 left join dyh_case_info t2 on t1.caseId = t2.id
+        <where>
+        <if test="terms.applyType != null and terms.applyType !=''">
+            and t1.applyType = #{terms.applyType}
+        </if>
+        <if test="terms.auditStatus != null and terms.auditStatus !=''">
+            and t1.audit_result = #{terms.auditResult}
+        </if>
         <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
+            and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
+            and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
         </if>
         <if test="terms.partyName != null and terms.partyName !=''">
             and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
         </if>
+        </where>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
                 isnull(${s.property}), ${s.property} ${s.direction}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FileRelateDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FileRelateDTO.java
new file mode 100644
index 0000000..41844a2
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FileRelateDTO.java
@@ -0,0 +1,94 @@
+package cn.huge.module.cases.domain.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 附件关系表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2024-08-28 20:06:19
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_file_relate")
+@Data
+public class FileRelateDTO {
+
+    /**
+    * 附件关系编号
+    */
+    @TableId(value = "id")
+    private String id;
+
+    /**
+    * 附件编号
+    */
+    @TableField(value = "file_id")
+    private String fileId;
+
+    /**
+    * 所属业务主体编号,如纠纷信息编号
+    */
+    @TableField(value = "main_id")
+    private String mainId;
+
+    /**
+    * 所属业务编号
+    */
+    @TableField(value = "owner_id")
+    private String ownerId;
+
+    /**
+    * 所属业务大类
+    */
+    @TableField(value = "owner_cat")
+    private String ownerCat;
+
+    /**
+    * 所属业务类型
+    */
+    @TableField(value = "owner_type")
+    private String ownerType;
+
+    /**
+    * 上传人编号
+    */
+    @TableField(value = "uploader_id")
+    private String uploaderId;
+
+    /**
+    * 上传人姓名
+    */
+    @TableField(value = "uploader_name")
+    private String uploaderName;
+
+    /**
+    * 上传人类型,1:工作人员,2:当事人
+    */
+    @TableField(value = "uploader_type")
+    private Integer uploaderType;
+
+    /**
+    * 顾客编号
+    */
+    @TableField(value = "cust_id")
+    private String custId;
+
+    /**
+    * 创建时间
+    */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+    * 状态时间
+    */
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListWSQDDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListWSQDDTO.java
new file mode 100644
index 0000000..4c88cf8
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListWSQDDTO.java
@@ -0,0 +1,86 @@
+package cn.huge.module.cases.domain.dto;
+
+import cn.huge.module.cases.domain.po.CaseInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 工作台-待办列表-传输对象-结案
+ * @description: 作台-待办列表-传输对象-结案
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-09-21 09:36:25
+ * @version: 1.0.0
+ * @see CaseInfo
+ */
+@Data
+public class FrontPageListWSQDDTO {
+    /**
+     * 事项Id
+     */
+    private String caseId;
+
+    /**
+     * 所属编号
+     */
+    private String ownerId;
+
+    /**
+     * 申请时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
+    private Date turnaroundTime;
+
+    /**
+     * 申请类型
+     */
+    private String applyType;
+
+    /**
+     * 审核部门
+     */
+    private String auditUnit;
+
+    /**
+     * 审核进度
+     */
+    private String auditStatus;
+
+    /**
+     * 审核结果
+     */
+    private String auditResult;
+
+    /**
+     * 审核时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
+    private Date auditTime;
+
+    /**
+     * 事项等级
+     */
+    private Integer caseGrade;
+
+    /**
+     * 事项来源
+     */
+    private String caseSource;
+
+    /**
+     * 事项类型
+     */
+    private String caseType;
+
+    /**
+     * 申请方
+     */
+    private String plaintiffs;
+
+    /**
+     * 被申请方
+     */
+    private String defendants;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
index 5d61d90..ebd4371 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -245,8 +245,14 @@
             Date nowDate = DateUtils.getNowDate();
             caseFeedback.setUpdateTime(nowDate);
             caseFeedback.setCreateTime(nowDate);
-            //todo 承办、配合--查询task
-
+            QueryWrapper<CaseInfoUnfold> caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
+            caseInfoUnfoldQueryWrapper.eq("id", caseFeedback.getCaseId());
+            CaseInfoUnfold caseInfoUnfold = unfoldService.getOne(caseInfoUnfoldQueryWrapper);
+            if(caseInfoUnfold.getMediateUnitId().equals(loginUser.getUnitId())){
+                caseFeedback.setHandleType(1);
+            }else{
+                caseFeedback.setHandleType(2);
+            }
             this.save(caseFeedback);
         }catch (Exception e){
             log.error("[caseFeedbackService.savecaseFeedback]调用失败,异常信息:"+e, e);
@@ -277,9 +283,8 @@
             caseFeedback.setHandleUserId(loginUser.getId());
             caseFeedback.setHandleUserName(loginUser.getTrueName());
             caseFeedback.setId(utilsClient.getNewTimeId());
+            caseFeedback.setHandleType(caseFeedback1.getHandleType());
             caseFeedback.setUpdateTime(nowDate);
-            //todo 承办、配合--查询task
-
             mapper.updateById(caseFeedback);
         }catch (Exception e){
             log.error("[caseFeedbackService.updateFeedback]调用失败,异常信息:"+e, e);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
index 7194f76..4e37cc7 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
@@ -3,6 +3,7 @@
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.cases.domain.dto.FileRelateDTO;
 import cn.huge.module.cases.domain.dto.QuiltUnitDTO;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
@@ -12,10 +13,12 @@
 import cn.huge.module.cust.dto.CtUserDTO;
 import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
 import cn.huge.module.sys.constant.SyTimeEnum;
+import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
 import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
 import cn.huge.module.sys.dto.FileInfoBaseDTO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -141,6 +144,9 @@
             List<QuiltUnitDTO> quiltUnitDTOList = caseSupervise.getQuiltUnitDTOList();
             Integer timeTerm = sysClient.getTimeLimit("dyh_case_supervise", SyTimeEnum.SY_TIME_5.getIndex());
             List<CaseSupervise> caseSuperviseList = new ArrayList<>();
+            List<FileRelateDTO> fileRelateDTOList = sysClient.listFileRelateByOwnerId(caseSupervise.getId());
+            int count = 0;
+            List<FileRelateDTO> fileRelateDTOListNew = new ArrayList<>();
             for(QuiltUnitDTO quiltUnitDTO: quiltUnitDTOList){
                 CaseSupervise caseSuperviseNew = new CaseSupervise();
                 BeanUtils.copyProperties(caseSupervise, caseSuperviseNew);
@@ -158,9 +164,26 @@
                 caseSuperviseNew.setCreateTime(nowDate);
                 caseSuperviseNew.setUpdateTime(nowDate);
                 caseSuperviseNew.setReplyTerm(timeTerm);
+                //给每条督办添加附件信息
+                if(0 != count){
+                    String caseSupId = utilsClient.getNewTimeId();
+                    caseSuperviseNew.setId(caseSupId);
+                    for(FileRelateDTO fileRelateDTO: fileRelateDTOList){
+                        String fileRealateId = utilsClient.getNewTimeSysId();
+                        FileRelateDTO fileRelateDTONew = new FileRelateDTO();
+                        BeanUtils.copyProperties(fileRelateDTO, fileRelateDTONew);
+                        fileRelateDTONew.setOwnerId(caseSuperviseNew.getId());
+                        fileRelateDTONew.setId(fileRealateId);
+                        fileRelateDTOListNew.add(fileRelateDTONew);
+                    }
+                }
                 caseSuperviseList.add(caseSuperviseNew);
+                count++;
             }
             this.saveBatch(caseSuperviseList);
+            if(CollectionUtils.isNotEmpty(fileRelateDTOListNew)){
+                sysClient.saveFileRelateList(fileRelateDTOListNew);
+            }
         }catch (Exception e){
             log.error("[CaseSuperviseService.saveCaseSupervise]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseSuperviseService.saveCaseSupervise", e);
@@ -192,17 +215,24 @@
      * 流转办理-督办列表
      * @param caseId 事项Id
      */
-    public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId){
+    public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId, int type){
         try{
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
             String quiltUnitId = loginUser.getUnitId();
-            long countSuperviseList = mapper.countCaseSupervise(caseId, supStatus, quiltUnitId);
-            List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(caseId, page, supStatus, quiltUnitId);
+            Map<String, Object> terms = new HashMap<>();
+            terms.put("caseId", caseId);
+            terms.put("type", type);
+            if(1 == type){
+                terms.put("supStatus", supStatus);
+                terms.put("quiltUnitId", quiltUnitId);
+            }
+            long countSuperviseList = mapper.countCaseSupervise(terms);
+            List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(terms, page);
 
             Map<String, Object>map = new HashMap<>();
             map.put("mainId", caseId);
             map.put("ownerIds", "'" + caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','"))+ "'");
-            map.put("types", "'"+ FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex()+ "'");
+            map.put("types", "'"+ FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex()+ "','" +FileOwnerTypeBaseEnum.OWNER_TYPE_507.getIndex()+"'");
             List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map);
             for(CaseSupervise caseSupervise: caseSuperviseList){
                 for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
@@ -243,4 +273,27 @@
     public long countCaseSuperviseList(Integer supStatus, String quiltUnitId){
         return mapper.countCaseSuperviseList(supStatus, quiltUnitId);
     }
+
+    /**
+     * 根据督办编号查询督办信息
+     * @param id 督办编号
+     * @return List
+     */
+    public CaseSupervise getById(String id){
+        try {
+            CaseSupervise caseSupervise = mapper.selectById(id);
+            Map<String, Object> terms = new HashMap<>();
+            terms.put("mainId", "'" + caseSupervise.getCaseId() + "'");
+            terms.put("ownerIds", "'" + id + "'");
+            List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms);
+            if(CollectionUtils.isNotEmpty(fileIdTypeInfoBaseDTOList)){
+                caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTOList.get(0).getFileList());
+            }
+            return caseSupervise;
+        }catch (Exception e){
+            log.error("[CaseSuperviseService.getById]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseSuperviseService.getById", e);
+        }
+
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
index 06be666..296fe16 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -897,14 +897,11 @@
      * @param terms 条件
      * @return Page
      */
-    public Page<FrontPageListDTO> pageMyTaskShWSQD(PageRequest page, int type, Map<String, Object> terms){
+    public Page<FrontPageListWSQDDTO> pageMyTaskShWSQD(PageRequest page, Map<String, Object> terms){
         try {
-            long total = 0;
-            List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>();
-            total = mapper.countMyTaskShWSQD(terms);
-            frontPageListDTOList = mapper.pageMyTaskShWSQD(page,terms);
-
-            return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total);
+            long total = mapper.countMyTaskShWSQD(terms);
+            List<FrontPageListWSQDDTO> frontPageListWSQDDTOList = mapper.pageMyTaskShWSQD(page,terms);
+            return new PageImpl<FrontPageListWSQDDTO>(frontPageListWSQDDTOList, page, total);
         }catch (Exception e) {
             log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
             throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
@@ -935,16 +932,18 @@
             List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
             List<SortUtilDTO> sortUtilDTOList = new ArrayList<>();
 
+            List<String> idList = new ArrayList<>();
             String ids = new String();
-            ids += caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.joining(","));
-            ids += caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.joining(","));
-            ids += caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.joining(","));
-            ids += caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.joining(","));
+            idList.addAll(caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.toList()));
+            idList.addAll(caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.toList()));
+            idList.addAll(caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.toList()));
+            idList.addAll(caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.toList()));
+            ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
             List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
             if(StringUtils.isNotBlank(ids)){
                 Map terms = new HashMap();
                 terms.put("mainId", caseId);
-                terms.put("ownerIds", "," + ids + ",");
+                terms.put("ownerIds", "'" + ids + "'");
                 fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms);
             }
 
@@ -2602,4 +2601,12 @@
         }
     }
 
+    /**
+     * 按条件查询
+     * @param terms 条件
+     * @return List
+     */
+    public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){
+        return mapper.listIdByTerms(terms);
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
index 743978f..4864ebc 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
@@ -1,6 +1,7 @@
 package cn.huge.module.client.api;
 
 import cn.huge.base.common.bo.ReturnBO;
+import cn.huge.module.cases.domain.dto.FileRelateDTO;
 import cn.huge.module.sys.dto.FileTypeTermsDTO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
@@ -75,4 +76,22 @@
      */
     @GetMapping("/api/client/syRegion/getQueAddrByBaiduiLngLat")
     ReturnBO getQueAddrByBaiduiLngLat(@RequestParam(value = "lng") String lng, @RequestParam(value = "lat") String lat);
+
+    /**
+     * 根据关系编号查询附件关系信息
+     * @url {ctx}/api/v1/fileRelate/listFileRelateByOwnerId
+     * @param ownerId 条件
+     * @return Object
+     */
+    @GetMapping("/api/client/fileRelate/listFileRelateByOwnerId")
+    ReturnBO listFileRelateByOwnerId(@RequestParam(value = "ownerId") String ownerId);
+
+    /**
+     * 插入多条附件关系记录
+     * @url {ctx}/api/v1/fileRelate/saveFileRelateList
+     * @param fileRelateList 关系记录
+     * @return Object
+     */
+    @PostMapping("/api/client/fileRelate/saveFileRelateList")
+    ReturnBO saveFileRelateList(@RequestBody List<FileRelateDTO> fileRelateList);
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
index 08dbeb3..d4abeca 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -4,6 +4,7 @@
 import cn.huge.base.common.constant.ReturnConsts;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.domain.dto.FileRelateDTO;
 import cn.huge.module.client.api.SysClient;
 import cn.huge.module.sys.constant.TimeUnitConsts;
 import cn.huge.module.sys.dto.*;
@@ -88,7 +89,7 @@
     }
 
     /**
-     * 附件中心-根据业务编号查询固定格式所有附件
+     * 获取时限
      * @param limitTable 表名
      * @param limitType  时限类型
      * @return List
@@ -186,4 +187,44 @@
         }
         return queAddrBaseDTO;
     }
+
+    /**
+     * 根据关系编号查询附件关系信息
+     * @param ownerId 附件关系编号
+     * @return List
+     */
+    public List<FileRelateDTO> listFileRelateByOwnerId(String ownerId){
+        List<FileRelateDTO> fileRelateDTOList = new ArrayList<>();
+        try{
+            ReturnBO returnBo = sysClient.listFileRelateByOwnerId(ownerId);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
+                    for (LinkedHashMap map : list) {
+                        FileRelateDTO fileRelateDTO = JSON.parseObject(JSON.toJSONString(map), FileRelateDTO.class);
+                        fileRelateDTOList.add(fileRelateDTO);
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.listFileRelateByOwnerId]调用异常:"+e, e);
+        }
+        return fileRelateDTOList;
+    }
+
+    /**
+     * 插入多条附件关系记录
+     * @param fileRelateList 附件关系
+     * @return Object
+     */
+    public void saveFileRelateList(List<FileRelateDTO> fileRelateList) {
+        try {
+            ReturnBO returnBo = sysClient.saveFileRelateList(fileRelateList);
+            if (ReturnConsts.OK != returnBo.getCode()){
+                log.error("Client外服务接口[SysClientImpl.saveFileRelateList]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+            }
+        } catch (Exception e) {
+            log.error("service方法[SysClientImpl.saveFileRelateList]请求异常:"+e, e);
+        }
+    }
 }
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java
index 5940dc0..784da72 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java
@@ -2,15 +2,19 @@
 
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.file.domain.po.FileRelate;
 import cn.huge.module.file.service.FileRelateService;
 import cn.huge.module.sys.dto.FileTypeTermsDTO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -116,4 +120,38 @@
             return ReturnFailUtils.getRepInfo();
         }
     }
+
+    /**
+     * 根据关系编号查询附件关系信息
+     * @url {ctx}/api/client/fileRelate/listFileRelateByOwnerId
+     * @return Object
+     */
+    @GetMapping("/listFileRelateByOwnerId")
+    public Object listFileRelateByOwnerId(@RequestParam(value = "ownerId") String ownerId) {
+        try {
+            QueryWrapper<FileRelate> fileRelateQueryWrapper = new QueryWrapper<>();
+            fileRelateQueryWrapper.eq("owner_id", ownerId);
+            List<FileRelate> fileRelateList = service.list(fileRelateQueryWrapper);
+            return ReturnSucUtils.getRepInfo(fileRelateList);
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * 插入多条附件关系记录
+     * @url {ctx}/api/client/fileRelate/saveFileRelateList
+     * @return Object
+     */
+    @PostMapping("/saveFileRelateList")
+    public Object saveFileRelateList(@RequestBody List<FileRelate> fileRelateList) {
+        try {
+            if(CollectionUtils.isNotEmpty(fileRelateList)){
+                service.saveBatch(fileRelateList);
+            }
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
index 5accb8c..f9b4213 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
@@ -198,7 +198,7 @@
      * @return Object
      */
     @GetMapping("/getTimeLimit")
-    public Object getTimeLimit(@RequestParam(value = "limitTable") int limitTable, @RequestParam(value = "limitType") String limitType) {
+    public Object getTimeLimit(@RequestParam(value = "limitTable") String limitTable, @RequestParam(value = "limitType") String limitType) {
         try {
             QueryWrapper<SyTimeLimit> syTimeLimitQueryWrapper = new QueryWrapper<>();
             syTimeLimitQueryWrapper.eq("limit_table", limitTable).eq("limit_type", limitType);

--
Gitblit v1.8.0