From d8a4d842d57c183322324f324396c33df7265479 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Sun, 08 Sep 2024 10:07:35 +0800
Subject: [PATCH] 综合查询

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java                     |   86 ++++++++++++
 dyh-service/dyh-sys/src/main/resources/config/application-dev.yml                                          |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeChatDTO.java               |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java |    5 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java                  |   17 ++
 dyh-service/dyh-base/pom.xml                                                                               |   12 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java       |   82 +++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml               |   76 ++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeExcelDTO.java              |   30 ++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePersonWeDTO.java                 |   29 ++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java                    |   54 +++++-
 11 files changed, 375 insertions(+), 20 deletions(-)

diff --git a/dyh-service/dyh-base/pom.xml b/dyh-service/dyh-base/pom.xml
index 08a6fdf..f766ca4 100644
--- a/dyh-service/dyh-base/pom.xml
+++ b/dyh-service/dyh-base/pom.xml
@@ -28,7 +28,8 @@
         <druid.version>1.1.10</druid.version>
         <json-lib.version>2.4</json-lib.version>
         <qrcode.version>1.1</qrcode.version>
-        <poi.version>3.9</poi.version>
+<!--        <poi.version>3.9</poi.version>-->
+        <poi.version>4.1.2</poi.version>
         <fastjson.version>1.2.83</fastjson.version>
         <baidu-sdk.version>4.2.0</baidu-sdk.version>
     </properties>
@@ -299,6 +300,15 @@
             <scope>test</scope>
         </dependency>
 
+        <!-- easyexcel begin-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.1.1</version>
+        </dependency>
+        <!-- easyexcel end-->
+
+
     </dependencies>
 
 </project>
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 1c6dddd..b67fbeb 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
@@ -5,22 +5,33 @@
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
 import cn.huge.base.config.CurrentUser;
+import cn.huge.module.cases.domain.dto.CaseInfoWeExcelDTO;
+import cn.huge.module.cases.domain.dto.CasePageDTO;
+import cn.huge.module.cases.domain.dto.CasePersonWeDTO;
 import cn.huge.module.cases.domain.dto.RegisterSaveDTO;
 import cn.huge.module.cases.domain.po.CaseInfo;
 import cn.huge.module.cases.service.CaseInfoService;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.cust.dto.CtUserDTO;
+import com.alibaba.excel.EasyExcel;
 import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 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.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -520,4 +531,75 @@
     }
 
 
+    /**
+     * 综合查询
+     * @url {ctx}/api/web/caseInfo/pageQueryAll
+     * @param page 页码
+     * @param size 每页数量
+     * @return Object
+     */
+    @GetMapping("/pageQueryAll")
+    public Object pageQueryAll(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+        try {
+            Map<String, Object> terms = getParameter();
+            Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time");
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            Page<CasePageDTO> caseInfoPage = service.pageQueryAll(pageRequest, terms);
+            return ReturnSucUtils.getRepInfo( "处理成功", caseInfoPage);
+        } catch (Exception e) {
+            log.error("Controller接口[CaseInfoWebController.pageQueryAll]请求异常:"+e, e);
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * 综合查询-导出
+     *
+     * @return Object
+     * @url {ctx}/api/web/caseInfo/exportQueryAll
+     */
+    @RequestMapping("/exportQueryAll")
+    public void exportQueryAll(HttpServletResponse response) {
+        try {
+            Map<String, Object> terms = getParameter();
+            Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time");
+            PageRequest pageRequest = PageRequest.of(0, 1000000, sort);
+            Page<CasePageDTO> caseInfoPage = service.pageQueryAll(pageRequest, terms);
+            List<CaseInfoWeExcelDTO> excelList = new ArrayList<>();
+            if(ObjectUtils.isNotEmpty(caseInfoPage.getContent())){
+                for (CasePageDTO casePageDTO : caseInfoPage.getContent()) {
+                    CaseInfoWeExcelDTO caseInfoWeExcelDTO = new CaseInfoWeExcelDTO();
+                    BeanUtils.copyProperties(casePageDTO,caseInfoWeExcelDTO);
+                    if(ObjectUtils.isNotEmpty(casePageDTO.getPlaintiffList())){
+                        StringBuffer sb = new StringBuffer();
+                        for (CasePersonWeDTO casePersonWeDTO : casePageDTO.getPlaintiffList()) {
+                            sb.append(casePersonWeDTO.getTrueName()).append(",");
+                        }
+                        if(ObjectUtils.isNotEmpty(sb)){
+                            caseInfoWeExcelDTO.setPlaintiffStr(sb.substring(0,sb.length()-1));
+                        }
+                    }
+                    if(ObjectUtils.isNotEmpty(casePageDTO.getDefendantList())){
+                        StringBuffer sb = new StringBuffer();
+                        for (CasePersonWeDTO casePersonWeDTO : casePageDTO.getDefendantList()) {
+                            sb.append(casePersonWeDTO.getTrueName()).append(",");
+                        }
+                        if(ObjectUtils.isNotEmpty(sb)){
+                            caseInfoWeExcelDTO.setDefendantStr(sb.substring(0,sb.length()-1));
+                        }
+                    }
+                    excelList.add(caseInfoWeExcelDTO);
+                }
+            }
+            String fileName = "综合查询.xlsx";
+            response.setCharacterEncoding("UTF-8");
+            response.setHeader("content-Type", "application/vnd.ms-excel;charset=UTF-8");
+            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
+            ServletOutputStream outputStream = response.getOutputStream();
+            EasyExcel.write(outputStream, CaseInfoWeExcelDTO.class).sheet("综合查询").doWrite(excelList);
+        } catch (Exception e) {
+            log.error("Controller接口[CaseInfoWebController.exportQueryAll]请求异常:"+e, e);
+        }
+
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java
index cd86856..d829d16 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java
@@ -5,9 +5,8 @@
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
 import cn.huge.base.config.CurrentUser;
-import cn.huge.module.cases.domain.dto.CaseInfoWeChatDTO;
+import cn.huge.module.cases.domain.dto.CaseInfoWechatDTO;
 import cn.huge.module.cases.domain.dto.RegisterSaveDTO;
-import cn.huge.module.cases.domain.po.CaseInfo;
 import cn.huge.module.cases.service.CaseInfoService;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import com.google.common.collect.Maps;
@@ -98,7 +97,7 @@
             Map<String, Object> terms = getParameter();
             Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
-            Page<CaseInfoWeChatDTO> caseInfoPage = service.pageQueryWechat(userId,pageRequest, terms);
+            Page<CaseInfoWechatDTO> caseInfoPage = service.pageQueryWechat(userId,pageRequest, terms);
             return ReturnSucUtils.getRepInfo( "处理成功", caseInfoPage);
         } catch (Exception e) {
             log.error("Controller接口[CaseInfoWechatController.pageCard]请求异常:"+e, e);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java
index 0ce7586..29f3b59 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java
@@ -1,6 +1,6 @@
 package cn.huge.module.cases.dao.mapper;
 
-import cn.huge.module.cases.domain.dto.CaseInfoWeChatDTO;
+import cn.huge.module.cases.domain.dto.CasePageDTO;
 import cn.huge.module.cases.domain.po.CaseInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
@@ -62,4 +62,19 @@
     */
     List<CaseInfo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
 
+    /**
+     * 按条件查询实体总数
+     * @param terms 查询条件集合
+     * @return long
+     */
+    long countTermsAll(@Param("terms") Map<String, Object> terms);
+
+    /**
+     * 按条件查询实体分页结果集
+     * @param page 分页对象
+     * @param terms 查询条件集合
+     * @return List<CaseInfo>
+     */
+    List<CasePageDTO> pageTermsAll(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
index 25b9fad..cb3b629 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -79,8 +79,26 @@
             <result property="createTime" column="create_time"/>
             <result property="updateTime" column="update_time"/>
     </resultMap>
+    <resultMap id="dataResult-all" type="cn.huge.module.cases.domain.dto.CasePageDTO">
+
+    </resultMap>
     <!-- 表 -->
     <sql id='table-name'>dyh_case_info</sql>
+    <sql id="column-part-all">
+        a.id,
+        a.status,
+        a.status_name,
+        a.canal,
+        a.canal_name,
+        a.case_level,
+        a.case_type,
+        a.case_type_name,
+        a.input_unit_id,
+        a.input_unit_name,
+        b.medi_result_name,
+        b.mediate_dept_id,
+        b.mediate_dept_name
+    </sql>
     <!-- 字段 -->
     <sql id="column-part">
         id,
@@ -219,6 +237,38 @@
             <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-all">
+        <if test="terms != null">
+            <if test="terms.status != null and terms.status !=''">
+                and a.status = #{terms.status}
+            </if>
+            <if test="terms.statusName != null and terms.statusName !=''">
+                and a.status_name = #{terms.statusName}
+            </if>
+            <if test="terms.canal != null and terms.canal !=''">
+                and a.canal = #{terms.canal}
+            </if>
+            <if test="terms.canalName != null and terms.canalName !=''">
+                and a.canal_name = #{terms.canalName}
+            </if>
+            <if test="terms.caseLevel != null and terms.caseLevel !=''">
+                and a.case_level = #{terms.caseLevel}
+            </if>
+            <if test="terms.caseType != null and terms.caseType !=''">
+                and a.case_type = #{terms.caseType}
+            </if>
+            <if test="terms.caseTypeName != null and terms.caseTypeName !=''">
+                and a.case_type_name = #{terms.caseTypeName}
+            </if>
+            <if test="terms.inputUnitId != null and terms.inputUnitId !=''">
+                and a.input_unit_id = #{terms.inputUnitId}
+            </if>
+            <if test="terms.inputUnitName != null and terms.inputUnitName !=''">
+                and a.input_unit_name = #{terms.inputUnitName}
+            </if>
+        </if>
     </sql>
     <!-- 条件 -->
     <sql id="where-part">
@@ -512,4 +562,30 @@
     </select>
 
 
+    <!--  根据条件统计  -->
+    <select id="countTermsAll" resultType="java.lang.Long">
+        select
+        COUNT(1)
+        from
+        dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.case_id
+        <include refid="where-part-all"/>
+    </select>
+    <!--  根据条件分页查询  -->
+    <select id="pageTermsAll" resultMap="dataResult-all">
+        SELECT
+        <include refid="column-part-all"/>
+        FROM
+        dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.case_id
+        <include refid="where-part-all"/>
+        <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(a.create_time), a.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/cases/domain/dto/CaseInfoWeChatDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeChatDTO.java
index 84e6e92..30ab55a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeChatDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeChatDTO.java
@@ -10,7 +10,7 @@
  * @create 2024-09-05 10:17
  */
 @Data
-public class CaseInfoWeChatDTO {
+public class CaseInfoWechatDTO {
     /**
      * 主键编号
      */
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeExcelDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeExcelDTO.java
new file mode 100644
index 0000000..3e29169
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeExcelDTO.java
@@ -0,0 +1,30 @@
+package cn.huge.module.cases.domain.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * @author zhouxiantao
+ * @create 2024-09-07 15:15
+ */
+@Data
+public class CaseInfoWeExcelDTO {
+    @ExcelProperty(value="事项状态")
+    private String statusName;
+    @ExcelProperty(value="事项来源")
+    private String canalName;
+    @ExcelProperty(value="事项等级")
+    private Integer caseLevel;
+    @ExcelProperty(value="纠纷类型")
+    private String caseTypeName;
+    @ExcelProperty(value="调解结果")
+    private String mediResultName;
+    @ExcelProperty(value="实际调解部门")
+    private String mediateDeptName;
+    @ExcelProperty(value="登记组织")
+    private String inputUnitName;
+    @ExcelProperty(value="申请人")
+    private String plaintiffStr;
+    @ExcelProperty(value="被申请人")
+    private String defendantStr;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
new file mode 100644
index 0000000..a77bca0
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
@@ -0,0 +1,86 @@
+package cn.huge.module.cases.domain.dto;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhouxiantao
+ * @create 2024-09-06 14:35
+ */
+@Data
+public class CasePageDTO {
+    /**
+     * 主键编号
+     */
+    private String id;
+    /**
+     * 事项状态,1:待签收,2:待受理,3:办理中,4:结案审核,5:待评价,6:已归档
+     */
+    private Integer status;
+
+    /**
+     * 事项状态名称
+     */
+    private String statusName;
+    /**
+     * 事项来源
+     */
+    private String canal;
+
+    /**
+     * 事项来源名称
+     */
+    private String canalName;
+    /**
+     * 事项等级
+     */
+    private Integer caseLevel;
+    /**
+     * 纠纷类型
+     */
+    private String caseType;
+
+    /**
+     * 纠纷类型名称
+     */
+    private String caseTypeName;
+
+    /**
+     * 调解结果
+     */
+    private String mediResult;
+
+    /**
+     * 调解结果名称
+     */
+    private String mediResultName;
+    /**
+     * 实际调解部门编号
+     */
+    private String mediateDeptId;
+
+    /**
+     * 实际调解部门名称
+     */
+    private String mediateDeptName;
+    /**
+     * 登记组织编号
+     */
+    private String inputUnitId;
+
+    /**
+     * 登记组织名称
+     */
+    private String inputUnitName;
+
+    /**
+     * 申请人集合
+     * */
+    private List<CasePersonWeDTO> plaintiffList;
+    /**
+     * 被申请人集合
+     * */
+    private List<CasePersonWeDTO> defendantList;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePersonWeDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePersonWeDTO.java
new file mode 100644
index 0000000..3159993
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePersonWeDTO.java
@@ -0,0 +1,29 @@
+package cn.huge.module.cases.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @author zhouxiantao
+ * @create 2024-09-05 11:36
+ */
+@Data
+public class CasePersonWeDTO {
+    /**
+     * 姓名/企业/机构名称
+     */
+    private String trueName;
+
+    /**
+     * 联系方式
+     */
+    private String mobile;
+    /**
+     * 当事人地位
+     */
+    private String perType;
+
+    /**
+     * 当事人地位名称
+     */
+    private String perTypeName;
+}
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 fb0aa04..29d2ee5 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
@@ -4,15 +4,11 @@
 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.cases.domain.dto.CaseInfoDTO;
+import cn.huge.module.cases.domain.dto.*;
 
-import cn.huge.module.cases.domain.dto.CaseInfoWeChatDTO;
-import cn.huge.module.cases.domain.dto.CasePersonWechatDTO;
-import cn.huge.module.cases.domain.dto.RegisterSaveDTO;
 import cn.huge.module.cases.domain.po.CaseAgent;
 import cn.huge.module.cases.domain.po.CaseInfoUnfold;
 import cn.huge.module.cases.domain.po.CasePerson;
-import cn.huge.module.client.api.SysClient;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
@@ -26,10 +22,8 @@
 import cn.huge.module.draft.service.CasedraftInfoService;
 import cn.huge.module.mediate.dto.WechatBindCaseDTO;
 import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
-import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.collect.Maps;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -703,13 +697,13 @@
     }
 
     /**
-     * 按条件分页查询
+     * 按条件分页查询-小程序查询
      * @param page 分页对象
      * @param terms 条件
      * @return Page
      */
-    public Page<CaseInfoWeChatDTO> pageQueryWechat(String userId,PageRequest page, Map<String, Object> terms){
-        List<CaseInfoWeChatDTO> list = new ArrayList<>();
+    public Page<CaseInfoWechatDTO> pageQueryWechat(String userId, PageRequest page, Map<String, Object> terms){
+        List<CaseInfoWechatDTO> list = new ArrayList<>();
         String personType = terms.get("personType")+"";
         if(ObjectUtils.isEmpty(personType)){
             throw new RuntimeException("请选择人员类型");
@@ -724,7 +718,7 @@
         }
         List<CasePerson> casePersonList = personService.list(personWrapper);
         if(ObjectUtils.isEmpty(casePersonList)){
-            return new PageImpl<CaseInfoWeChatDTO>(list, page, 0);
+            return new PageImpl<CaseInfoWechatDTO>(list, page, 0);
         }
         List<String> ids = casePersonList.stream().map(CasePerson::getCaseId).collect(Collectors.toList());
         terms.put("idList",ids);
@@ -732,7 +726,7 @@
         List<CaseInfo> content = mapper.pageTerms(page, terms);
         if(ObjectUtils.isNotEmpty(content)){
             for(CaseInfo caseInfo: content){
-                CaseInfoWeChatDTO caseInfoWeChatDTO = new CaseInfoWeChatDTO();
+                CaseInfoWechatDTO caseInfoWeChatDTO = new CaseInfoWechatDTO();
                 BeanUtils.copyProperties(caseInfo, caseInfoWeChatDTO);
                 if(ObjectUtils.isNotEmpty(caseInfo.getProcess()) && caseInfo.getProcess().equals(1) || caseInfo.getProcess().equals(2)){
                     caseInfoWeChatDTO.setProcessStatus(1);
@@ -768,6 +762,40 @@
                 list.add(caseInfoWeChatDTO);
             }
         }
-        return new PageImpl<CaseInfoWeChatDTO>(list, page, total);
+        return new PageImpl<CaseInfoWechatDTO>(list, page, total);
+    }
+
+    /**
+     * 按条件分页查询-综合查询
+     * @param page 分页对象
+     * @param terms 条件
+     * @return Page
+     */
+    public Page<CasePageDTO> pageQueryAll(PageRequest page, Map<String, Object> terms){
+        long total = mapper.countTermsAll(terms);
+        List<CasePageDTO> content = mapper.pageTermsAll(page, terms);
+        if(ObjectUtils.isNotEmpty(content)){
+            for (CasePageDTO casePageDTO : content) {
+                QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>();
+                personWrapper1.eq("case_id", casePageDTO.getId());
+                List<CasePerson> casePersonList1 = personService.list(personWrapper1);
+                //申请人集合
+                List<CasePersonWeDTO> plaintiffList = new ArrayList<>();
+                //被申请人集合
+                List<CasePersonWeDTO> defendantList = new ArrayList<>();
+                for (CasePerson casePerson : casePersonList1) {
+                    CasePersonWeDTO casePersonWechatDTO = new CasePersonWeDTO();
+                    BeanUtils.copyProperties(casePerson, casePersonWechatDTO);
+                    if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
+                        plaintiffList.add(casePersonWechatDTO);
+                    }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
+                        defendantList.add(casePersonWechatDTO);
+                    }
+                }
+                casePageDTO.setDefendantList(defendantList);
+                casePageDTO.setPlaintiffList(plaintiffList);
+            }
+        }
+        return new PageImpl<CasePageDTO>(content, page, total);
     }
 }
diff --git a/dyh-service/dyh-sys/src/main/resources/config/application-dev.yml b/dyh-service/dyh-sys/src/main/resources/config/application-dev.yml
index 28ca250..8060a9d 100644
--- a/dyh-service/dyh-sys/src/main/resources/config/application-dev.yml
+++ b/dyh-service/dyh-sys/src/main/resources/config/application-dev.yml
@@ -113,4 +113,4 @@
   host_url: https://iat-api.xfyun.cn/v2/iat
   appid: 5c7b00be
   api_secret: MGM5Mjg2ODQzYWZmNGE2YjlhOGZlMTJj
-  api_key: 9e0a80ed995daf5b194f06ca336080c1
\ No newline at end of file
+  api_key: 9e0a80ed995daf5b194f06ca336080c1

--
Gitblit v1.8.0