forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-13 977794fa33a530fee512efa74bf3f81f7e4541f4
1、小程序办理流程
1 files added
1 files renamed
1 files modified
255 ■■■■ changed files
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WechatCaseFlowDTO.java 73 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java 180 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java
File was renamed from dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseFlowDTO.java
@@ -17,7 +17,7 @@
 * @see CaseInfo
 */
@Data
public class CaseFlowDTO {
public class WebCaseFlowDTO {
    /**
     * 流程进度名称
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WechatCaseFlowDTO.java
New file
@@ -0,0 +1,73 @@
package cn.huge.module.cases.domain.dto;
import cn.huge.module.cases.domain.po.CaseInfo;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.util.Date;
/**
 * @title: 纠纷流程进度传输对象
 * @description: 纠纷流程进度传输对象
 * @company: hugeinfo
 * @author: liyj
 * @time: 2022-03-11 11:43:25
 * @version: 1.0.0
 * @see CaseInfo
 */
@Data
public class WechatCaseFlowDTO {
    /**
     * 流程进度名称
     */
    private String processName;
    /**
     * 反映形式
     */
    private String visitWayName;
    /**
     * 申请/受理/办结/评价时间
     */
    private Date showTime;
    /**
     * 纠纷类型名称
     */
    private String caseTypeName;
    /**
     * 承办部门
     */
    private String mediateUnitName;
    /**
     * 调解结果
     */
    private String mediResult;
    /**
     * 调解结果名称
     */
    private String mediResultName;
    /**
     * 评价等级
     */
    private Integer evaluateGrade;
    /**
     * 选择评语,多个用,隔开
     */
    private String evaluateRemark;
    /**
     * 评价人名称
     */
    private String evaluateUserName;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -6,7 +6,7 @@
import cn.huge.module.cases.dao.mapper.*;
import cn.huge.module.cases.domain.dto.*;
import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.module.cases.domain.dto.CaseFlowDTO;
import cn.huge.module.cases.domain.dto.WebCaseFlowDTO;
import cn.huge.module.cases.domain.dto.TabButtonDTO;
import cn.huge.module.cases.domain.dto.TabButtonInfoDTO;
import cn.huge.module.cases.domain.po.CaseAssistApply;
@@ -91,6 +91,8 @@
    private CaseAppearService caseAppearService;
    @Autowired
    private CaseReturnService caseReturnService;
    @Autowired
    private CaseEvaluateService caseEvaluateService;
    @Autowired
    private CaseWindupApplyMapper caseWindupApplyMapper;
@@ -388,9 +390,9 @@
    public Map<String, Object> webListCaseFlow(String caseId, String userId){
        try{
            Map<String, Object> result = Maps.newHashMap();
            LinkedList<CaseFlowDTO> handleCaseFlowList = new LinkedList<>();
            LinkedList<WebCaseFlowDTO> handleCaseFlowList = new LinkedList<>();
            // 首节点
            CaseFlowDTO lfdj = new CaseFlowDTO();
            WebCaseFlowDTO lfdj = new WebCaseFlowDTO();
            CaseInfo caseInfo = caseInfoService.getById(caseId);
            if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){
                lfdj.setNodeShowName("来访登记");
@@ -411,24 +413,24 @@
            List<CaseTask> handleCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
            for (CaseTask caseTask: handleCaseTaskList){
                CaseFlowDTO caseFlowDTO = new CaseFlowDTO();
                WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){
                    if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                        caseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                        caseFlowDTO.setProcessName(caseTask.getNodeShowName());
                        webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                        webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                    }else{
                        caseFlowDTO.setProcessName(caseInfo.getProcessName());
                        webCaseFlowDTO.setProcessName(caseInfo.getProcessName());
                    }
                    caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                    caseFlowDTO.setTaskType(caseTask.getTaskType());
                    caseFlowDTO.setStatus(caseTask.getStatus());
                    webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                    webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                    webCaseFlowDTO.setStatus(caseTask.getStatus());
                }else {
                    caseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                    caseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                    caseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                    caseFlowDTO.setHandleTime(caseTask.getHandleTime());
                    caseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                    caseFlowDTO.setTaskType(caseTask.getTaskType());
                    webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                    webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                    webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                    webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                    webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                    webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                    // todo 审核不通过、通过的展示,有调解结果的
                    if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) {
@@ -436,69 +438,69 @@
                    if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
                    }
                    caseFlowDTO.setStatus(caseTask.getStatus());
                    webCaseFlowDTO.setStatus(caseTask.getStatus());
                }
                handleCaseFlowList.add(caseFlowDTO);
                handleCaseFlowList.add(webCaseFlowDTO);
                // 待受理节点,已签收的并处理完,需要加多一个受理节点
                if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex())
                        || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
                        || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())){
                    if(CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus()
                            && CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
                        CaseFlowDTO slCaseFlowDTO = new CaseFlowDTO();
                        WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                        if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){
                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                                slCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                slCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                                slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                slWebCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                            }else{
                                slCaseFlowDTO.setProcessName(caseInfo.getProcessName());
                                slWebCaseFlowDTO.setProcessName(caseInfo.getProcessName());
                            }
                            slCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                            slCaseFlowDTO.setTaskType(caseTask.getTaskType());
                            slCaseFlowDTO.setStatus(caseTask.getStatus());
                            slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                            slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                            slWebCaseFlowDTO.setStatus(caseTask.getStatus());
                        }else {
                            slCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            slCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                            slCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                            slCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                            slCaseFlowDTO.setHandleNotes("已受理");
                            slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                            slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                            slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                            slWebCaseFlowDTO.setHandleNotes("已受理");
                            if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) {
                                slCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                                slCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
                                slCaseFlowDTO.setTaskType(caseTask.getTaskType());
                                slWebCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                                slWebCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
                                slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                            }
                            if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
                                slCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                                slCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
                                slCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
                                slWebCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                                slWebCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
                                slWebCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
                            }
                            slCaseFlowDTO.setStatus(caseTask.getStatus());
                            slWebCaseFlowDTO.setStatus(caseTask.getStatus());
                        }
                        handleCaseFlowList.add(slCaseFlowDTO);
                        handleCaseFlowList.add(slWebCaseFlowDTO);
                    }
                }
                // 办理反馈节点,加上化解结果
                if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_BLFK.getIndex())){
                    CaseFlowDTO blfkCaseFlowDTO = new CaseFlowDTO();
                    WebCaseFlowDTO blfkWebCaseFlowDTO = new WebCaseFlowDTO();
                    if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){
                        if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                            blfkCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            blfkCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                            blfkWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            blfkWebCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                        }else{
                            blfkCaseFlowDTO.setProcessName(caseInfo.getProcessName());
                            blfkWebCaseFlowDTO.setProcessName(caseInfo.getProcessName());
                        }
                        blfkCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                        blfkCaseFlowDTO.setTaskType(caseTask.getTaskType());
                        blfkCaseFlowDTO.setStatus(caseTask.getStatus());
                        blfkWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                        blfkWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                        blfkWebCaseFlowDTO.setStatus(caseTask.getStatus());
                    }else {
                        blfkCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                        blfkCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                        blfkCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                        blfkCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                        blfkWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                        blfkWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                        blfkWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                        blfkWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                        CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId);
                        blfkCaseFlowDTO.setHandleNotes("化解结果:"+caseInfoUnfold.getMediResultName());
                        blfkCaseFlowDTO.setTaskType(caseTask.getTaskType());
                        blfkWebCaseFlowDTO.setHandleNotes("化解结果:"+caseInfoUnfold.getMediResultName());
                        blfkWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                        // todo 审核不通过、通过的展示,有调解结果的
                        if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) {
@@ -506,27 +508,27 @@
                        if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
                        }
                        blfkCaseFlowDTO.setStatus(caseTask.getStatus());
                        blfkWebCaseFlowDTO.setStatus(caseTask.getStatus());
                    }
                    handleCaseFlowList.add(blfkCaseFlowDTO);
                    handleCaseFlowList.add(blfkWebCaseFlowDTO);
                }
            }
            result.put("handleCaseFlowList", handleCaseFlowList);
            // 查询配合组织流程
            LinkedList<CaseFlowDTO> assistCaseFlowList = new LinkedList<>();
            LinkedList<WebCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
            caseTaskQueryWrapper.clear();
            caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
            List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
            for (CaseTask caseTask: assistCaseTaskList){
                CaseFlowDTO caseFlowDTO = new CaseFlowDTO();
                caseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                caseFlowDTO.setHandleTime(caseTask.getHandleTime());
                caseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                caseFlowDTO.setTaskType(caseTask.getTaskType());
                caseFlowDTO.setStatus(caseTask.getStatus());
                assistCaseFlowList.add(caseFlowDTO);
                WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                webCaseFlowDTO.setStatus(caseTask.getStatus());
                assistCaseFlowList.add(webCaseFlowDTO);
            }
            result.put("assistCaseFlowList", assistCaseFlowList);
            return result;
@@ -786,20 +788,50 @@
     * @param caseId 纠纷编号
     * @return
     */
    public List<CaseFlowDTO> wechatListCaseFlow(String caseId, String userId){
    public List<WechatCaseFlowDTO> wechatListCaseFlow(String caseId, String userId){
        try{
            // 临时给前端联调数据
            List<CaseFlowDTO> list = new ArrayList<>();
            QueryWrapper<CaseTask> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("case_id", caseId);
            queryWrapper.orderByAsc("create_time");
            List<CaseTask> caseTasks = mapper.selectList(queryWrapper);
            if(ObjectUtils.isNotEmpty(caseTasks)){
                for (CaseTask caseTask : caseTasks) {
                    CaseFlowDTO caseFlowDTO = new CaseFlowDTO();
                    BeanUtils.copyProperties(caseTask, caseFlowDTO);
                    list.add(caseFlowDTO);
            // 封装办理流程
            List<WechatCaseFlowDTO> list = new ArrayList<>();
            CaseInfo caseInfo = caseInfoService.getById(caseId);
            // 提交申请
            WechatCaseFlowDTO tjsq = new WechatCaseFlowDTO();
            tjsq.setProcessName("提交申请");
            tjsq.setVisitWayName(caseInfo.getVisitWayName());
            tjsq.setShowTime(caseInfo.getCreateTime());
            tjsq.setCaseTypeName(caseInfo.getCaseTypeName());
            list.add(tjsq);
            // 办理中
            if (caseInfo.getInfoProcess() == CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_2.getIndex()){
                CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId);
                WechatCaseFlowDTO sxbl = new WechatCaseFlowDTO();
                sxbl.setProcessName("事项办理");
                sxbl.setShowTime(caseInfoUnfold.getAcceptTime());
                sxbl.setMediateUnitName(caseInfoUnfold.getMediateUnitName());
                list.add(sxbl);
                }
            // 已结案
            if (caseInfo.getInfoProcess() == CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_2.getIndex()){
                CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId);
                WechatCaseFlowDTO sxbj = new WechatCaseFlowDTO();
                sxbj.setProcessName("事项办结");
                sxbj.setShowTime(caseInfoUnfold.getCloseTime());
                sxbj.setMediResult(caseInfoUnfold.getMediResult());
                sxbj.setMediResultName(caseInfoUnfold.getMediResultName());
                list.add(sxbj);
            }
            // 评价
            QueryWrapper<CaseEvaluate> caseEvaluateQueryWrapper = new QueryWrapper<>();
            caseEvaluateQueryWrapper.eq("case_id", caseId).orderByDesc("create_time");
            List<CaseEvaluate> caseEvaluateList = caseEvaluateService.list(caseEvaluateQueryWrapper);
            if (CollectionUtils.isNotEmpty(caseEvaluateList)){
                CaseEvaluate caseEvaluate = caseEvaluateList.get(0);
                WechatCaseFlowDTO sxpj = new WechatCaseFlowDTO();
                sxpj.setProcessName("事项评价");
                sxpj.setShowTime(caseEvaluate.getCreateTime());
                sxpj.setEvaluateUserName(caseEvaluate.getEvaluateUserName());
                sxpj.setEvaluateGrade(caseEvaluate.getEvaluateGrade());
                sxpj.setEvaluateRemark(caseEvaluate.getEvaluateRemark());
                list.add(sxpj);
            }
            return list;
        }catch (Exception e){