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/controller/web/CaseInfoWebController.java |   82 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)

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);
+        }
+
+    }
 }

--
Gitblit v1.8.0