forked from gzzfw/backEnd/gz-dyh

wangwh
2024-09-13 99bb79a7ceac1107d2bf65df29e149810bf2bbb7
申请记录接口
修改流程相关的接口
1 files added
5 files modified
327 ■■■■■ changed files
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java 16 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java 168 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java 14 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/SortUtilDTO.java 21 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java 29 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java 79 ●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
@@ -388,6 +388,22 @@
    }
    /**
     * 联合处置申请-选择组织
     * @url {ctx}/api/web/ctUnit/unitChoose
     * @param userId 组织编号
     * @return Object
     */
    @GetMapping("/assistApplyUnitChoose")
    public Object assistApplyUnitChoose(@CurrentUser String userId) {
        try {
            List<SelectTermDTO> unitSelectTerms = service.assistApplyUnitChoose(userId);
            return ReturnSucUtils.getRepInfo(unitSelectTerms);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo(e.getMessage());
        }
    }
    /**
     * web端任务处理-上报-查询上报的目标组织
     * @url {ctx}/api/web/ctUnit/getAppearToUnit
     * @return Object
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -472,6 +472,174 @@
    }
    /**
     * 交办-选择组织
     * @param userId
     * @return
     */
    public List<SelectTermDTO> assistApplyUnitChoose(String userId) {
        // 获取当前登录用户
        CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
        // 获取当前登录用户的部门
        CtUnit loginUnit = mapper.selectById(loginUser.getUnitId());
        QueryWrapper<CtUnit> ctUnitQueryWrapper1 = new QueryWrapper<>();
        ctUnitQueryWrapper1.eq("id", loginUnit.getParentId());
        CtUnit superiorUnit = mapper.selectOne(ctUnitQueryWrapper1);
        // 市级
        if (UserBaseConsts.UNIT_GRADE_1 == loginUnit.getUnitGrade()){
            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            // 定义市直部门数组
            List<SelectTermDTO> szbmList = new ArrayList<>();
            // 定义区综治中心数组
            List<SelectTermDTO> qzzzxList = new ArrayList<>();
            for (CtUnit ctUnit: ctUnitList){
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctUnit.getId());
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
                    szbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
                    qzzzxList.add(unitSelectTerm);
                }
            }
            // 封装返回数据
            List<SelectTermDTO> result = new ArrayList<>();
            // 创建第一级
            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
            firstSelectTermDTO.setValue(loginUser.getUnitId());
            firstSelectTermDTO.setLabel(loginUser.getUnitName());
            firstSelectTermDTO.setCheckable(false);
            List<SelectTermDTO> firstChildren = new ArrayList<>();
            // 市直部门
            SelectTermDTO szbmSelectTermDTO = new SelectTermDTO();
            szbmSelectTermDTO.setValue("szbm");
            szbmSelectTermDTO.setLabel("市直部门");
            szbmSelectTermDTO.setCheckable(false);
            szbmSelectTermDTO.setChildren(szbmList);
            firstChildren.add(szbmSelectTermDTO);
            // 区综治中心
            SelectTermDTO qzzzxSelectTermDTO = new SelectTermDTO();
            qzzzxSelectTermDTO.setValue("qzzzx");
            qzzzxSelectTermDTO.setLabel("区综治中心");
            qzzzxSelectTermDTO.setCheckable(false);
            qzzzxSelectTermDTO.setChildren(qzzzxList);
            firstChildren.add(qzzzxSelectTermDTO);
            // 第一级子级
            firstSelectTermDTO.setChildren(firstChildren);
            result.add(firstSelectTermDTO);
            return result;
        }else if (UserBaseConsts.UNIT_GRADE_2 == loginUnit.getUnitGrade()){
            // 区级
            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            // 定义市区直部门数组
            List<SelectTermDTO> qzbmList = new ArrayList<>();
            // 定义镇街综治中心数组
            List<SelectTermDTO> zjzzzxList = new ArrayList<>();
            for (CtUnit ctUnit: ctUnitList){
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctUnit.getId());
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
                    qzbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_3 == ctUnit.getUnitType()){
                    zjzzzxList.add(unitSelectTerm);
                }
            }
            // 封装返回数据
            List<SelectTermDTO> result = new ArrayList<>();
            // 创建第一级
            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
            firstSelectTermDTO.setValue(loginUser.getUnitId());
            firstSelectTermDTO.setLabel(loginUser.getUnitName());
            firstSelectTermDTO.setCheckable(false);
            List<SelectTermDTO> firstChildren = new ArrayList<>();
            // 市直部门
            SelectTermDTO qzzbmSelectTermDTO = new SelectTermDTO();
            qzzbmSelectTermDTO.setValue("qzbm");
            qzzbmSelectTermDTO.setLabel("区直部门");
            qzzbmSelectTermDTO.setCheckable(false);
            qzzbmSelectTermDTO.setChildren(qzbmList);
            firstChildren.add(qzzbmSelectTermDTO);
            // 区综治中心
            SelectTermDTO zjzzzxSelectTermDTO = new SelectTermDTO();
            zjzzzxSelectTermDTO.setValue("zjzzzx");
            zjzzzxSelectTermDTO.setLabel("街(镇)综治中心");
            zjzzzxSelectTermDTO.setCheckable(false);
            zjzzzxSelectTermDTO.setChildren(zjzzzxList);
            firstChildren.add(zjzzzxSelectTermDTO);
            // 第一级子级
            firstSelectTermDTO.setChildren(firstChildren);
            result.add(firstSelectTermDTO);
            return result;
        }else if (UserBaseConsts.UNIT_GRADE_3 == loginUnit.getUnitGrade()){
            // 镇街
            // 查询镇街部门数组
            QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
            ctDeptQueryWrapper.eq("unit_id", loginUnit.getId());
            List<CtDept> deptList = ctDeptService.list(ctDeptQueryWrapper);
            List<SelectTermDTO> zjbmList = new ArrayList<>();
            for (CtDept ctDept: deptList){
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctDept.getId());
                unitSelectTerm.setLabel(ctDept.getName());
                unitSelectTerm.setParentId(loginUnit.getId());
                unitSelectTerm.setCheckable(true);
                zjbmList.add(unitSelectTerm);
            }
            // 查询村社数组
            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            List<SelectTermDTO> csList = new ArrayList<>();
            for (CtUnit ctUnit: ctUnitList){
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctUnit.getId());
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                csList.add(unitSelectTerm);
            }
            // 封装返回数据
            List<SelectTermDTO> result = new ArrayList<>();
            // 创建第一级
            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
            firstSelectTermDTO.setValue(loginUser.getUnitId());
            firstSelectTermDTO.setLabel(loginUser.getUnitName());
            firstSelectTermDTO.setCheckable(false);
            List<SelectTermDTO> firstChildren = new ArrayList<>();
            // 村社
            SelectTermDTO zjbmSelectTermDTO = new SelectTermDTO();
            zjbmSelectTermDTO.setValue("zjbm");
            zjbmSelectTermDTO.setLabel("街(镇)部门");
            zjbmSelectTermDTO.setCheckable(false);
            zjbmSelectTermDTO.setChildren(zjbmList);
            firstChildren.add(zjbmSelectTermDTO);
            // 区综治中心
            SelectTermDTO csSelectTermDTO = new SelectTermDTO();
            csSelectTermDTO.setValue("cs");
            csSelectTermDTO.setLabel("村(社)");
            csSelectTermDTO.setCheckable(false);
            csSelectTermDTO.setChildren(csList);
            firstChildren.add(csSelectTermDTO);
            // 第一级子级
            firstSelectTermDTO.setChildren(firstChildren);
            result.add(firstSelectTermDTO);
            return result;
        }else {
            return new ArrayList<>();
        }
    }
    /**
     * 获取上级综治中心
     * @param unitId 当前单位编号
     * @return
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -737,4 +737,18 @@
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * web端-申请记录
     * @url {ctx}/api/web/caseTask/listMyApplyRecord
     * @return
     */
    @GetMapping("/listMyApplyRecord")
    public Object listMyApplyRecord(@RequestParam(value = "caseId") String caseId) {
        try {
            return ReturnSucUtils.getRepInfo(service.listMyApplyRecord(caseId));
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/SortUtilDTO.java
New file
@@ -0,0 +1,21 @@
package cn.huge.module.cases.domain.dto;
import lombok.Data;
import java.util.Date;
@Data
public class SortUtilDTO {
    /**
     * id(用于对比数据)
     */
    private Object object;
    /**
     * 时间(用于排序)
     */
    private Date date;
    /**
     * 类型(用于前端识别)
     */
    private String type;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
@@ -189,7 +189,7 @@
    }
    /**
     * 审核联合处置申请
     * 审核联合处置审核
     * @param caseAssistApply 实体对象
     */
    public void reviewCaseAssistApply(CaseAssistApply caseAssistApply, String userId){
@@ -260,18 +260,23 @@
     * @return long
     */
    public CaseAssistApply caseAssistApplyByCaseId(String caseId){
        QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
        caseAssistApplyQueryWrapper.eq("case_id", caseId).eq("apply_status", 0)
                .orderByDesc("create_time");
        CaseAssistApply caseAssistApply = mapper.selectOne(caseAssistApplyQueryWrapper);
        Map<String, Object> terms = new HashMap<>();
        terms.put("mainId", caseId);
        terms.put("ownerIds", "'" + caseAssistApply.getId() + "'");
        List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms);
        if(CollectionUtils.isNotEmpty(fileIdInfoBaseDTOList)){
            caseAssistApply.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList());
        try {
            QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
            caseAssistApplyQueryWrapper.eq("case_id", caseId).eq("apply_status", 0)
                    .orderByDesc("create_time");
            CaseAssistApply caseAssistApply = mapper.selectOne(caseAssistApplyQueryWrapper);
            Map<String, Object> terms = new HashMap<>();
            terms.put("mainId", caseId);
            terms.put("ownerIds", "'" + caseAssistApply.getId() + "'");
            List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms);
            if (CollectionUtils.isNotEmpty(fileIdInfoBaseDTOList)) {
                caseAssistApply.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList());
            }
            return caseAssistApply;
        }catch(Exception e ){
            log.error("[CaseAssistApplyService.caseAssistApplyByCaseId]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseAssistApplyService.caseAssistApplyByCaseId", e);
        }
        return caseAssistApply;
    }
    /**
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -11,7 +11,6 @@
import cn.huge.module.cases.domain.dto.TabButtonInfoDTO;
import cn.huge.module.cases.domain.po.CaseAssistApply;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.cases.domain.dto.*;
import cn.huge.module.cases.domain.po.*;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.DispClientImpl;
@@ -25,7 +24,6 @@
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.mediate.constant.AuditBaseConsts;
import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
import cn.huge.module.mediate.constant.CaseBaseConsts;
import cn.huge.module.disp.constant.DispBaseConstsEnum;
import cn.huge.module.disp.dto.CaseDispBaseDTO;
import cn.huge.module.disp.dto.DispCaseBaseDTO;
@@ -43,7 +41,6 @@
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Page;
@@ -51,8 +48,6 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@@ -722,6 +717,70 @@
            throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
        }
    }
    /**
     * 首页-待审核分页查询
     * @param caseId 事项编号
     * @return Page
     */
    public List<Object> listMyApplyRecord(String caseId){
        try {
            QueryWrapper<CaseReturn> caseReturnQueryWrapper = new QueryWrapper<>();
            caseReturnQueryWrapper.eq("case_id", caseId);
            List<CaseReturn>caseReturnList = caseReturnService.list(caseReturnQueryWrapper);
            QueryWrapper<CaseAppear> caseAppearQueryWrapper = new QueryWrapper<>();
            caseAppearQueryWrapper.eq("case_id", caseId);
            List<CaseAppear>caseAppearList = caseAppearService.list(caseAppearQueryWrapper);
            QueryWrapper<CaseWindupApply> caseWindupApplyQueryWrapper = new QueryWrapper<>();
            caseWindupApplyQueryWrapper.eq("case_id", caseId);
            List<CaseWindupApply>caseWindupApplyList = caseWindupApplyService.list(caseWindupApplyQueryWrapper);
            QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
            caseAssistApplyQueryWrapper.eq("case_id", caseId);
            List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
            List<SortUtilDTO> sortUtilDTOList = new ArrayList<>();
            for(CaseReturn caseReturn: caseReturnList){
                SortUtilDTO sortUtilDTO = new SortUtilDTO();
                sortUtilDTO.setObject(caseReturn);
                sortUtilDTO.setDate(caseReturn.getCreateTime());
                sortUtilDTO.setType("回退申请");
                sortUtilDTOList.add(sortUtilDTO);
            }
            for(CaseAppear caseAppear: caseAppearList){
                SortUtilDTO sortUtilDTO = new SortUtilDTO();
                sortUtilDTO.setObject(caseAppear);
                sortUtilDTO.setDate(caseAppear.getCreateTime());
                sortUtilDTO.setType("上报申请");
                sortUtilDTOList.add(sortUtilDTO);
            }
            for(CaseWindupApply caseWindupApply: caseWindupApplyList){
                SortUtilDTO sortUtilDTO = new SortUtilDTO();
                sortUtilDTO.setObject(caseWindupApply);
                sortUtilDTO.setDate(caseWindupApply.getCreateTime());
                sortUtilDTO.setType("结案申请");
                sortUtilDTOList.add(sortUtilDTO);
            }
            for(CaseAssistApply caseAssistApply: caseAssistApplyList){
                SortUtilDTO sortUtilDTO = new SortUtilDTO();
                sortUtilDTO.setObject(caseAssistApply);
                sortUtilDTO.setDate(caseAssistApply.getCreateTime());
                sortUtilDTO.setType("联合处置申请");
                sortUtilDTOList.add(sortUtilDTO);
            }
            sortUtilDTOList.sort(Comparator.comparing(SortUtilDTO::getDate));
            List<Object> resultList = new ArrayList<>();
            for(SortUtilDTO sortUtilDTO: sortUtilDTOList){
                resultList.add(sortUtilDTO);
            }
            return resultList;
        }catch (Exception e) {
            log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
        }
    }
    /**
     * wechat端-查询流程进度
     * @param caseId 纠纷编号
@@ -1796,7 +1855,7 @@
                // 新建待分派任务
                CaseTask dfphCaseTask = new CaseTask();
                dfphCaseTask.setId(utilsClient.getNewTimeId());
                dfphCaseTask.setCaseId(dfphCaseTask.getCaseId());
                dfphCaseTask.setCaseId(htshCaseTask.getCaseId());
                dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
                dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
                dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
@@ -1825,7 +1884,7 @@
                mapper.insert(dfphCaseTask);
                // 更新纠纷信息
                CaseInfo caseInfoPO = new CaseInfo();
                caseInfoPO.setId(dfphCaseTask.getCaseId());
                caseInfoPO.setId(htshCaseTask.getCaseId());
                caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
                caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes());
                caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
@@ -2015,7 +2074,7 @@
                // 新建待分派任务
                CaseTask dfphCaseTask = new CaseTask();
                dfphCaseTask.setId(utilsClient.getNewTimeId());
                dfphCaseTask.setCaseId(dfphCaseTask.getCaseId());
                dfphCaseTask.setCaseId(sbshCaseTask.getCaseId());
                dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
                dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
                dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
@@ -2044,7 +2103,7 @@
                mapper.insert(dfphCaseTask);
                // 更新纠纷信息
                CaseInfo caseInfoPO = new CaseInfo();
                caseInfoPO.setId(dfphCaseTask.getCaseId());
                caseInfoPO.setId(sbshCaseTask.getCaseId());
                caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
                caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes());
                caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
@@ -2074,7 +2133,7 @@
                // 新建待分派任务
                CaseTask dfphCaseTask = new CaseTask();
                dfphCaseTask.setId(utilsClient.getNewTimeId());
                dfphCaseTask.setCaseId(dfphCaseTask.getCaseId());
                dfphCaseTask.setCaseId(sbshCaseTask.getCaseId());
                dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
                dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
                dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());