forked from gzzfw/backEnd/gz-dyh

wangwh
2024-10-25 0d514ca5405b42b3d31e2e68d7a1e9e834cae706
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -58,6 +58,7 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -1212,12 +1213,8 @@
                        caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                        caseInfoService.updateCaseInfo(caseInfoPO);
                        try {
                            //添加网格待办
                            this.createGridToDo(caseInfo, dfpCaseTask, GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                        }catch (Exception e){
                            log.error("添加网格待办失败");
                        }
                        //添加网格待办
                        this.createGridToDo(caseInfo, dfpCaseTask, GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                    }else {
                        // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派
                        CaseTask dfpCaseTask = new CaseTask();
@@ -1297,12 +1294,8 @@
                        caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                        caseInfoService.updateCaseInfo(caseInfoPO);
                        try {
                            //添加网格待办
                            this.createGridToDo(caseInfo, dslCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                        }catch (Exception e){
                            log.error("添加网格待办失败");
                        }
                        //添加网格待办
                        this.createGridToDo(caseInfo, dslCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                    }
                }
            }
@@ -1410,13 +1403,6 @@
            caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
            caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
            caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
            try {
                //添加网格待办
                this.createGridToDo(caseInfo, blfkCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
            }catch (Exception e){
                log.error("添加网格待办失败");
            }
            return blfkCaseTask.getId();
        }catch (Exception e){
@@ -1613,12 +1599,8 @@
            caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
            caseInfoPO.setUpdateTime(nowDate);
            caseInfoService.updateCaseInfo(caseInfoPO);
            try {
                this.taskFlowGridToDo(caseInfo, dslCaseTask, assignTaskDTO.getCaseTaskId(), GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
            }catch (Exception e){
                log.error("添加网格待办失败");
            }
            //修改网格待办流程
            this.taskFlowGridToDo(caseInfo, dslCaseTask, dfpCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
            // 交办配合组织
            if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
@@ -1709,12 +1691,8 @@
                    caseAssistInfoPO.setCreateTime(nowDate);
                    caseAssistInfoPO.setUpdateTime(nowDate);
                    caseAssistInfoService.save(caseAssistInfoPO);
                    try {
                        this.createGridToDo(caseInfo, lhczdslCaseTask, GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
                    }catch (Exception e){
                        log.error("添加网格待办失败");
                    }
                    //添加网格待办
                    this.createGridToDo(caseInfo, lhczdslCaseTask, GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
                }
                // 更新纠纷扩展信息
                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1765,9 +1743,11 @@
                    caseInfoPO.setUpdateTime(nowDate);
                    caseInfoService.updateCaseInfo(caseInfoPO);
                }
                CaseInfo caseInfo = caseInfoService.getCaseInfo(qsCaseTask.getCaseId());
                //修改网格待办流程
                CaseInfo caseInfo = caseInfoService.getById(qsCaseTask.getCaseId());
                if(ObjectUtils.isNotEmpty(caseInfo)){
                    this.taskFlowGridToDo(caseInfo, caseTaskPO, caseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                    caseTaskPO.setCandeUnitId(qsCaseTask.getCandeUnitId());
                    this.taskFlowGridToDo(caseInfo, caseTaskPO, qsCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                }
            }
        }catch (Exception e){
@@ -1845,7 +1825,8 @@
            blfkCaseTask.setUpdateTime(nowDate);
            mapper.insert(blfkCaseTask);
            //删除网格待办状态
            //删除网格待办
            dslCaseTaskPO.setCaseId(dslCaseTask.getCaseId());
            this.deleteGridTodo(dslCaseTaskPO);
            // 承办组织受理才更新纠纷信息
@@ -2375,7 +2356,7 @@
                    caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
                    caseInfoUnfoldPO.setUpdateTime(nowDate);
                    caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
                    //添加网格待办
                    this.createGridToDo(caseInfo, jashCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
                }
            }
@@ -2543,6 +2524,8 @@
                    newCaseWindupApply.setUpdateTime(nowDate);
                    newCaseWindupApply.setCustId(yjJashCaseTask.getCustId());
                    caseWindupApplyService.save(newCaseWindupApply);
                    //修改网格待办流程
                    this.taskFlowGridToDo(caseInfo, yjJashCaseTask, jashCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
                }
                // 下一个节点是二级结案审核节点,进入二级结案审核节点任务
                if (FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex().equals(nextFlowNode.getNodeId())){
@@ -2589,6 +2572,9 @@
                    newCaseWindupApply.setUpdateTime(nowDate);
                    newCaseWindupApply.setCustId(ejJashCaseTask.getCustId());
                    caseWindupApplyService.save(newCaseWindupApply);
                    //修改网格待办流程
                    this.taskFlowGridToDo(caseInfo, ejJashCaseTask, jashCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
                }
                // 下一个节点是当事人评价节点,进入当事人评价节点任务
                if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
@@ -2632,6 +2618,8 @@
                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                    caseInfoPO.setUpdateTime(nowDate);
                    caseInfoService.updateCaseInfo(caseInfoPO);
                    //删除网格待办
                    this.deleteGridTodo(jashCaseTask);
                }
                // 下一个节点是结案归档节点,进入结案归档节点任务
                if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
@@ -2689,7 +2677,8 @@
                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                    caseInfoPO.setUpdateTime(nowDate);
                    caseInfoService.updateCaseInfo(caseInfoPO);
                    //删除网格待办
                    this.deleteGridTodo(jashCaseTask);
                }
                // 更新纠纷扩展信息
                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -2749,6 +2738,8 @@
                blfkCaseTask.setCreateTime(nowDate);
                blfkCaseTask.setUpdateTime(nowDate);
                mapper.insert(blfkCaseTask);
                //删除网格待办
                this.deleteGridTodo(jashCaseTask);
                // 更新纠纷信息
                CaseInfo caseInfoPO = new CaseInfo();
                caseInfoPO.setId(blfkCaseTask.getCaseId());
@@ -2761,7 +2752,6 @@
                caseInfoPO.setUpdateTime(nowDate);
                caseInfoService.updateCaseInfo(caseInfoPO);
                this.deleteGridTodo(jashCaseTaskPO);
            }
        }catch (Exception e){
            log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
@@ -2849,9 +2839,9 @@
            caseReturn.setCaseTaskId(htshCaseTask.getId());
            caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType());
            caseReturnService.save(caseReturn);
            //添加网格审核任务
            CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId());
            this.createGridToDo(caseInfo, htshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
            //修改网格待办流程
            CaseInfo caseInfo = caseInfoService.getById(thisCaseTask.getCaseId());
            this.taskFlowGridToDo(caseInfo, htshCaseTask, thisCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
        }catch (Exception e){
            log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseTaskService.webReturnApply", e);
@@ -2943,6 +2933,10 @@
                    caseInfoService.updateCaseInfo(caseInfoPO);
                    // 有配合组织,结束配合组织工作流程
                    List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId());
                    //修改网格待办流程
                    CaseInfo caseInfo = caseInfoService.getById(htshCaseTask.getCaseId());
                    this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                    for (CaseTask assistCaseTask: assistCaseTaskList){
                        // 完成配合组织当前任务
                        assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
@@ -2969,9 +2963,8 @@
                                .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2);
                        caseAssistInfoService.update(caseAssistInfoUpdateWrapper);
                        //修改网格待办
                        CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId());
                        this.taskFlowGridToDo(caseInfo, assistCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                        //修改网格待办流程
                        this.taskFlowGridToDo(caseInfo, assistCaseTask, htshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                    }
                }else {
                    // 更新联合处置信息
@@ -2983,8 +2976,10 @@
                    if (ObjectUtils.isNotEmpty(caseAssistInfo)){
                        caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1);
                        caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo);
                        //删除网格待办
                        htshCaseTaskPO.setCaseId(htshCaseTask.getCaseId());
                        this.deleteGridTodo(htshCaseTaskPO);
                    }
                    this.deleteGridTodo(htshCaseTaskPO);
                }
            }else {
                // 审核不通过
@@ -3053,9 +3048,9 @@
                nextCaseTask.setCreateTime(nowDate);
                nextCaseTask.setUpdateTime(nowDate);
                mapper.insert(nextCaseTask);
                //修改网格待办
                CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId());
                this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                //修改网格待办流程
                CaseInfo caseInfo = caseInfoService.getById(htshCaseTask.getCaseId());
                this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
            }
        }catch (Exception e){
            log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e);
@@ -3139,9 +3134,9 @@
            // 新增上报申请信息
            caseAppear.setCaseTaskId(sbshCaseTask.getId());
            caseAppearService.save(caseAppear);
            //添加网格审核任务
            CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId());
            this.createGridToDo(caseInfo, sbshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
            //修改网格待办流程
            CaseInfo caseInfo = caseInfoService.getById(thisCaseTask.getCaseId());
            this.taskFlowGridToDo(caseInfo, sbshCaseTask, thisCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
        }catch (Exception e){
            log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseTaskService.webAppearApply", e);
@@ -3231,9 +3226,9 @@
                caseInfoPO.setUpdateTime(nowDate);
                caseInfoService.updateCaseInfo(caseInfoPO);
                //网格待办任务处理
                CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId());
                this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                //修改网格待办流程
                CaseInfo caseInfo = caseInfoService.getById(sbshCaseTask.getCaseId());
                this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
            }else {
                // 审核不通过
                // 完成当前上报审核任务
@@ -3288,9 +3283,9 @@
                dfphCaseTask.setUpdateTime(nowDate);
                mapper.insert(dfphCaseTask);
                //网格待办任务处理
                CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId());
                this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                //修改网格待办流程
                CaseInfo caseInfo = caseInfoService.getById(sbshCaseTask.getCaseId());
                this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
            }
        }catch (Exception e){
            log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e);
@@ -3332,19 +3327,25 @@
            gridTaskVo.setCaseTaskId(caseTask.getId());
            sysClient.deleteTaskTodo(gridTaskVo);
        } catch (Exception e) {
            log.error("添加网格待办失败");
            log.error("删除网格待办失败");
        }
    }
    public void createGridToDo(CaseInfo caseInfo, CaseTask caseTask, String gridObjType, String noticeTypeName){
        try {
            SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //添加网格待办
            GridToDoBacthVo gridToDoBacthVo = new GridToDoBacthVo();
            gridToDoBacthVo.setObjId(caseTask.getId());
            gridToDoBacthVo.setObjType(gridObjType);
            gridToDoBacthVo.setSysContent("");
            gridToDoBacthVo.setYzyContent("");
            gridToDoBacthVo.setObjTag("");
            gridToDoBacthVo.setMobile("18607214221");
            gridToDoBacthVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex());
            gridToDoBacthVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants()+"的"+caseInfo.getCaseTypeName()+"事件");
            gridToDoBacthVo.setLimitTime(String.valueOf(caseTask.getExpireTime()));
            gridToDoBacthVo.setLimitTime(outputFormat.format(caseTask.getExpireTime()));
            gridToDoBacthVo.setCaseId(caseInfo.getId());
            sysClient.createTaskToDo(gridToDoBacthVo, caseTask.getCandeUnitId());
        } catch (Exception e) {
            log.error("添加网格待办失败");
@@ -3358,35 +3359,48 @@
            GridToDoVo gridToDoVo = new GridToDoVo();
            gridToDoVo.setObjId(caseTask.getId());
            gridToDoVo.setObjType(gridObjType);
            gridToDoVo.setSysContent("");
            gridToDoVo.setYzyContent("");
            gridToDoVo.setObjTag("");
            gridToDoVo.setMobile("18607214221");
            gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex());
            gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件");
            gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime()));
            gridToDoVo.setCaseId(caseInfo.getId());
            sysClient.updateTaskTodo(gridToDoVo, previousTaskId);
        } catch (Exception e) {
            log.error("添加网格待办失败");
            log.error("修改网格待办失败");
            log.error(e.getMessage(), e);
        }
    }
    public void taskFlowGridToDo(CaseInfo caseInfo, CaseTask caseTask, String previousTaskId, String gridObjType, String noticeTypeName) {
        try {
            SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //删除网格待办任务
            GridTaskVo gridTaskVo = new GridTaskVo();
            gridTaskVo.setCaseId(caseInfo.getId());
            gridTaskVo.setCaseTaskId(previousTaskId);
            sysClient.deleteTaskTodo(gridTaskVo);
            //添加网格待办
            GridToDoVo gridToDoVo = new GridToDoVo();
            gridToDoVo.setObjId(caseTask.getId());
            gridToDoVo.setObjType(gridObjType);
            gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex());
            gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件");
            gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime()));
            gridToDoVo.setCaseId(caseInfo.getId());
            sysClient.updateTaskTodo(gridToDoVo, previousTaskId);
            GridToDoBacthVo gridToDoBacthVo = new GridToDoBacthVo();
            gridToDoBacthVo.setObjId(caseTask.getId());
            gridToDoBacthVo.setObjType(gridObjType);
            gridToDoBacthVo.setSysContent("");
            gridToDoBacthVo.setYzyContent("");
            gridToDoBacthVo.setObjTag("");
            gridToDoBacthVo.setMobile("18607214221");
            gridToDoBacthVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex());
            gridToDoBacthVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件");
            if(ObjectUtils.isNotEmpty(caseTask.getExpireTime())){
                gridToDoBacthVo.setLimitTime(outputFormat.format(caseTask.getExpireTime()));
            }else{
                gridToDoBacthVo.setLimitTime(outputFormat.format(DateUtils.addHour(DateUtils.getNowDate(), 12)));
            }
            gridToDoBacthVo.setCaseId(caseInfo.getId());
            sysClient.createTaskToDo(gridToDoBacthVo, caseTask.getCandeUnitId());
        } catch (Exception e) {
            log.error("添加网格待办失败");
            log.error("修改网格待办流程失败");
            log.error(e.getMessage(), e);
        }
    }