From b311ca2f01e9602c1bf8caab04b4d641b314e341 Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Sun, 29 Sep 2024 12:48:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/gzdyh_test' into gzdyh_test --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 216 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 1c6dddd..4a29820 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,97 @@ @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 mediateUnitName = request.getParameter("mediateUnitName"); + if (StringUtils.isNotBlank(mediateUnitName)){ + terms.put("mediateUnitName", mediateUnitName); + } + // 配合组织,多个用,隔开 + String assistUnitName = request.getParameter("assistUnitName"); + if (StringUtils.isNotBlank(assistUnitName)){ + terms.put("assistUnitName", assistUnitName); + } + // 配合组织,多个用,隔开 + String evaluateGrade = request.getParameter("evaluateGrade"); + if (StringUtils.isNotBlank(evaluateGrade)){ + terms.put("evaluateGrade", evaluateGrade); + } + // 配合组织,多个用,隔开 + String mediResult = request.getParameter("mediResult"); + if (StringUtils.isNotBlank(mediResult)){ + terms.put("mediResult", mediResult); + } + 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 +427,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 +446,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"); @@ -520,4 +632,107 @@ } + /** + * 综合查询 + * @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