forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-10-21 b1c3a007984187ccd4df2854b320fa5e82c291f5
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -5,15 +5,14 @@
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.bo.CasePersonCountBO;
import cn.huge.module.cases.domain.dto.*;
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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -82,9 +81,68 @@
            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 queRoad = request.getParameter("queRoad");
        if (StringUtils.isNotBlank(queRoad)){
            terms.put("areaType", "2");
        }
        // 实际调解组织编号
        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;
    }
@@ -370,7 +428,7 @@
        if (StringUtils.isNotBlank(inputWay)){
            terms.put("inputWay", inputWay);
        }
        // 事项状态,1:待分派,2:待签收,3:待受理,:4:办理中,5:结案审核,6:待评价,7:已归档,8:不予受理
        // 事项状态,1:待分派,2:待签收,3:待受理,4:化解中,5:结案审核,6:待评价,7:已归档,8:不予受理
        String status = request.getParameter("status");
        if (StringUtils.isNotBlank(status)){
            terms.put("status", status);
@@ -390,7 +448,7 @@
        if (StringUtils.isNotBlank(processName)){
            terms.put("processName", processName);
        }
        // 对外展示事项进度,1:待受理,2:办理中,3:已结案,4:不予受理
        // 对外展示事项进度,1:待受理,2:化解中,3:已结案,4:不予受理
        String infoProcess = request.getParameter("process");
        if (StringUtils.isNotBlank(infoProcess)){
            terms.put("infoProcess", infoProcess);
@@ -399,6 +457,11 @@
        String infoProcessName = request.getParameter("infoProcessName");
        if (StringUtils.isNotBlank(infoProcessName)){
            terms.put("infoProcessName", infoProcessName);
        }
        // 小程序是否可见,0:不可见,1:可见
        String partyShow = request.getParameter("partyShow");
        if (StringUtils.isNotBlank(partyShow)){
            terms.put("partyShow", partyShow);
        }
        // 意向调解组织编号
        String wantUnitId = request.getParameter("wantUnitId");
@@ -586,7 +649,37 @@
    public Object pageQueryAll(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
        try {
            Map<String, Object> terms = getParameterAll();
            Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time");
            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);
@@ -608,6 +701,7 @@
            Map<String, Object> terms = getParameterAll();
            Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time");
            PageRequest pageRequest = PageRequest.of(0, 1000000, sort);
            terms.put("report","report");
            Page<CasePageDTO> caseInfoPage = service.pageQueryAll(pageRequest, terms);
            List<CaseInfoWeExcelDTO> excelList = new ArrayList<>();
            if(ObjectUtils.isNotEmpty(caseInfoPage.getContent())){
@@ -615,24 +709,8 @@
                    CaseInfoWeExcelDTO caseInfoWeExcelDTO = new CaseInfoWeExcelDTO();
                    BeanUtils.copyProperties(casePageDTO,caseInfoWeExcelDTO);
                    caseInfoWeExcelDTO.setCloseTime(DateUtils.DateToString(casePageDTO.getCloseTime(), DateUtils.YYYY_MM_DD));
                    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));
                        }
                    }
                    caseInfoWeExcelDTO.setCreateTime(DateUtils.DateToString(casePageDTO.getCreateTime(), DateUtils.YYYY_MM_DD));
                    caseInfoWeExcelDTO.setCaseTypeName(casePageDTO.getCaseTypeFirstName()+"/"+casePageDTO.getCaseTypeName());
                    excelList.add(caseInfoWeExcelDTO);
                }
            }
@@ -649,19 +727,121 @@
    }
    /**
     * 综合查询
     * 解纷态势
     * @url {ctx}/api/web/caseInfo/statistics
     * @return Object
     * @CurrentUser String userId
     */
    @GetMapping("/statistics")
    public Object statistics() {
    public Object statistics(@CurrentUser String userId) {
        try {
//            String userId = "2409240631181052";
            Map<String, Object> terms = getParameterAll();
            return ReturnSucUtils.getRepInfo( "处理成功", service.statistics(terms));
            return ReturnSucUtils.getRepInfo( "处理成功", service.statistics(terms,userId));
        } catch (Exception e) {
            log.error("Controller接口[CaseInfoWebController.statistics]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 解纷态势-纠纷类型
     * @url {ctx}/api/web/caseInfo/statisticsCaseType
     * @return Object
     * @CurrentUser String userId
     */
    @GetMapping("/statisticsCaseType")
    public Object statisticsCaseType(@CurrentUser String userId) {
        try {
            Map<String, Object> terms = getParameterAll();
            return ReturnSucUtils.getRepInfo( "处理成功", service.statisticsCaseType(terms,userId));
        } catch (Exception e) {
            log.error("Controller接口[CaseInfoWebController.statistics]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 小程序是否可见修改修改
     * @url {ctx}/api/web/caseInfo/updateVisibleStatus
     * @return Object
     * @CurrentUser String userId
     */
    @PostMapping("/updateVisibleStatus")
    public Object updateVisibleStatus(@RequestBody CaseInfo caseInfo) {
        try {
            service.updateCaseInfo(caseInfo);
            return ReturnSucUtils.getRepInfo();
        } catch (Exception e) {
            log.error("Controller接口[CaseInfoWebController.statistics]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 个人查询
     * @url {ctx}/api/web/caseInfo/pagePerson
     * @param page 页码
     * @param size 每页数量
     * @return Object
     */
    @GetMapping("/pagePerson")
    public Object pagePerson(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @RequestParam(value = "certiNo") String certiNo) {
        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.pagePerson(pageRequest, terms,certiNo);
            return ReturnSucUtils.getRepInfo( "处理成功", caseInfoPage);
        } catch (Exception e) {
            log.error("Controller接口[CaseInfoWebController.pageQueryAll]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 个人查询统计
     * @url {ctx}/api/web/caseInfo/countPerson
     * @return Object
     */
    @GetMapping("/countPerson")
    public Object countPerson(@RequestParam(value = "certiNo") String certiNo) {
        try {
            CasePersonCountBO casePersonCountBO = service.countPerson(certiNo);
            return ReturnSucUtils.getRepInfo( "处理成功", casePersonCountBO);
        } catch (Exception e) {
            log.error("Controller接口[CaseInfoWebController.pageQueryAll]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
}