From 4dc8a15cb1f1c7b8a70fce95f3f715b472302a9c Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Fri, 06 Sep 2024 18:20:26 +0800
Subject: [PATCH] 1、联合处置相关接口 2、查询办理结果接口 3、查询档案信息接口 4、修改督办相关接口等

---
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java             |   16 
 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java                           |   47 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java               |   17 
 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/dto/IdFileDTO.java                              |   24 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/po/CaseAssistApply.java                   |  166 ++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java                      |   61 ++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java                       |    1 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java                       |    3 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java   |   15 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java                           |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java                  |    3 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/controller/web/CaseAssistApplyWebController.java |  283 ++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/bo/CaseAssistApplyBO.java                 |   17 
 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java              |   33 +
 dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java                       |    6 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java                 |   66 +-
 dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaUserMapper.xml                     |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java                      |    8 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/service/CaseAssistApplyService.java              |  204 +++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java                               |    4 
 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java        |   12 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/QuiltUnitDTO.java                      |   16 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java    |   24 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java                      |   19 
 dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml                  |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java                 |    3 
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtAccountMapper.xml                  |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java         |   17 
 dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeInfoBaseDTO.java                           |    5 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml            |   47 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java                |   31 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/CaseAssistApplyMapper.java            |   64 ++
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java                          |   56 ++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/TransactResultDTO.java                 |   13 
 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml                      |   37 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/xml/CaseAssistApplyMapper.xml         |  238 ++++++++
 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java                         |    2 
 37 files changed, 1,469 insertions(+), 97 deletions(-)

diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java
index 55bb3f6..c7dc585 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java
@@ -15,6 +15,12 @@
      */
     public static final int INPUT_WAY_1 = 1;
     public static final int INPUT_WAY_2 = 2;
+
+    /**
+     * 登记方式,1:审核同意,2:审核不同意
+     */
+    public static final String AUDIT_RESULT_1 = "24_00004-1";
+    public static final String AUDIT_RESULT_2 = "24_00004-2";
 }
 /**
  * -------------------_ooOoo_-------------------
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeInfoBaseDTO.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeInfoBaseDTO.java
index e08ebdd..44d8fb8 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeInfoBaseDTO.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeInfoBaseDTO.java
@@ -53,6 +53,11 @@
     private String agentStatus;
 
     /**
+     * 材料名称(总和)
+     */
+    private String fileNames;
+
+    /**
      * 附件详细信息
      */
     private List<FileInfoBaseDTO> fileList;
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
index 929b3fb..19521e6 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
@@ -1,5 +1,6 @@
 package cn.huge.module.ctuser.controller.web;
 
+import cn.huge.base.common.dto.SelectTermDTO;
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
 import cn.huge.base.config.CurrentUser;
@@ -365,4 +366,19 @@
             return ReturnFailUtils.getRepInfo();
         }
     }
+
+    /**
+     * 选择组织
+     * @url {ctx}/api/web/ctUnit/unitChoose
+     * @return Object
+     */
+    @GetMapping("/unitChoose")
+    public Object unitChoose(@CurrentUser String userId) {
+        try {
+            List<SelectTermDTO> unitSelectTerms = service.unitChoose(userId);
+            return ReturnSucUtils.getRepInfo(unitSelectTerms);
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo(e.getMessage());
+        }
+    }
 }
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtAccountMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtAccountMapper.xml
index 96c3e02..34e4d65 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtAccountMapper.xml
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtAccountMapper.xml
@@ -89,7 +89,7 @@
                 <if test="terms.limitTime != null and terms.limitTime !=''">
                     and limit_time = #{terms.limitTime}
                 </if>
-                <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+                <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
                     and delete_status = 0
                 </if>
                 <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
index 67d1f95..c681d15 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -1,16 +1,21 @@
 package cn.huge.module.ctuser.service;
 
+import cn.huge.base.common.dto.SelectTermDTO;
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
 import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.base.common.utils.SelectTermUtils;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.constant.BaseConsts;
 import cn.huge.module.ctuser.dao.mapper.CtUnitMapper;
 import cn.huge.module.ctuser.domain.po.CtDept;
 import cn.huge.module.ctuser.domain.po.CtUnit;
 import cn.huge.module.ctuser.domain.po.CtUser;
+import cn.huge.module.ctuser.domain.po.CtUserole;
 import cn.huge.module.ctuser.dto.CtUnitWeChatCountDTO;
+import cn.huge.module.cust.constant.RoleBaseEnum;
+import cn.huge.module.cust.dto.CtUserDTO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.collections.CollectionUtils;
@@ -296,4 +301,55 @@
         ctUnitWeChatCountDTO.setTzUnitNum(tzUnitNum);
         return ctUnitWeChatCountDTO;
     }
+
+    /**
+     * 按条件分页查询
+     *
+     * @param userId  分页对象
+     * @return Page
+     */
+    public List<SelectTermDTO> unitChoose(String userId) {
+        // 获取当前登录用户
+        CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
+        // 组织条件
+        QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+        if (RoleBaseEnum.checkAdminPower(loginUser)){
+            ctUnitQueryWrapper.eq("cust_id", loginUser.getCustId()).select("id", "unit_name", "parent_id");
+        }else {
+            ctUnitQueryWrapper.eq("id", loginUser.getUnitId()).select("id", "unit_name", "parent_id");
+        }
+        List<CtUnit> ctUnitList = this.list(ctUnitQueryWrapper);
+        List<SelectTermDTO> unitSelectTerms = new ArrayList<>();
+
+        List<String> unitIdList= ctUnitList.stream().map(CtUnit::getId).collect(Collectors.toList());
+        // 部门条件
+        QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
+        ctDeptQueryWrapper.in("unit_id", unitIdList).select("id", "unit_id", "name", "parent_id");
+        List<CtDept> ctDeptList = ctDeptService.list(ctDeptQueryWrapper);
+        List<String> deptIdList = ctDeptList.stream().map(CtDept::getId).collect(Collectors.toList());
+
+        for(CtUnit ctUnit: ctUnitList){
+            SelectTermDTO unitSelectTerm = new SelectTermDTO();
+            unitSelectTerm.setValue(ctUnit.getId());
+            unitSelectTerm.setLabel(ctUnit.getUnitName());
+            unitSelectTerm.setParentId(ctUnit.getParentId());
+            unitSelectTerm.setCheckable(false);
+            List<SelectTermDTO> deptSelectTerms = new ArrayList<>();
+            for(CtDept ctDept : ctDeptList){
+                if(ctUnit.getId().equals(ctDept.getUnitId())){
+                    SelectTermDTO deptSelectTerm = new SelectTermDTO();
+                    deptSelectTerm.setValue(ctDept.getId());
+                    deptSelectTerm.setLabel(ctDept.getName());
+                    deptSelectTerm.setParentId(ctDept.getParentId());
+                    deptSelectTerm.setCheckable(false);
+
+                    deptSelectTerms.add(deptSelectTerm);
+                }
+                List<SelectTermDTO> depts = SelectTermUtils.createTreeByRoot(deptSelectTerms);
+                unitSelectTerm.setChildren(depts);
+            }
+            unitSelectTerms.add(unitSelectTerm);
+        }
+        return SelectTermUtils.createTreeByFirst(unitSelectTerms, loginUser.getUnitId());
+    }
 }
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml
index 6e45fad..37b4b9d 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml
@@ -89,7 +89,7 @@
                 <if test="terms.limitTime != null and terms.limitTime !=''">
                     and limit_time = #{terms.limitTime}
                 </if>
-                <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+                <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
                     and delete_status = 0
                 </if>
                 <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaUserMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaUserMapper.xml
index 39eca09..4da9b65 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaUserMapper.xml
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaUserMapper.xml
@@ -179,7 +179,7 @@
                 <if test="terms.followCaseType != null and terms.followCaseType !=''">
                     and follow_case_type = #{terms.followCaseType}
                 </if>
-                <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+                <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
                     and delete_status = 0
                 </if>
                 <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/controller/web/CaseAssistApplyWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/controller/web/CaseAssistApplyWebController.java
new file mode 100644
index 0000000..dd1616c
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/controller/web/CaseAssistApplyWebController.java
@@ -0,0 +1,283 @@
+package cn.huge.module.assist.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.base.config.CurrentUser;
+import cn.huge.module.assist.domain.po.CaseAssistApply;
+import cn.huge.module.assist.service.CaseAssistApplyService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @title: 联合处置申请信息表接口api-web端
+ * @description: 联合处置申请信息表接口api-web端
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-05 17:25:04
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/caseAssistApply")
+public class CaseAssistApplyWebController {
+
+    @Autowired(required = false)
+    private HttpServletRequest request;
+
+    @Autowired
+    private CaseAssistApplyService service;
+
+    /**
+    * 获取请求URL参数
+    * @return Map<String, Object>
+    */
+    private Map<String, Object> getParameter(){
+        Map<String, Object> terms = Maps.newHashMap();
+        // 主键编号
+        String id = request.getParameter("id");
+        if (StringUtils.isNotBlank(id)){
+            terms.put("id", id);
+        }
+        // 纠纷编号
+        String caseId = request.getParameter("caseId");
+        if (StringUtils.isNotBlank(caseId)){
+            terms.put("caseId", caseId);
+        }
+        // 申请组织编号
+        String applyUnitId = request.getParameter("applyUnitId");
+        if (StringUtils.isNotBlank(applyUnitId)){
+            terms.put("applyUnitId", applyUnitId);
+        }
+        // 申请组织名称
+        String applyUnitName = request.getParameter("applyUnitName");
+        if (StringUtils.isNotBlank(applyUnitName)){
+            terms.put("applyUnitName", applyUnitName);
+        }
+        // 申请人编号
+        String applyUserId = request.getParameter("applyUserId");
+        if (StringUtils.isNotBlank(applyUserId)){
+            terms.put("applyUserId", applyUserId);
+        }
+        // 申请人名称
+        String applyUserName = request.getParameter("applyUserName");
+        if (StringUtils.isNotBlank(applyUserName)){
+            terms.put("applyUserName", applyUserName);
+        }
+        // 申请配合组织,多个用,隔开
+        String applyAssistUnitId = request.getParameter("applyAssistUnitId");
+        if (StringUtils.isNotBlank(applyAssistUnitId)){
+            terms.put("applyAssistUnitId", applyAssistUnitId);
+        }
+        // 申请配合组织名称,多个用、隔开
+        String applyAssistUnitName = request.getParameter("applyAssistUnitName");
+        if (StringUtils.isNotBlank(applyAssistUnitName)){
+            terms.put("applyAssistUnitName", applyAssistUnitName);
+        }
+        // 申请理由
+        String applyContent = request.getParameter("applyContent");
+        if (StringUtils.isNotBlank(applyContent)){
+            terms.put("applyContent", applyContent);
+        }
+        // 申请时间
+        String applyTime = request.getParameter("applyTime");
+        if (StringUtils.isNotBlank(applyTime)){
+            terms.put("applyTime", applyTime);
+        }
+        // 申请状态,0:待审核,1:已审核
+        String applyStatus = request.getParameter("applyStatus");
+        if (StringUtils.isNotBlank(applyStatus)){
+            terms.put("applyStatus", applyStatus);
+        }
+        // 审核组织编号
+        String auditUnitId = request.getParameter("auditUnitId");
+        if (StringUtils.isNotBlank(auditUnitId)){
+            terms.put("auditUnitId", auditUnitId);
+        }
+        // 审核组织名称
+        String auditUnitName = request.getParameter("auditUnitName");
+        if (StringUtils.isNotBlank(auditUnitName)){
+            terms.put("auditUnitName", auditUnitName);
+        }
+        // 审核人编号
+        String auditUserId = request.getParameter("auditUserId");
+        if (StringUtils.isNotBlank(auditUserId)){
+            terms.put("auditUserId", auditUserId);
+        }
+        // 审核人名称
+        String auditUserName = request.getParameter("auditUserName");
+        if (StringUtils.isNotBlank(auditUserName)){
+            terms.put("auditUserName", auditUserName);
+        }
+        // 审核时间
+        String auditTime = request.getParameter("auditTime");
+        if (StringUtils.isNotBlank(auditTime)){
+            terms.put("auditTime", auditTime);
+        }
+        // 审核结果
+        String auditResult = request.getParameter("auditResult");
+        if (StringUtils.isNotBlank(auditResult)){
+            terms.put("auditResult", auditResult);
+        }
+        // 审核结果名称
+        String auditResultName = request.getParameter("auditResultName");
+        if (StringUtils.isNotBlank(auditResultName)){
+            terms.put("auditResultName", auditResultName);
+        }
+        // 审核理由
+        String audit_content = request.getParameter("audit_content");
+        if (StringUtils.isNotBlank(audit_content)){
+            terms.put("audit_content", audit_content);
+        }
+        // 删除状态,0:未删除,1:已删除
+        String deleteStatus = request.getParameter("deleteStatus");
+        if (StringUtils.isNotBlank(deleteStatus)){
+            terms.put("deleteStatus", deleteStatus);
+        }
+        // 顾客编号
+        String custId = request.getParameter("custId");
+        if (StringUtils.isNotBlank(custId)){
+            terms.put("custId", custId);
+        }
+        // 创建时间区间
+        String createStart = request.getParameter("createStart");
+        String createEnd = request.getParameter("createEnd");
+        if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+            terms.put("createStart", createStart);
+            terms.put("createEnd", createEnd);
+        }
+        // 更新时间区间
+        String updateStart = request.getParameter("updateStart");
+        String updateEnd = request.getParameter("updateEnd");
+        if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+            terms.put("updateStart", updateStart);
+            terms.put("updateEnd", updateEnd);
+        }
+        return terms;
+    }
+
+    /**
+    * 条件查询多个
+    * @url {ctx}/api/web/caseAssistApply/listQuery
+    * @return Object
+    */
+    @GetMapping("/listQuery")
+    public Object listQuery() {
+        try {
+            Map<String, Object> terms = getParameter();
+            return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 条件分页查询
+    * @url {ctx}/api/web/caseAssistApply/pageQuery
+    * @param page 页码
+    * @param size 每页数量
+    * @return Object
+    */
+    @GetMapping("/pageQuery")
+    public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+        try {
+            Map<String, Object> terms = getParameter();
+            Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            Page<CaseAssistApply> caseAssistApplyPage = service.pageQuery(pageRequest, terms);
+            return ReturnSucUtils.getRepInfo( "处理成功", caseAssistApplyPage);
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 根据编号查询单个
+    * @url {ctx}/api/web/caseAssistApply/getById
+    * @param id 主键编号
+    * @return Object
+    */
+    @GetMapping("/getById")
+    public Object getById(@RequestParam(value = "id") String id) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.getById(id));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 根据主键单个
+    * @url {ctx}/api/web/caseAssistApply/deleteById
+    * @param id 主键编号
+    * @return Object
+    */
+    @GetMapping("/deleteById")
+    public Object deleteById(@RequestParam(value = "id") String id) {
+        try {
+            service.removeById(id);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 新增或更新对象
+    * @url {ctx}/api/web/caseAssistApply/saveCaseAssistApply
+    * @param caseAssistApply 实体对象
+    * @return Object
+    */
+    @PostMapping("/saveCaseAssistApply")
+    public Object saveCaseAssistApply(@RequestBody CaseAssistApply caseAssistApply) {
+        try {
+            service.saveCaseAssistApply(caseAssistApply);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * 添加联合处置申请
+     * @url {ctx}/api/web/caseAssistApply/addCaseAssistApply
+     * @param caseAssistApply 实体对象
+     * @return Object
+     */
+    @PostMapping("/addCaseAssistApply")
+    public Object addCaseAssistApply(@CurrentUser String userId, @RequestBody CaseAssistApply caseAssistApply) {
+        try {
+            service.addCaseAssistApply(caseAssistApply, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * 审核联合审核
+     * @url {ctx}/api/web/caseAssistApply/addCaseAssistApply
+     * @param caseAssistApply 实体对象
+     * @return Object
+     */
+    @PostMapping("/reviewCaseAssistApply")
+    public Object reviewCaseAssistApply(@CurrentUser String userId, @RequestBody CaseAssistApply caseAssistApply) {
+        try {
+            service.reviewCaseAssistApply(caseAssistApply, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/CaseAssistApplyMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/CaseAssistApplyMapper.java
new file mode 100644
index 0000000..0fca37f
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/CaseAssistApplyMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.assist.dao.mapper;
+
+import cn.huge.module.assist.domain.po.CaseAssistApply;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 联合处置申请信息表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: wangwh
+* @time: 2024-09-05 17:25:04
+* @version 1.0.0
+*/
+@Repository
+public interface CaseAssistApplyMapper extends BaseMapper<CaseAssistApply>{
+
+    /**
+    * 更新对象
+    * @param entity 对象
+    */
+    void updateCaseAssistApply(@Param("entity") CaseAssistApply entity);
+
+    /**
+    * 条件更新对象
+    * @param entity 对象
+    * @param terms 条件
+    */
+    void updateCaseAssistApplyTerms(@Param("entity") CaseAssistApply entity, @Param("terms") Map<String, Object> terms);
+
+    /**
+    * 根据编号物理删除
+    * @param id 查询条件集合
+    */
+    void deleteCaseAssistApply(@Param("id") String id);
+
+    /**
+    * 按条件查询结果集
+    * @param terms 查询条件集合
+    * @return List<CaseAssistApply>
+    */
+    List<CaseAssistApply> listTerms(@Param("terms") Map<String, Object> terms);
+
+    /**
+    * 按条件查询实体总数
+    * @param terms 查询条件集合
+    * @return long
+    */
+    long countTerms(@Param("terms") Map<String, Object> terms);
+
+    /**
+    * 按条件查询实体分页结果集
+    * @param page 分页对象
+    * @param terms 查询条件集合
+    * @return List<CaseAssistApply>
+    */
+    List<CaseAssistApply> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/xml/CaseAssistApplyMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/xml/CaseAssistApplyMapper.xml
new file mode 100644
index 0000000..c786345
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/dao/mapper/xml/CaseAssistApplyMapper.xml
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 
+ * @title: 联合处置申请信息表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time:2024-09-05 17:25:04
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.assist.dao.mapper.CaseAssistApplyMapper">
+    <!-- 结果集 -->
+    <resultMap id="dataResult" type="cn.huge.module.assist.domain.po.CaseAssistApply">
+            <result property="id" column="id"/>
+            <result property="caseId" column="case_id"/>
+            <result property="applyUnitId" column="apply_unit_id"/>
+            <result property="applyUnitName" column="apply_unit_name"/>
+            <result property="applyUserId" column="apply_user_id"/>
+            <result property="applyUserName" column="apply_user_name"/>
+            <result property="applyAssistUnitId" column="apply_assist_unit_id"/>
+            <result property="applyAssistUnitName" column="apply_assist_unit_name"/>
+            <result property="applyContent" column="apply_content"/>
+            <result property="applyTime" column="apply_time"/>
+            <result property="applyStatus" column="apply_status"/>
+            <result property="auditUnitId" column="audit_unit_id"/>
+            <result property="auditUnitName" column="audit_unit_name"/>
+            <result property="auditUserId" column="audit_user_id"/>
+            <result property="auditUserName" column="audit_user_name"/>
+            <result property="auditTime" column="audit_time"/>
+            <result property="auditResult" column="audit_result"/>
+            <result property="auditResultName" column="audit_result_name"/>
+            <result property="audit_content" column="audit__content"/>
+            <result property="deleteStatus" column="delete_status"/>
+            <result property="custId" column="cust_id"/>
+            <result property="createTime" column="create_time"/>
+            <result property="updateTime" column="update_time"/>
+    </resultMap>
+    <!-- 表 -->
+    <sql id='table-name'>dyh_case_assist_apply</sql>
+    <!-- 字段 -->
+    <sql id="column-part">
+        id,
+        case_id,
+        apply_unit_id,
+        apply_unit_name,
+        apply_user_id,
+        apply_user_name,
+        apply_assist_unit_id,
+        apply_assist_unit_name,
+        apply_content,
+        apply_time,
+        apply_status,
+        audit_unit_id,
+        audit_unit_name,
+        audit_user_id,
+        audit_user_name,
+        audit_time,
+        audit_result,
+        audit_result_name,
+        audit__content,
+        delete_status,
+        cust_id,
+        create_time,
+        update_time
+    </sql>
+    <!-- 更新实体字段 -->
+    <sql id="set-part">
+            <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+            <if test="entity.applyUnitId != null">apply_unit_id = #{entity.applyUnitId},</if>
+            <if test="entity.applyUnitName != null">apply_unit_name = #{entity.applyUnitName},</if>
+            <if test="entity.applyUserId != null">apply_user_id = #{entity.applyUserId},</if>
+            <if test="entity.applyUserName != null">apply_user_name = #{entity.applyUserName},</if>
+            <if test="entity.applyAssistUnitId != null">apply_assist_unit_id = #{entity.applyAssistUnitId},</if>
+            <if test="entity.applyAssistUnitName != null">apply_assist_unit_name = #{entity.applyAssistUnitName},</if>
+            <if test="entity.applyContent != null">apply_content = #{entity.applyContent},</if>
+            <if test="entity.applyTime != null">apply_time = #{entity.applyTime},</if>
+            <if test="entity.applyStatus != null">apply_status = #{entity.applyStatus},</if>
+            <if test="entity.auditUnitId != null">audit_unit_id = #{entity.auditUnitId},</if>
+            <if test="entity.auditUnitName != null">audit_unit_name = #{entity.auditUnitName},</if>
+            <if test="entity.auditUserId != null">audit_user_id = #{entity.auditUserId},</if>
+            <if test="entity.auditUserName != null">audit_user_name = #{entity.auditUserName},</if>
+            <if test="entity.auditTime != null">audit_time = #{entity.auditTime},</if>
+            <if test="entity.auditResult != null">audit_result = #{entity.auditResult},</if>
+            <if test="entity.auditResultName != null">audit_result_name = #{entity.auditResultName},</if>
+            <if test="entity.audit_content != null">audit__content = #{entity.audit_content},</if>
+            <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+            <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+            <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+            <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+    </sql>
+    <!-- 条件 -->
+    <sql id="where-part">
+        <if test="terms != null">
+            <where>
+                <if test="terms.id != null and terms.id !=''">
+                    and id = #{terms.id}
+                </if>
+                <if test="terms.caseId != null and terms.caseId !=''">
+                    and case_id = #{terms.caseId}
+                </if>
+                <if test="terms.applyUnitId != null and terms.applyUnitId !=''">
+                    and apply_unit_id = #{terms.applyUnitId}
+                </if>
+                <if test="terms.applyUnitName != null and terms.applyUnitName !=''">
+                    and apply_unit_name = #{terms.applyUnitName}
+                </if>
+                <if test="terms.applyUserId != null and terms.applyUserId !=''">
+                    and apply_user_id = #{terms.applyUserId}
+                </if>
+                <if test="terms.applyUserName != null and terms.applyUserName !=''">
+                    and apply_user_name = #{terms.applyUserName}
+                </if>
+                <if test="terms.applyAssistUnitId != null and terms.applyAssistUnitId !=''">
+                    and apply_assist_unit_id = #{terms.applyAssistUnitId}
+                </if>
+                <if test="terms.applyAssistUnitName != null and terms.applyAssistUnitName !=''">
+                    and apply_assist_unit_name = #{terms.applyAssistUnitName}
+                </if>
+                <if test="terms.applyContent != null and terms.applyContent !=''">
+                    and apply_content = #{terms.applyContent}
+                </if>
+                <if test="terms.applyTime != null and terms.applyTime !=''">
+                    and apply_time = #{terms.applyTime}
+                </if>
+                <if test="terms.applyStatus != null and terms.applyStatus !=''">
+                    and apply_status = #{terms.applyStatus}
+                </if>
+                <if test="terms.auditUnitId != null and terms.auditUnitId !=''">
+                    and audit_unit_id = #{terms.auditUnitId}
+                </if>
+                <if test="terms.auditUnitName != null and terms.auditUnitName !=''">
+                    and audit_unit_name = #{terms.auditUnitName}
+                </if>
+                <if test="terms.auditUserId != null and terms.auditUserId !=''">
+                    and audit_user_id = #{terms.auditUserId}
+                </if>
+                <if test="terms.auditUserName != null and terms.auditUserName !=''">
+                    and audit_user_name = #{terms.auditUserName}
+                </if>
+                <if test="terms.auditTime != null and terms.auditTime !=''">
+                    and audit_time = #{terms.auditTime}
+                </if>
+                <if test="terms.auditResult != null and terms.auditResult !=''">
+                    and audit_result = #{terms.auditResult}
+                </if>
+                <if test="terms.auditResultName != null and terms.auditResultName !=''">
+                    and audit_result_name = #{terms.auditResultName}
+                </if>
+                <if test="terms.audit_content != null and terms.audit_content !=''">
+                    and audit__content = #{terms.audit_content}
+                </if>
+                <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+                    and delete_status = 0
+                </if>
+                <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+                    and delete_status = #{terms.deleteStatus}
+                </if>
+                <if test="terms.custId != null and terms.custId !=''">
+                    and cust_id = #{terms.custId}
+                </if>
+                <if test="terms.createTime != null and terms.createTime !=''">
+                    and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+                </if>
+                <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+                    and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+                        and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+                </if>
+                <if test="terms.updateTime != null and terms.updateTime !=''">
+                    and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+                </if>
+                <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+                    and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+                        and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+                </if>
+            </where>
+        </if>
+    </sql>
+    <!-- 更新对象 -->
+    <update id="updateCaseAssistApply">
+        update
+        <include refid="table-name"/>
+        <set>
+            <include refid="set-part"/>
+        </set>
+        <where>
+            id = #{entity.id}
+        </where>
+    </update>
+    <!-- 条件更新对象 -->
+    <update id="updateCaseAssistApplyTerms">
+        update
+        <include refid="table-name"/>
+        <set>
+            <include refid="set-part"/>
+        </set>
+        <include refid="where-part"/>
+    </update>
+    <!--  根据编号物理删除  -->
+    <delete id="deleteCaseAssistApply">
+        delete from
+        <include refid="table-name" />
+        where id = #{id}
+    </delete>
+    <!--  根据条件查询  -->
+    <select id="listTerms" resultMap="dataResult">
+        select
+        <include refid="column-part"/>
+        from
+        <include refid="table-name" />
+        <include refid="where-part"/>
+    </select>
+    <!--  根据条件统计  -->
+    <select id="countTerms" resultType="java.lang.Long">
+        select
+        COUNT(1)
+        from
+        <include refid="table-name" />
+        <include refid="where-part"/>
+    </select>
+    <!--  根据条件分页查询  -->
+    <select id="pageTerms" resultMap="dataResult">
+        SELECT
+        <include refid="column-part"/>
+        FROM
+        <include refid="table-name" />
+        <include refid="where-part"/>
+        <if test="page.sort != null">
+            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+                isnull(${s.property}), ${s.property} ${s.direction}
+            </foreach>
+        </if>
+        <if test="page.sort == null">
+            order by isnull(create_time), create_time desc
+        </if>
+        limit #{page.offset}, #{page.size}
+    </select>
+
+</mapper> 
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/bo/CaseAssistApplyBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/bo/CaseAssistApplyBO.java
new file mode 100644
index 0000000..ef8bbfe
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/bo/CaseAssistApplyBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.assist.domain.bo;
+
+import cn.huge.module.assist.domain.po.CaseAssistApply;
+
+/**
+ * @title: 联合处置申请信息表业务扩展类
+ * @description: 联合处置申请信息表业务扩展类
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-05 17:25:04
+ * @version: 1.0.0
+ * @see cn.huge.module.assist.domain.po.CaseAssistApply
+ */
+public class CaseAssistApplyBO extends CaseAssistApply {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/po/CaseAssistApply.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/po/CaseAssistApply.java
new file mode 100644
index 0000000..cb6e54a
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/domain/po/CaseAssistApply.java
@@ -0,0 +1,166 @@
+package cn.huge.module.assist.domain.po;
+
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @title: 联合处置申请信息表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-05 17:25:04
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_case_assist_apply")
+@Data
+public class CaseAssistApply {
+
+    /**
+    * 主键编号
+    */
+    @TableId(value = "id")
+    private String id;
+
+    /**
+    * 纠纷编号
+    */
+    @TableField(value = "case_id")
+    private String caseId;
+
+    /**
+    * 申请组织编号
+    */
+    @TableField(value = "apply_unit_id")
+    private String applyUnitId;
+
+    /**
+    * 申请组织名称
+    */
+    @TableField(value = "apply_unit_name")
+    private String applyUnitName;
+
+    /**
+    * 申请人编号
+    */
+    @TableField(value = "apply_user_id")
+    private String applyUserId;
+
+    /**
+    * 申请人名称
+    */
+    @TableField(value = "apply_user_name")
+    private String applyUserName;
+
+    /**
+    * 申请配合组织,多个用,隔开
+    */
+    @TableField(value = "apply_assist_unit_id")
+    private String applyAssistUnitId;
+
+    /**
+    * 申请配合组织名称,多个用、隔开
+    */
+    @TableField(value = "apply_assist_unit_name")
+    private String applyAssistUnitName;
+
+    /**
+    * 申请理由
+    */
+    @TableField(value = "apply_content")
+    private String applyContent;
+
+    /**
+    * 申请时间
+    */
+    @TableField(value = "apply_time")
+    private Date applyTime;
+
+    /**
+    * 申请状态,0:待审核,1:已审核
+    */
+    @TableField(value = "apply_status")
+    private Integer applyStatus;
+
+    /**
+    * 审核组织编号
+    */
+    @TableField(value = "audit_unit_id")
+    private String auditUnitId;
+
+    /**
+    * 审核组织名称
+    */
+    @TableField(value = "audit_unit_name")
+    private String auditUnitName;
+
+    /**
+    * 审核人编号
+    */
+    @TableField(value = "audit_user_id")
+    private String auditUserId;
+
+    /**
+    * 审核人名称
+    */
+    @TableField(value = "audit_user_name")
+    private String auditUserName;
+
+    /**
+    * 审核时间
+    */
+    @TableField(value = "audit_time")
+    private Date auditTime;
+
+    /**
+    * 审核结果
+    */
+    @TableField(value = "audit_result")
+    private String auditResult;
+
+    /**
+    * 审核结果名称
+    */
+    @TableField(value = "audit_result_name")
+    private String auditResultName;
+
+    /**
+    * 审核理由
+    */
+    @TableField(value = "audit__content")
+    private String audit_content;
+
+    /**
+    * 删除状态,0:未删除,1:已删除
+    */
+    @TableLogic
+    @TableField(value = "delete_status")
+    private Integer deleteStatus;
+
+    /**
+    * 顾客编号
+    */
+    @TableField(value = "cust_id")
+    private String custId;
+
+    /**
+    * 创建时间
+    */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+    * 更新时间
+    */
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+    @TableField(exist = false)
+    private List<FileTypeInfoBaseDTO> fileTypeInfoBaseDTOList;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/service/CaseAssistApplyService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/service/CaseAssistApplyService.java
new file mode 100644
index 0000000..fce2b85
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/assist/service/CaseAssistApplyService.java
@@ -0,0 +1,204 @@
+package cn.huge.module.assist.service;
+
+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.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.assist.dao.mapper.CaseAssistApplyMapper;
+import cn.huge.module.assist.domain.po.CaseAssistApply;
+import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.mediate.constant.CaseBaseConsts;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+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.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @title: 联合处置申请信息表业务逻辑处理
+ * @Description 联合处置申请信息表业务逻辑处理
+ * @company hugeinfo
+ * @author wangwh
+ * @Time 2024-09-05 17:25:04
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class CaseAssistApplyService extends ServiceImpl<CaseAssistApplyMapper, CaseAssistApply>{
+
+    @Autowired
+    private CaseAssistApplyMapper mapper;
+
+    @Autowired
+    private UtilsClientImpl utilsClient;
+
+    @Autowired
+    private CustClientImpl custClient;
+
+    /**
+    * 更新对象
+    * @param entity 对象
+    */
+    public void updateCaseAssistApply(CaseAssistApply entity){
+        try{
+            mapper.updateCaseAssistApply(entity);
+        }catch (Exception e){
+            log.error("[CaseAssistApplyService.updateCaseAssistApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseAssistApplyService.updateCaseAssistApply", e);
+        }
+    }
+
+    /**
+    * 条件更新对象
+    * @param entity 对象
+    * @param terms 条件
+    */
+    public void updateCaseAssistApplyTerms(CaseAssistApply entity, Map<String, Object> terms){
+        try{
+            mapper.updateCaseAssistApplyTerms(entity, terms);
+        }catch (Exception e){
+            log.error("[CaseAssistApplyService.updateCaseAssistApplyTerms]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseAssistApplyService.updateCaseAssistApplyTerms", e);
+        }
+    }
+
+    /**
+    * 根据编号物理删除
+    * @param id 查询条件集合
+    */
+    public void deleteCaseAssistApply(String id){
+        try{
+            mapper.deleteCaseAssistApply(id);
+        }catch (Exception e){
+            log.error("[CaseAssistApplyService.deleteCaseAssistApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseAssistApplyService.deleteCaseAssistApply", e);
+        }
+    }
+
+    /**
+    * 按条件查询
+    * @param terms 条件
+    * @return List
+    */
+    public List<CaseAssistApply> listTerms(Map<String, Object> terms){
+        return mapper.listTerms(terms);
+    }
+
+    /**
+    * 按条件统计
+    * @param terms 条件
+    * @return long
+    */
+    public long countTerms(Map<String, Object> terms){
+        return mapper.countTerms(terms);
+    }
+
+    /**
+    * 按条件分页查询
+    * @param page 分页对象
+    * @param terms 条件
+    * @return Page
+    */
+    public Page<CaseAssistApply> pageQuery(PageRequest page, Map<String, Object> terms){
+        long total = mapper.countTerms(terms);
+        List<CaseAssistApply> content = mapper.pageTerms(page, terms);
+        return new PageImpl<CaseAssistApply>(content, page, total);
+    }
+
+    /**
+    * 新增或更新对象
+    * @param caseAssistApply 实体对象
+    */
+    public void saveCaseAssistApply(CaseAssistApply caseAssistApply){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 判断是否新增
+            if (IdUtils.checkNewId(caseAssistApply.getId())){
+                caseAssistApply.setId(utilsClient.getNewTimeId());
+                caseAssistApply.setCreateTime(nowDate);
+            }
+            caseAssistApply.setUpdateTime(nowDate);
+            this.saveOrUpdate(caseAssistApply);
+        }catch (Exception e){
+            log.error("[CaseAssistApplyService.saveCaseAssistApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseAssistApplyService.saveCaseAssistApply", e);
+        }
+    }
+
+    /**
+     * 添加联合处置申请
+     * @param caseAssistApply 实体对象
+     */
+    public void addCaseAssistApply(CaseAssistApply caseAssistApply, String userId){
+        try{
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            Date now = DateUtils.getNowDate();
+
+            caseAssistApply.setApplyUnitId(loginUser.getUnitId());
+            caseAssistApply.setApplyUnitName(loginUser.getUnitName());
+            caseAssistApply.setApplyUserId(loginUser.getId());
+            caseAssistApply.setApplyUserName(loginUser.getTrueName());
+            caseAssistApply.setApplyStatus(0);
+            caseAssistApply.setCreateTime(now);
+            caseAssistApply.setUpdateTime(now);
+            //todo 添加任务
+
+            mapper.insert(caseAssistApply);
+        }catch (Exception e){
+            log.error("[CaseAssistApplyService.addCaseAssistApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseAssistApplyService.addCaseAssistApply", e);
+        }
+    }
+
+    /**
+     * 审核联合处置申请
+     * @param caseAssistApply 实体对象
+     */
+    public void reviewCaseAssistApply(CaseAssistApply caseAssistApply, String userId){
+        try{
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            Date now = DateUtils.getNowDate();
+
+            caseAssistApply.setApplyStatus(1);
+            caseAssistApply.setAuditUnitId(loginUser.getUnitId());
+            caseAssistApply.setAuditUnitName(loginUser.getUnitName());
+            caseAssistApply.setAuditUserId(loginUser.getId());
+            caseAssistApply.setAuditUserName(loginUser.getTrueName());
+            caseAssistApply.setAuditTime(now);
+            caseAssistApply.setUpdateTime(now);
+            //todo 修改任务状态
+
+            mapper.updateCaseAssistApply(caseAssistApply);
+        }catch (Exception e){
+            log.error("[CaseAssistApplyService.reviewCaseAssistApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseAssistApplyService.reviewCaseAssistApply", e);
+        }
+    }
+
+    /**
+     * 根据案件编号查询联合处置申请
+     * @param caseId 条件
+     * @return long
+     */
+    public List<CaseAssistApply> listCaseAssistApplyByCaseId(String caseId){
+        QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
+        caseAssistApplyQueryWrapper.eq("case_id", caseId).orderByDesc("create_time");
+        List<CaseAssistApply> caseAssistApplyList = mapper.selectList(caseAssistApplyQueryWrapper);
+        return caseAssistApplyList;
+    }
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
index b76dfdc..07ce60b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
@@ -368,4 +368,19 @@
             return ReturnFailUtils.getRepInfo(e.getMessage());
         }
     }
+
+    /**
+     * 查询办理结果
+     * @url {ctx}/api/web/caseInfoUnfold/getTransactResult
+     * @param caseId 事项ID
+     * @return Object
+     */
+    @GetMapping("/getTransactResult")
+    public Object getTransactResult(@RequestParam(value = "caseId") String caseId) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.getTransactResult(caseId));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
index 3cc3009..1c6dddd 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -503,4 +503,21 @@
             return ReturnFailUtils.getRepInfo(e.getMessage());
         }
     }
+
+    /**
+     * PC端-查询档案信息
+     * @url {ctx}/api/web/caseInfo/getCaseArchivesInfo?id=
+     * @param id 纠纷编号
+     * @return Object
+     */
+    @GetMapping("/getCaseArchivesInfo")
+    public Object getCaseArchivesInfo(@RequestParam(value = "id") String id) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.getCaseArchivesInfo(id));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo(e.getMessage());
+        }
+    }
+
+
 }
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 7f00824..8435da6 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
@@ -74,6 +74,16 @@
         if (StringUtils.isNotBlank(supTime)){
             terms.put("supTime", supTime);
         }
+        // 被督办组织编号
+        String quiltUnitId = request.getParameter("quiltUnitId");
+        if (StringUtils.isNotBlank(quiltUnitId)){
+            terms.put("quiltUnitId", quiltUnitId);
+        }
+        // 被督办组织名称
+        String quiltUnitName = request.getParameter("quiltUnitName");
+        if (StringUtils.isNotBlank(quiltUnitName)){
+            terms.put("quiltUnitName", quiltUnitName);
+        }
         // 督办状态,0:未回复,1:已回复
         String supStatus = request.getParameter("supStatus");
         if (StringUtils.isNotBlank(supStatus)){
@@ -230,7 +240,7 @@
     }
 
     /**
-     * 添加督办
+     * 回复督办
      * @url {ctx}/api/web/caseSupervise/replyCaseSupervise
      * @param caseSupervise 实体对象
      * @return Object
@@ -247,14 +257,18 @@
 
     /**
      * 督办信息查询
-     * @url {ctx}/api/web/caseSupervise/listCaseSupervise
+     * @url {ctx}/api/web/caseSupervise/pageCaseSupervise
      * @param caseId 主键编号
      * @return Object
      */
-    @GetMapping("/listCaseSupervise")
-    public Object listCaseSupervise(@RequestParam(value = "caseId") String caseId) {
+    @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) {
         try {
-            return ReturnSucUtils.getRepInfo(service.listCaseSupervise(caseId));
+            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));
         } 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 e36a762..9e71c75 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
@@ -61,4 +61,21 @@
     */
     List<CaseSupervise> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
 
+    /**
+     * 按条件查询实体总数
+     * @param caseId 查询条件集合
+     *  @param page 分页对象
+     *  @param caseId 事项ID
+     */
+    long countCaseSupervise(@Param("caseId") String caseId, @Param("page") PageRequest page, @Param("supStatus") int supStatus, @Param("quiltUnitId") String quiltUnitId);
+
+    /**
+     * 根据事项ID分页查询
+     * @param page 分页对象
+     * @param caseId 事项ID
+     * @return List<CaseSupervise>
+     */
+    List<CaseSupervise> pageCaseSupervise(@Param("caseId") String caseId, @Param("page") PageRequest page, @Param("supStatus") int supStatus, @Param("quiltUnitId") String quiltUnitId);
+
+
 }
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 6aeb3bc..4c633d9 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
@@ -17,6 +17,8 @@
             <result property="supUserId" column="sup_user_id"/>
             <result property="supUserName" column="sup_user_name"/>
             <result property="supTime" column="sup_time"/>
+            <result property="quiltUnitId" column="quilt_unit_id"/>
+            <result property="quiltUnitName" column="quilt_unit_name"/>
             <result property="supStatus" column="sup_status"/>
             <result property="replyTerm" column="reply_term"/>
             <result property="replyContent" column="reply_content"/>
@@ -38,6 +40,8 @@
         sup_user_id,
         sup_user_name,
         sup_time,
+        quilt_unit_id,
+        quilt_unit_name,
         sup_status,
         reply_term,
         reply_content,
@@ -56,6 +60,8 @@
             <if test="entity.supUserId != null">sup_user_id = #{entity.supUserId},</if>
             <if test="entity.supUserName != null">sup_user_name = #{entity.supUserName},</if>
             <if test="entity.supTime != null">sup_time = #{entity.supTime},</if>
+            <if test="entity.quiltUnitId != null">quilt_unit_id = #{entity.quiltUnitId},</if>
+            <if test="entity.quiltUnitName != null">quilt_unit_name = #{entity.quiltUnitName},</if>
             <if test="entity.supStatus != null">sup_status = #{entity.supStatus},</if>
             <if test="entity.replyTerm != null">reply_term = #{entity.replyTerm},</if>
             <if test="entity.replyContent != null">reply_content = #{entity.replyContent},</if>
@@ -89,6 +95,12 @@
                 <if test="terms.supTime != null and terms.supTime !=''">
                     and sup_time = #{terms.supTime}
                 </if>
+                <if test="terms.quiltUnitId != null and terms.quiltUnitId !=''">
+                    and quilt_unit_id = #{terms.quiltUnitId}
+                </if>
+                <if test="terms.quiltUnitName != null and terms.quiltUnitName !=''">
+                    and quilt_unit_name = #{terms.quiltUnitName}
+                </if>
                 <if test="terms.supStatus != null and terms.supStatus !=''">
                     and sup_status = #{terms.supStatus}
                 </if>
@@ -112,6 +124,9 @@
                 </if>
                 <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
                     and delete_status = #{terms.deleteStatus}
+                </if>
+                <if test="terms.deleteStatus == null or terms.deleteStatus ==''">
+                    and delete_status = '0'
                 </if>
                 <if test="terms.custId != null and terms.custId !=''">
                     and cust_id = #{terms.custId}
@@ -193,4 +208,36 @@
         limit #{page.offset}, #{page.size}
     </select>
 
+    <!--  根据条件统计  -->
+    <select id="countCaseSupervise" resultType="java.lang.Long">
+        select
+        COUNT(1)
+        from
+        <include refid="table-name" />
+        where case_id = #{caseId}
+        and delete_status = '0'
+        and sup_status = #{supStatus}
+        and quilt_unit_id = #{quiltUnitId}
+    </select>
+
+    <!--  根据条件分页查询  -->
+    <select id="pageCaseSupervise" resultMap="dataResult">
+        SELECT
+        <include refid="column-part"/>
+        FROM
+        <include refid="table-name" />
+        where case_id = #{caseId}
+        and delete_status = '0'
+        and sup_status = #{supStatus}
+        and quilt_unit_id = #{quiltUnitId}
+        <if test="page.sort != null">
+            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+                isnull(${s.property}), ${s.property} ${s.direction}
+            </foreach>
+        </if>
+        <if test="page.sort == null">
+            order by isnull(sup_time), sup_time desc
+        </if>
+        limit #{page.offset}, #{page.size}
+    </select>
 </mapper> 
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java
index de9214e..24ea627 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java
@@ -2,6 +2,7 @@
 
 import cn.huge.module.cases.domain.po.CaseAgent;
 import cn.huge.module.cases.domain.po.CaseInfo;
+import cn.huge.module.cases.domain.po.CaseInfoUnfold;
 import cn.huge.module.cases.domain.po.CasePerson;
 import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
 import lombok.Data;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/QuiltUnitDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/QuiltUnitDTO.java
new file mode 100644
index 0000000..29b7e85
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/QuiltUnitDTO.java
@@ -0,0 +1,16 @@
+package cn.huge.module.cases.domain.dto;
+
+import lombok.Data;
+
+@Data
+public class QuiltUnitDTO{
+    /**
+     * 被督办组织编号
+     */
+    private String quiltUnitId;
+
+    /**
+     * 被督办组织名称
+     */
+    private String quiltUnitName;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/TransactResultDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/TransactResultDTO.java
new file mode 100644
index 0000000..d430b33
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/TransactResultDTO.java
@@ -0,0 +1,13 @@
+package cn.huge.module.cases.domain.dto;
+
+import cn.huge.module.cases.domain.po.CaseInfoUnfold;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+@Data
+public class TransactResultDTO extends CaseInfoUnfold {
+    /**
+     * 申请配合组织名称,多个用、隔开
+     */
+    private String applyAssistUnitName;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java
index af7c9f5..4e3008c 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.util.Date;
@@ -93,12 +94,14 @@
     /**
     * 创建时间
     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
     @TableField(value = "create_time")
     private Date createTime;
 
     /**
     * 更新时间
     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
     @TableField(value = "update_time")
     private Date updateTime;
 
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
index bbe88f5..c549753 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
@@ -417,12 +417,14 @@
     /**
     * 创建时间
     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
     @TableField(value = "create_time")
     private Date createTime;
 
     /**
     * 更新时间
     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
     @TableField(value = "update_time")
     private Date updateTime;
 
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
index ee72896..5db0ec7 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
@@ -1,5 +1,6 @@
 package cn.huge.module.cases.domain.po;
 
+import cn.huge.module.cases.domain.dto.QuiltUnitDTO;
 import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -57,6 +58,18 @@
     */
     @TableField(value = "sup_time")
     private Date supTime;
+
+    /**
+     * 被督办组织编号
+     */
+    @TableField(value = "quilt_unit_id")
+    private String quiltUnitId;
+
+    /**
+     * 被督办组织名称
+     */
+    @TableField(value = "quilt_unit_name")
+    private String quiltUnitName;
 
     /**
     * 督办状态,0:未回复,1:已回复
@@ -124,4 +137,10 @@
      */
     @TableField(exist = false)
     private List<FileTypeInfoBaseDTO> fileInfoList;
+
+    /**
+     * 被督办组织信息
+     */
+    @TableField(exist = false)
+    private List<QuiltUnitDTO> quiltUnitDTOList;
 }
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 83aed0b..10e0e84 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
@@ -172,8 +172,9 @@
         String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
         ownerIds = "'"+ ownerIds + "'";
         Map<String, Object> map = new HashMap<>();
+        map.put("mainId", id);
         map.put("ownerIds", ownerIds);
-        List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map, id);
+        List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map);
 
         for(CaseFeedback caseFeedback: caseFeedbackList){
             for(FileIdInfoBaseDTO fileInfo: fileInfoList){
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
index 7cc943c..fb0aa04 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -386,9 +386,68 @@
             String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
             ids = "'"+ ids + "'";
             Map<String, Object> term = new HashMap<>();
+            term.put("mainId", caseId);
             term.put("ownerIds", ids);
             //查询所有附件
-            List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term, caseId);
+            List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
+            for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+                if(caseId.equals(fileInfo.getOwnerId())){
+                    caseInfoDTO.setFileInfoList(fileInfo.getFileList());
+                }
+            }
+            for(CasePerson casePerson: casePersonList){
+                //把附件根据编号放入
+                for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+                    if(casePerson.getId().equals(fileInfo.getOwnerId())){
+                        casePerson.setFileInfoList(fileInfo.getFileList());
+                    }
+                }
+            }
+            for(CaseAgent caseAgent: caseAgentList){
+                for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+                    if(caseAgent.getId().equals(fileInfo.getOwnerId())){
+                        caseAgent.setFileInfoList(fileInfo.getFileList());
+                    }
+                }
+            }
+            caseInfoDTO.setPersonList(casePersonList);
+            caseInfoDTO.setAgentList(caseAgentList);
+        }
+        return caseInfoDTO;
+    }
+
+    /**
+     * PC端-查询纠纷信息
+     * @param caseId 纠纷编号
+     * @return CaseInfo 纠纷信息
+     */
+    public CaseInfoDTO getCaseArchivesInfo(String caseId){
+        CaseInfo caseInfo = mapper.selectById(caseId);
+        CaseInfoDTO caseInfoDTO = new CaseInfoDTO();
+        if (ObjectUtils.isNotEmpty(caseInfo)) {
+
+            BeanUtils.copyProperties(caseInfo, caseInfoDTO);
+            //查询所有当事人
+            QueryWrapper<CasePerson> personQueryWrapper = new QueryWrapper<>();
+            personQueryWrapper.eq("case_id", caseId);
+            List<CasePerson> casePersonList = personService.list(personQueryWrapper);
+
+            //查询所有代理人
+            QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>();
+            caseAgentQueryWrapper.eq("case_id", caseId);
+            List<CaseAgent> caseAgentList = agentService.list(caseAgentQueryWrapper);
+            List<String> idList = new ArrayList<>();
+
+            idList.add(caseId);
+            idList.addAll(casePersonList.stream().map(CasePerson::getId).collect(Collectors.toList()));
+            idList.addAll(caseAgentList.stream().map(CaseAgent::getId).collect(Collectors.toList()));
+            String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
+            ids = "'"+ ids + "'";
+            Map<String, Object> term = new HashMap<>();
+            term.put("mainId", caseId);
+            term.put("ownerIds", ids);
+            //查询所有附件
+            List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
             for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                 if(caseId.equals(fileInfo.getOwnerId())){
                     caseInfoDTO.setFileInfoList(fileInfo.getFileList());
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
index bccd552..494d279 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
@@ -3,14 +3,20 @@
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.assist.domain.po.CaseAssistApply;
+import cn.huge.module.assist.service.CaseAssistApplyService;
+import cn.huge.module.cases.domain.dto.TransactResultDTO;
 import cn.huge.module.cases.domain.po.CaseInfo;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.cases.dao.mapper.CaseInfoUnfoldMapper;
 import cn.huge.module.cases.domain.po.CaseInfoUnfold;
 import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.mediate.constant.CaseBaseConsts;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
@@ -47,6 +53,9 @@
 
     @Autowired
     private CustClientImpl custClient;
+
+    @Autowired
+    private CaseAssistApplyService assistApplyService;
 
     /**
     * 更新对象
@@ -159,4 +168,26 @@
             throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e);
         }
     }
+
+    public TransactResultDTO getTransactResult(String caseId){
+        //查询办理结果信息
+        QueryWrapper<CaseInfoUnfold>caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
+        caseInfoUnfoldQueryWrapper.eq("case_id", caseId);
+        CaseInfoUnfold caseInfoUnfold = this.getOne(caseInfoUnfoldQueryWrapper);
+
+        TransactResultDTO transactResultDTO = new TransactResultDTO();
+        BeanUtils.copyProperties(caseInfoUnfold, transactResultDTO);
+        if(ObjectUtils.isNotEmpty(transactResultDTO)){
+            QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
+            caseAssistApplyQueryWrapper.select("apply_assist_unit_name").eq("case_id", caseId).eq("apply_status", 1)
+                    .eq("audit_result", CaseBaseConsts.AUDIT_RESULT_1);
+            CaseAssistApply caseAssistApply = assistApplyService.getOne(caseAssistApplyQueryWrapper);
+
+            if(ObjectUtils.isNotEmpty(caseAssistApply)){
+                transactResultDTO.setApplyAssistUnitName(caseAssistApply.getApplyAssistUnitName());
+            }
+        }
+        return transactResultDTO;
+    }
+
 }
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 5bd8845..fbebe41 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.QuiltUnitDTO;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
@@ -15,6 +16,7 @@
 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.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
@@ -133,23 +135,30 @@
     /**
      * 添加督办
      * @param caseSupervise 实体对象
-     * @param userId 用户信息编号
      */
     public void addCaseSupervise(CaseSupervise caseSupervise, String userId){
         try{
-            // 获取当前登录用户
-            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            Date nowDate = DateUtils.getNowDate();
-            caseSupervise.setSupUserId(loginUser.getId());
-            caseSupervise.setSupUserName(loginUser.getTrueName());
-            caseSupervise.setSupTime(nowDate);
-            caseSupervise.setSupStatus(0);
-            caseSupervise.setCreateTime(nowDate);
-            caseSupervise.setUpdateTime(nowDate);
-            //todo 配置时限
+            List<QuiltUnitDTO> quiltUnitDTOList = caseSupervise.getQuiltUnitDTOList();
             Integer timeTerm = sysClient.getTimeLimit("dyh_case_supervise", SyTimeEnum.SY_TIME_03.getIndex());
-            caseSupervise.setReplyTerm(timeTerm);
-            this.save(caseSupervise);
+            List<CaseSupervise> caseSuperviseList = new ArrayList<>();
+            for(QuiltUnitDTO quiltUnitDTO: quiltUnitDTOList){
+                CaseSupervise caseSuperviseNew = new CaseSupervise();
+                BeanUtils.copyProperties(caseSupervise, caseSuperviseNew);
+                // 获取当前登录用户
+                CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+                Date nowDate = DateUtils.getNowDate();
+                caseSuperviseNew.setSupUserId(loginUser.getId());
+                caseSuperviseNew.setSupUserName(loginUser.getTrueName());
+                caseSuperviseNew.setSupTime(nowDate);
+                caseSuperviseNew.setQuiltUnitId(quiltUnitDTO.getQuiltUnitId());
+                caseSuperviseNew.setQuiltUnitName(quiltUnitDTO.getQuiltUnitName());
+                caseSuperviseNew.setSupStatus(0);
+                caseSuperviseNew.setCreateTime(nowDate);
+                caseSuperviseNew.setUpdateTime(nowDate);
+                caseSuperviseNew.setReplyTerm(timeTerm);
+                caseSuperviseList.add(caseSuperviseNew);
+            }
+            this.saveBatch(caseSuperviseList);
         }catch (Exception e){
             log.error("[CaseSuperviseService.saveCaseSupervise]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseSuperviseService.saveCaseSupervise", e);
@@ -181,41 +190,30 @@
      * 流转办理-督办列表
      * @param caseId 事项Id
      */
-    public Map<String, Object> listCaseSupervise(String caseId){
+    public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId){
         try{
-            List<CaseSupervise> repliedList = new ArrayList<>();
-            List<CaseSupervise> noReplyList = new ArrayList<>();
-            QueryWrapper<CaseSupervise> caseSuperviseQueryWrapper = new QueryWrapper<>();
-            caseSuperviseQueryWrapper.eq("case_id", caseId);
-            List<CaseSupervise> caseSuperviseList = mapper.selectList(caseSuperviseQueryWrapper);
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            String quiltUnitId = loginUser.getUnitId();
+            long countSuperviseList = mapper.countCaseSupervise(caseId, page, supStatus, quiltUnitId);
+            List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(caseId, page, supStatus, quiltUnitId);
 
             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());
-            List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map, caseId);
+            List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map);
             for(CaseSupervise caseSupervise: caseSuperviseList){
                 for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
                     if(caseSupervise.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
                         caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTO.getFileList());
                     }
                 }
-                if(0 == caseSupervise.getSupStatus()){
-                    noReplyList.add(caseSupervise);
-                }else if(1 == caseSupervise.getSupStatus()){
-                    repliedList.add(caseSupervise);
-                }
             }
-            int count = noReplyList.size();
-            Map<String, Object> result = new HashMap<>();
-            result.put("count", count);
-            result.put("noReplyList", noReplyList);
-            result.put("repliedList", repliedList);
-            return result;
+            return new PageImpl<CaseSupervise>(caseSuperviseList, page, countSuperviseList);
         }catch (Exception e){
-            log.error("[CaseSuperviseService.listCaseSupervise]调用失败,异常信息:"+e, e);
-            throw new ServiceException("CaseSuperviseService.listCaseSupervise", e);
+            log.error("[CaseSuperviseService.pageReplied]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseSuperviseService.pageReplied", e);
         }
     }
-
 
 }
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 535beed..97748da 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
@@ -25,7 +25,7 @@
      * @return ReturnBO
      */
     @PostMapping("/api/client/fileInfo/listIdTypeInfoByOwnerIdList")
-    ReturnBO listTypeInfoByOwnerIdList(@RequestBody Map<String, Object> term, @RequestParam(value = "mainId") String mainId);
+    ReturnBO listTypeInfoByOwnerIdList(@RequestBody Map<String, Object> term);
 
     /**
      * 附件中心-根据多个所属编号查询附件
@@ -34,7 +34,7 @@
      * @return ReturnBO
      */
     @PostMapping("/api/client/fileInfo/listInfoByOwnerIdList")
-    ReturnBO listInfoByOwnerIdList(@RequestBody Map<String, Object> term, @RequestParam(value = "mainId") String mainId);
+    ReturnBO listInfoByOwnerIdList(@RequestBody Map<String, Object> term);
 
     /**
      * 附件中心-根据多个所属编号查询附件
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 41184fc..2f0fbfa 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
@@ -48,10 +48,10 @@
      * @param term 所属业务编号
      * @return List
      */
-    public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(Map<String, Object> term, String mainId){
+    public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(Map<String, Object> term){
         List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
         try{
-            ReturnBO returnBo = sysClient.listTypeInfoByOwnerIdList(term, mainId);
+            ReturnBO returnBo = sysClient.listTypeInfoByOwnerIdList(term);
             if (ReturnConsts.OK == returnBo.getCode()){
                 if (ObjectUtils.isNotEmpty(returnBo.getData())){
                     List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
@@ -72,10 +72,10 @@
      * @param term 所属业务编号
      * @return List
      */
-    public List<FileIdInfoBaseDTO> listIdInfoByOwnerIdList(Map<String, Object> term, String mainId){
+    public List<FileIdInfoBaseDTO> listIdInfoByOwnerIdList(Map<String, Object> term){
         List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = new ArrayList<>();
         try{
-            ReturnBO returnBo = sysClient.listInfoByOwnerIdList(term, mainId);
+            ReturnBO returnBo = sysClient.listInfoByOwnerIdList(term);
             if (ReturnConsts.OK == returnBo.getCode()){
                 if (ObjectUtils.isNotEmpty(returnBo.getData())){
                     List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
index bc8765b..646aad9 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
@@ -374,9 +374,10 @@
             String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
             ids = "'"+ ids + "'";
             Map<String, Object> term = new HashMap<>();
+            term.put("mainId", caseId);
             term.put("ownerIds", ids);
             //查询所有附件
-            List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term, caseId);
+            List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
             //把附件根据编号放入
             for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                 if(caseId.equals(fileInfo.getOwnerId())){
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java
index 45a42f5..29031ef 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java
@@ -34,13 +34,13 @@
 
     /**
      * 根据多个所属编号查询附件并根据先根据ownerId再根据附件类型分组
-     * @url {ctx}/api/client/fileRelate/listIdTypeInfoByOwnerIdList
+     * @url {ctx}/api/client/fileInfo/listIdTypeInfoByOwnerIdList
      * @return Object
      */
     @PostMapping("/listIdTypeInfoByOwnerIdList")
-    public Object listIdTypeInfoByOwnerIdList(@RequestBody  Map<String, Object> term, @RequestParam(value = "mainId") String mainId) {
+    public Object listIdTypeInfoByOwnerIdList(@RequestBody  Map<String, Object> term) {
         try {
-            return ReturnSucUtils.getRepInfo(service.listIdTypeInfoByOwnerIdList(term, mainId));
+            return ReturnSucUtils.getRepInfo(service.listIdTypeInfoByOwnerIdList(term));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -48,13 +48,13 @@
 
     /**
      * 根据多个所属编号查询附件
-     * @url {ctx}/api/client/fileRelate/listInfoByOwnerIdList
+     * @url {ctx}/api/client/fileInfo/listInfoByOwnerIdList
      * @return Object
      */
     @PostMapping("/listInfoByOwnerIdList")
-    public Object listInfoByOwnerIdList(@RequestBody Map<String, Object> term, @RequestParam(value = "mainId") String mainId) {
+    public Object listInfoByOwnerIdList(@RequestBody Map<String, Object> term) {
         try {
-            return ReturnSucUtils.getRepInfo(service.listInfoByOwnerIdList(term, mainId));
+            return ReturnSucUtils.getRepInfo(service.listInfoByOwnerIdList(term));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
index a093e16..8820dc0 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
@@ -1,6 +1,7 @@
 package cn.huge.module.file.controller.web;
 
 import cn.huge.base.common.exception.ClientException;
+import cn.huge.module.file.domain.dto.IdFileDTO;
 import cn.huge.module.utils.BaiduOcrUtils;
 import cn.huge.base.common.utils.ContentTypeUtils;
 import cn.huge.base.common.utils.ReturnFailUtils;
@@ -33,10 +34,8 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @title: 附件信息表接口api-web端
@@ -262,5 +261,29 @@
         }
     }
 
-
+    /**
+     * 根据多个所属编号查询附件并根据先根据ownerId再根据附件类型分组
+     * @url {ctx}/api/web/fileInfo/listIdTypeInfo
+     * @return Object
+     */
+    @PostMapping("/listIdTypeInfo")
+    public Object listIdTypeInfo(@RequestBody IdFileDTO idFileDTO) {
+        try {
+            Map<String, Object> term = new HashMap<>();
+            String ownerIds = idFileDTO.getOwnerIdList().stream().map(String:: valueOf).collect(Collectors.joining("','"));
+            String types = idFileDTO.getTypeList().stream().map(String:: valueOf).collect(Collectors.joining("','"));
+            if(StringUtils.isNotBlank(ownerIds)){
+                ownerIds = "'" + ownerIds + "'";
+            }
+            if(StringUtils.isNotBlank(types)){
+                types = "'" + types + "'";
+            }
+            term.put("ownerIds", ownerIds);
+            term.put("types", types);
+            term.put("mainId", idFileDTO.getMainId());
+            return ReturnSucUtils.getRepInfo(service.listIdTypeInfoByOwnerIdList(term));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java
index b73efdc..2c7e446 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java
@@ -75,5 +75,5 @@
      * @param terms
      * @return List<FileRelate>
      */
-    List<FileInfo> listByids(@Param("terms") Map<String, Object> terms, @Param("mainId") String mainId);
+    List<FileInfo> listFile(@Param("terms") Map<String, Object> terms);
 }
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml
index f789de2..5f4a18e 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml
@@ -303,31 +303,30 @@
     </select>
 
     <!-- 根据多个编号查询 -->
-    <select id="listByids" resultMap="fileResult">
+    <select id="listFile" resultMap="fileResult">
         SELECT t2.owner_id, t2.owner_cat, t2.owner_type, t2.uploader_id, t2.uploader_name,
         <include refid="column-part-t"/>
         FROM dyh_file_info t1
         LEFT JOIN dyh_file_relate t2 ON t1.id = t2.file_id
-        WHERE t2.main_id = #{mainId}
-        <if test="terms.ownerIds = null and terms.ownerIds =''">
-            and t2.owner_id in (${ownerIds})
+        WHERE
+        t1.delete_status = 0
+        and t2.main_id = #{terms.mainId}
+        <if test="terms.ownerIds != null and terms.ownerIds !=''">
+            and t2.owner_id in (${terms.ownerIds})
         </if>
-        <if test="terms.types = null and terms.types =''">
-            and t2.owner_type in (${types})
+        <if test="terms.types != null and terms.types !=''">
+            and t2.owner_type in (${terms.types})
         </if>
-
-
-
     </select>
 
-    <!-- 根据多个编号查询 -->
-    <select id="listByIdsTypes" resultMap="fileResult">
-        SELECT t2.owner_id, t2.owner_cat, t2.owner_type, t2.uploader_id, t2.uploader_name,
-        <include refid="column-part-t"/>
-        FROM dyh_file_info t1
-        LEFT JOIN dyh_file_relate t2 ON t1.id = t2.file_id
-        WHERE t2.owner_id in (${ownerIds})
-        and t2.main_id = #{mainId}
-        and t2.owner_type in (${types})
-    </select>
+<!--    &lt;!&ndash; 根据多个编号查询 &ndash;&gt;-->
+<!--    <select id="listByIdsTypes" resultMap="fileResult">-->
+<!--        SELECT t2.owner_id, t2.owner_cat, t2.owner_type, t2.uploader_id, t2.uploader_name,-->
+<!--        <include refid="column-part-t"/>-->
+<!--        FROM dyh_file_info t1-->
+<!--        LEFT JOIN dyh_file_relate t2 ON t1.id = t2.file_id-->
+<!--        WHERE t2.owner_id in (${ownerIds})-->
+<!--        and t2.main_id = #{mainId}-->
+<!--        and t2.owner_type in (${types})-->
+<!--    </select>-->
 </mapper> 
\ No newline at end of file
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/dto/IdFileDTO.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/dto/IdFileDTO.java
new file mode 100644
index 0000000..f33a622
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/dto/IdFileDTO.java
@@ -0,0 +1,24 @@
+package cn.huge.module.file.domain.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IdFileDTO {
+
+    /**
+     * 事项ID
+     */
+    private String mainId;
+
+    /**
+     * 所属编号
+     */
+    private List<String> ownerIdList;
+
+    /**
+     * 限定类型
+     */
+    private List<String> typeList;
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
index 16a7070..8d272cb 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
@@ -160,15 +160,21 @@
      * @param terms
      * @return List
      */
-    public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(Map<String, Object> terms, String mainId){
-        List<FileIdTypeInfoBaseDTO> fileTypeInfoBaseDTOList = new ArrayList<>();
+    public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(Map<String, Object> terms){
+        try {
+            List<FileIdTypeInfoBaseDTO> fileTypeInfoBaseDTOList = new ArrayList<>();
 
-        List<FileInfo> fileInfoList = mapper.listByids(terms, mainId);
-        if(CollectionUtils.isNotEmpty(fileInfoList)){
-            fileTypeInfoBaseDTOList = this.getIdFileTypeInfoBaseDTOList(fileInfoList);
+            List<FileInfo> fileInfoList = mapper.listFile(terms);
+            if(CollectionUtils.isNotEmpty(fileInfoList)){
+                fileTypeInfoBaseDTOList = this.getIdFileTypeInfoBaseDTOList(fileInfoList);
+            }
+
+            return fileTypeInfoBaseDTOList;
+        }catch (Exception e){
+            log.error("[FileInfoService.listIdTypeInfoByOwnerIdList]调用失败,异常信息:"+e, e);
+            throw new ServiceException("FileInfoService.listIdTypeInfoByOwnerIdList", e);
         }
 
-        return fileTypeInfoBaseDTOList;
     }
 
     /**
@@ -219,6 +225,7 @@
                         fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.getDes(ownerType));
                         fileTypeInfoBaseDTO.setSize(ownerIdFileInfoList.size());
                         List<FileInfoBaseDTO> fileInfoBaseDTOList = new ArrayList<>();
+                        StringBuffer fileNames = new StringBuffer();
                         for(FileInfo fileInfo: ownerIdFileInfoList){
                             if(ownerType.equals(fileInfo.getOwnerType())){
                                 FileInfoBaseDTO fileInfoBaseDTO = new FileInfoBaseDTO();
@@ -226,8 +233,15 @@
                                 fileInfoBaseDTO.setOwnerCatName(FileOwnerTypeBaseEnum.getDes(fileInfo.getOwnerCat()));
                                 fileInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.getDes(fileInfo.getOwnerType()));
                                 fileInfoBaseDTOList.add(fileInfoBaseDTO);
+                                if(StringUtils.isNotBlank(fileNames)){
+                                    fileNames.append(fileInfo.getName());
+                                }else{
+                                    fileNames.append("、" + fileInfo.getName());
+                                }
+
                             }
                         }
+                        fileTypeInfoBaseDTO.setFileNames(fileNames.toString());
                         fileTypeInfoBaseDTO.setFileList(fileInfoBaseDTOList);
                         fileTypeInfoBaseDTOList.add(fileTypeInfoBaseDTO);
                     }
@@ -236,9 +250,6 @@
                 }
             }
         }
-
-
-
         return fileIdTypeInfoBaseDTOList;
     }
 
@@ -247,13 +258,19 @@
      * @param terms
      * @return List
      */
-    public List<FileIdInfoBaseDTO> listInfoByOwnerIdList(Map<String, Object> terms, String mainId) {
-        List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = new ArrayList<>();
-        List<FileInfo> fileInfoList = mapper.listByids(terms, mainId);
-        if(CollectionUtils.isNotEmpty(fileInfoList)){
-            fileIdInfoBaseDTOList = this.getFileInfoBaseDTOList(fileInfoList);
+    public List<FileIdInfoBaseDTO> listInfoByOwnerIdList(Map<String, Object> terms) {
+        try {
+            List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = new ArrayList<>();
+            List<FileInfo> fileInfoList = mapper.listFile(terms);
+            if(CollectionUtils.isNotEmpty(fileInfoList)){
+                fileIdInfoBaseDTOList = this.getFileInfoBaseDTOList(fileInfoList);
+            }
+            return fileIdInfoBaseDTOList;
+        }catch (Exception e){
+            log.error("[FileInfoService.listInfoByOwnerIdList]调用失败,异常信息:"+e, e);
+            throw new ServiceException("FileInfoService.listInfoByOwnerIdList", e);
         }
-        return fileIdInfoBaseDTOList;
+
     }
 
     /**

--
Gitblit v1.8.0