From dfa813134c05b718c039c432f0fa7be3cc118fd3 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Wed, 25 Sep 2024 00:34:47 +0800
Subject: [PATCH] 综合查询-排序
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java | 218 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 217 insertions(+), 1 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 3cc3009..9ce80dc 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;
@@ -43,6 +54,81 @@
@Autowired
private CaseInfoService service;
+
+ private Map<String,Object> getParameterAll() {
+ Map<String, Object> terms = getParameter();
+// // 来访时间
+ String visitTimeStart = request.getParameter("visitTimeStart");
+ String visitTimeEnd = request.getParameter("visitTimeEnd");
+ if(StringUtils.isNotBlank(visitTimeStart) && StringUtils.isNotBlank(visitTimeEnd)) {
+ terms.put("visitTimeStart", visitTimeStart + " 00:00:00");
+ terms.put("visitTimeEnd", visitTimeEnd + " 23:59:59");
+ }
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart+ " 00:00:00");
+ terms.put("createEnd", createEnd+ " 23:59:59");
+ }
+ String closeStart = request.getParameter("closeStart");
+ String closeEnd = request.getParameter("closeEnd");
+ if(StringUtils.isNotBlank(closeStart) && StringUtils.isNotBlank(closeEnd)) {
+ terms.put("createStart", closeStart+ " 00:00:00");
+ terms.put("createEnd", closeEnd+ " 23:59:59");
+ }
+ String fileStart = request.getParameter("fileStart");
+ String fileEnd = request.getParameter("fileEnd");
+ if(StringUtils.isNotBlank(fileStart) && StringUtils.isNotBlank(fileEnd)) {
+ terms.put("createStart", fileStart+ " 00:00:00");
+ terms.put("createEnd", fileEnd+ " 23:59:59");
+ }
+ String areaType = request.getParameter("areaType");
+ if (StringUtils.isNotBlank(areaType)){
+ terms.put("areaType", areaType);
+ }
+ // 实际调解组织编号
+ String mediateUnitId = request.getParameter("mediateUnitId");
+ if (StringUtils.isNotBlank(mediateUnitId)){
+ terms.put("mediateUnitId", mediateUnitId);
+ }
+ // 配合组织,多个用,隔开
+ String assistUnitId = request.getParameter("assistUnitId");
+ if (StringUtils.isNotBlank(assistUnitId)){
+ terms.put("assistUnitId", assistUnitId);
+ }
+ // 配合组织,多个用,隔开
+ String evaluateGrade = request.getParameter("evaluateGrade");
+ if (StringUtils.isNotBlank(evaluateGrade)){
+ terms.put("evaluateGrade", evaluateGrade);
+ }
+ String peopleNum = request.getParameter("peopleNum");
+ if (StringUtils.isNotBlank(peopleNum)){
+ String[] split = peopleNum.split("-");
+ String number = split[0];
+ if(number.equals("0") && split.length==1){
+ terms.put("peopleNumEnd", split[0]);
+ }else{
+ terms.put("peopleNumStart", split[0]);
+ if(split.length>1){
+ terms.put("peopleNumEnd", split[1]);
+ }
+ }
+ }
+ String amount = request.getParameter("amount");
+ if (StringUtils.isNotBlank(amount)){
+ String[] split = amount.split("-");
+ String number = split[0];
+ if(number.equals("0") && split.length==1){
+ terms.put("amountEnd", split[0]);
+ }else{
+ terms.put("amountStart", split[0]);
+ if(split.length>1){
+ terms.put("amountEnd", split[1]);
+ }
+ }
+ }
+ return terms;
+ }
/**
* 获取请求URL参数
@@ -325,7 +411,7 @@
if (StringUtils.isNotBlank(inputWay)){
terms.put("inputWay", inputWay);
}
- // 事项状态,1:待签收,2:待受理,3:办理中,4:结案审核,5:待评价,6:已归档
+ // 事项状态,1:待分派,2:待签收,3:待受理,4:化解中,5:结案审核,6:待评价,7:已归档,8:不予受理
String status = request.getParameter("status");
if (StringUtils.isNotBlank(status)){
terms.put("status", status);
@@ -344,6 +430,16 @@
String processName = request.getParameter("processName");
if (StringUtils.isNotBlank(processName)){
terms.put("processName", processName);
+ }
+ // 对外展示事项进度,1:待受理,2:化解中,3:已结案,4:不予受理
+ String infoProcess = request.getParameter("process");
+ if (StringUtils.isNotBlank(infoProcess)){
+ terms.put("infoProcess", infoProcess);
+ }
+ // 对外展示事项进度
+ String infoProcessName = request.getParameter("infoProcessName");
+ if (StringUtils.isNotBlank(infoProcessName)){
+ terms.put("infoProcessName", infoProcessName);
}
// 意向调解组织编号
String wantUnitId = request.getParameter("wantUnitId");
@@ -503,4 +599,124 @@
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());
+ }
+ }
+
+
+ /**
+ * 综合查询
+ * @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 = getParameterAll();
+ Sort sort = null;
+ String sortName = null;
+ String sortColmnStr = request.getParameter("sortColmn");
+ String sortTypeStr = request.getParameter("sortType");
+ int sortColmn = 1;
+ int sortType = 1;
+ if (StringUtils.isNotBlank(sortColmnStr)) {
+ sortColmn = Integer.valueOf(sortColmnStr);
+ }
+ if (StringUtils.isNotBlank(sortTypeStr)) {
+ sortType = Integer.valueOf(sortTypeStr);
+ }
+ switch (sortColmn) {
+ case 1:
+ sortName = "a.create_time";
+ break;
+ case 2:
+ sortName = "b.close_time";
+ break;
+ }
+ switch (sortType) {
+ case 1:
+ sort = Sort.by(Sort.Direction.ASC, sortName);
+ break;
+ case 2:
+ sort = Sort.by(Sort.Direction.DESC, sortName);
+ break;
+ }
+ if (ObjectUtils.isEmpty(sort)) {
+ sort = Sort.by(Sort.Direction.DESC, "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 = getParameterAll();
+ 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);
+ caseInfoWeExcelDTO.setCloseTime(DateUtils.DateToString(casePageDTO.getCloseTime(), DateUtils.YYYY_MM_DD));
+ caseInfoWeExcelDTO.setCreateTime(DateUtils.DateToString(casePageDTO.getCreateTime(), DateUtils.YYYY_MM_DD));
+ caseInfoWeExcelDTO.setCaseTypeName(casePageDTO.getCaseTypeFirstName()+"/"+casePageDTO.getCaseTypeName());
+ 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);
+ }
+
+ }
+
+ /**
+ * 综合查询
+ * @url {ctx}/api/web/caseInfo/statistics
+ * @return Object
+ * @CurrentUser String userId
+ */
+ @GetMapping("/statistics")
+ public Object statistics() {
+ try {
+ Map<String, Object> terms = getParameterAll();
+ return ReturnSucUtils.getRepInfo( "处理成功", service.statistics(terms));
+ } catch (Exception e) {
+ log.error("Controller接口[CaseInfoWebController.statistics]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
}
--
Gitblit v1.8.0