| | |
| | | import cn.huge.base.common.utils.DateUtils; |
| | | import cn.huge.base.common.utils.IdUtils; |
| | | import cn.huge.base.common.utils.ObjectUtils; |
| | | import cn.huge.module.cases.domain.dto.CaseFlowDTO; |
| | | import cn.huge.module.cases.domain.dto.TabButtonDTO; |
| | | import cn.huge.module.cases.domain.dto.TabButtonInfoDTO; |
| | | import cn.huge.module.cases.domain.dto.*; |
| | | import cn.huge.module.cases.domain.po.CaseInfo; |
| | | import cn.huge.module.cases.domain.po.CaseInfoUnfold; |
| | | import cn.huge.module.cases.domain.po.CaseWindupApply; |
| | | import cn.huge.module.client.api.impl.CustClientImpl; |
| | | import cn.huge.module.client.api.impl.DispClientImpl; |
| | | import cn.huge.module.client.api.impl.SysClientImpl; |
| | | import cn.huge.module.client.api.impl.UtilsClientImpl; |
| | | import cn.huge.module.cases.dao.mapper.CaseTaskMapper; |
| | | import cn.huge.module.cases.domain.po.CaseTask; |
| | | import cn.huge.module.constant.BaseConsts; |
| | | import cn.huge.module.cust.constant.UserBaseConsts; |
| | | import cn.huge.module.cust.dto.CtUnitDTO; |
| | | import cn.huge.module.cust.dto.CtUserDTO; |
| | | 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; |
| | | import cn.huge.module.cases.consts.CaseTaskConsts; |
| | | import cn.huge.module.flow.consts.FlowNodeEnum; |
| | | import cn.huge.module.flow.consts.FlowableConsts; |
| | | import cn.huge.module.flow.domain.po.FlowNode; |
| | | import cn.huge.module.flow.service.FlowInfoService; |
| | | import cn.huge.module.mediate.constant.*; |
| | | import cn.huge.module.sys.constant.SyTimeEnum; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.google.common.collect.Maps; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.domain.Page; |
| | | import org.springframework.data.domain.PageImpl; |
| | | import org.springframework.data.domain.PageRequest; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @title: 纠纷任务表业务逻辑处理 |
| | |
| | | private CaseTaskMapper mapper; |
| | | |
| | | @Autowired |
| | | private CaseSuperviseService superviseService; |
| | | @Autowired |
| | | private UtilsClientImpl utilsClient; |
| | | |
| | | @Autowired |
| | | private CustClientImpl custClient; |
| | | |
| | | @Autowired |
| | | private CaseSuperviseService superviseService; |
| | | private DispClientImpl dispClient; |
| | | @Autowired |
| | | private FlowInfoService flowInfoService; |
| | | @Autowired |
| | | private CaseInfoService caseInfoService; |
| | | @Autowired |
| | | private SysClientImpl sysClient; |
| | | @Autowired |
| | | private CaseInfoUnfoldService caseInfoUnfoldService; |
| | | @Autowired |
| | | private CaseWindupApplyService caseWindupApplyService; |
| | | |
| | | /** |
| | | * 更新对象 |
| | |
| | | throw new ServiceException("CaseTaskService.wechatListCaseFlow", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端大厅来访登记-提交纠纷事件-通过自动调度启动工作流 |
| | | * @param caseInfo |
| | | */ |
| | | public void webStartFlowLFDJ(CaseInfo caseInfo){ |
| | | try{ |
| | | DispCaseBaseDTO dispCaseBaseDTO = new DispCaseBaseDTO(); |
| | | BeanUtils.copyProperties(caseInfo, dispCaseBaseDTO); |
| | | dispCaseBaseDTO.setCaseId(caseInfo.getId()); |
| | | CaseDispBaseDTO caseDispBaseDTO = dispClient.sysDisp(dispCaseBaseDTO); |
| | | // 目前平台只能调度给组织 |
| | | if (DispBaseConstsEnum.TARGET_TYPE_1.getIndex().equals(caseDispBaseDTO.getTargetType())) { |
| | | // 目前平台只做镇街、村居级别的调度, |
| | | if (UserBaseConsts.UNIT_GRADE_3 == caseDispBaseDTO.getTargetUnitGrade()) { |
| | | // 启动来访登记工作流 |
| | | FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LFDJ, caseInfo.getId()); |
| | | if (UserBaseConsts.UNIT_TYPE_1 == caseDispBaseDTO.getTargetUnitType()){ |
| | | // 调度给镇街综治中心,进入第1个节点-镇街综治中心待分派 |
| | | CaseTask dfpCaseTask = new CaseTask(); |
| | | dfpCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dfpCaseTask.setCaseId(caseInfo.getId()); |
| | | dfpCaseTask.setFlowableId(firstFlowNode.getFlowableId()); |
| | | dfpCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId()); |
| | | dfpCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId()); |
| | | dfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dfpCaseTask.setNodeType(firstFlowNode.getNodeType()); |
| | | dfpCaseTask.setNodeId(firstFlowNode.getNodeId()); |
| | | dfpCaseTask.setNodeName(firstFlowNode.getNodeName()); |
| | | dfpCaseTask.setFlowId(firstFlowNode.getFlowId()); |
| | | dfpCaseTask.setNodeShowName(firstFlowNode.getNodeShowName()); |
| | | dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dfpCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId()); |
| | | dfpCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName()); |
| | | // 系统给综治中心分派,不需要签收 |
| | | dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dfpCaseTask.setCustId(caseInfo.getCustId()); |
| | | dfpCaseTask.setCreateTime(caseInfo.getCreateTime()); |
| | | dfpCaseTask.setUpdateTime(caseInfo.getUpdateTime()); |
| | | mapper.insert(dfpCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(caseInfo.getId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | }else { |
| | | // 调度给调解组织,默认通过第1个节点-镇街综治中心待分派 |
| | | CaseTask dfpCaseTask = new CaseTask(); |
| | | dfpCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dfpCaseTask.setCaseId(caseInfo.getId()); |
| | | dfpCaseTask.setFlowableId(firstFlowNode.getFlowableId()); |
| | | dfpCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId()); |
| | | dfpCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId()); |
| | | dfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dfpCaseTask.setNodeType(firstFlowNode.getNodeType()); |
| | | dfpCaseTask.setNodeId(firstFlowNode.getNodeId()); |
| | | dfpCaseTask.setNodeName(firstFlowNode.getNodeName()); |
| | | dfpCaseTask.setFlowId(firstFlowNode.getFlowId()); |
| | | dfpCaseTask.setNodeShowName(firstFlowNode.getNodeShowName()); |
| | | dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | // 系统给综治中心分派,不需要签收 |
| | | dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dfpCaseTask.setHandleUnitName("系统派单"); |
| | | dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dfpCaseTask.setHandleContent("派单至:"+caseDispBaseDTO.getTargetName()); |
| | | dfpCaseTask.setHandleTime(caseInfo.getCreateTime()); |
| | | dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dfpCaseTask.setCustId(caseInfo.getCustId()); |
| | | dfpCaseTask.setCreateTime(caseInfo.getCreateTime()); |
| | | dfpCaseTask.setUpdateTime(caseInfo.getCreateTime()); |
| | | mapper.insert(dfpCaseTask); |
| | | // 完成第1个节点任务 |
| | | FlowNode secondFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_jb_zszz, "系统派单"); |
| | | // 进入第2个节点-镇街级组织待受理 |
| | | CaseTask sdlCaseTask = new CaseTask(); |
| | | sdlCaseTask.setId(utilsClient.getNewTimeId()); |
| | | sdlCaseTask.setCaseId(caseInfo.getId()); |
| | | sdlCaseTask.setFlowableId(secondFlowNode.getFlowableId()); |
| | | sdlCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId()); |
| | | sdlCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId()); |
| | | sdlCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | sdlCaseTask.setNodeType(secondFlowNode.getNodeType()); |
| | | sdlCaseTask.setNodeId(secondFlowNode.getNodeId()); |
| | | sdlCaseTask.setNodeName(secondFlowNode.getNodeName()); |
| | | sdlCaseTask.setFlowId(secondFlowNode.getFlowId()); |
| | | sdlCaseTask.setNodeShowName(secondFlowNode.getNodeShowName()); |
| | | sdlCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType()); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | sdlCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | sdlCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId()); |
| | | sdlCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName()); |
| | | // 系统调度给调解组织,需要签收 |
| | | sdlCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | sdlCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex())); |
| | | sdlCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | sdlCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | sdlCaseTask.setCustId(caseInfo.getCustId()); |
| | | sdlCaseTask.setCreateTime(caseInfo.getCreateTime()); |
| | | sdlCaseTask.setUpdateTime(caseInfo.getUpdateTime()); |
| | | mapper.insert(sdlCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(caseInfo.getId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_2.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_2.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webStartFlowLFDJ]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webStartFlowLFDJ", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端大厅来访登记-自行受理-启动自行受理流程 |
| | | * @param caseInfo |
| | | * @param loginUser |
| | | */ |
| | | public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){ |
| | | try{ |
| | | |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webStartFlowZXSL", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-交办 |
| | | * @param assignTaskDTO 交办任务表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webAssign(AssignTaskDTO assignTaskDTO, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 查询当前待分派任务 |
| | | CaseTask dfpCaseTask = mapper.selectById(assignTaskDTO.getCaseTaskId()); |
| | | // 完成当前待分派任务 |
| | | CaseTask dfpCaseTaskPO = new CaseTask(); |
| | | dfpCaseTaskPO.setId(assignTaskDTO.getCaseTaskId()); |
| | | dfpCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | dfpCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | dfpCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | dfpCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | dfpCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dfpCaseTaskPO.setHandleTime(nowDate); |
| | | dfpCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(dfpCaseTaskPO); |
| | | // 查询承办组织信息 |
| | | CtUnitDTO dslUnitDTO = custClient.getUnitById(assignTaskDTO.getHandleUnitId()); |
| | | String flowOperation = null; |
| | | // 镇街综治中心待分派 |
| | | if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){ |
| | | flowOperation = FlowableConsts.OPERATION_jb_zszz; |
| | | } |
| | | // 区综治中心待分派 |
| | | if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){ |
| | | if (UserBaseConsts.UNIT_GRADE_2 == dslUnitDTO.getUnitGrade()) { |
| | | flowOperation = FlowableConsts.OPERATION_jb_zszz; |
| | | }else { |
| | | flowOperation = FlowableConsts.OPERATION_jb_zzzx; |
| | | } |
| | | |
| | | } |
| | | // 市综治中心待分派 |
| | | if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){ |
| | | if (UserBaseConsts.UNIT_GRADE_1 == dslUnitDTO.getUnitGrade()) { |
| | | flowOperation = FlowableConsts.OPERATION_jb_zszz; |
| | | }else { |
| | | flowOperation = FlowableConsts.OPERATION_jb_zzzx; |
| | | } |
| | | |
| | | } |
| | | // 完成当前待分派工作流任务 |
| | | FlowNode newFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(), |
| | | flowOperation, userId); |
| | | // 新建待受理任务 |
| | | CaseTask blfkCaseTask = new CaseTask(); |
| | | blfkCaseTask.setId(utilsClient.getNewTimeId()); |
| | | blfkCaseTask.setCaseId(dfpCaseTask.getCaseId()); |
| | | blfkCaseTask.setFlowableId(newFlowNode.getFlowableId()); |
| | | blfkCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId()); |
| | | blfkCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId()); |
| | | blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | blfkCaseTask.setNodeType(newFlowNode.getNodeType()); |
| | | blfkCaseTask.setNodeId(newFlowNode.getNodeId()); |
| | | blfkCaseTask.setNodeName(newFlowNode.getNodeName()); |
| | | blfkCaseTask.setFlowId(newFlowNode.getFlowId()); |
| | | blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName()); |
| | | blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | blfkCaseTask.setCandeUnitId(dslUnitDTO.getId()); |
| | | blfkCaseTask.setCandeUnitName(dslUnitDTO.getUnitName()); |
| | | // 分派的任务,需要签收 |
| | | blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | blfkCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex())); |
| | | blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | blfkCaseTask.setCustId(dfpCaseTask.getCustId()); |
| | | blfkCaseTask.setCreateTime(nowDate); |
| | | blfkCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(blfkCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(blfkCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | // 分派配合组织 |
| | | if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ |
| | | for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){ |
| | | // 创建配合组织任务 |
| | | CaseTask assistCaseTask = new CaseTask(); |
| | | assistCaseTask.setId(utilsClient.getNewTimeId()); |
| | | assistCaseTask.setCaseId(dfpCaseTask.getCaseId()); |
| | | assistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | assistCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_BLFK.getIndex()); |
| | | assistCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex()); |
| | | assistCaseTask.setFlowId(newFlowNode.getFlowId()); |
| | | assistCaseTask.setNodeShowName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex()); |
| | | assistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); |
| | | // 配合任务,任务候选执行者类型是上一步骤选择 |
| | | assistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | assistCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); |
| | | assistCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); |
| | | // 分派的任务,需要签收 |
| | | assistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | assistCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex())); |
| | | assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | assistCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | assistCaseTask.setCustId(dfpCaseTask.getCustId()); |
| | | assistCaseTask.setCreateTime(nowDate); |
| | | assistCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(assistCaseTask); |
| | | } |
| | | // 拼接配合组织编号和名称 |
| | | String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). |
| | | collect(Collectors.joining(BaseConsts.COMMA)); |
| | | String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). |
| | | collect(Collectors.joining(BaseConsts.COMMA)); |
| | | |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAssign", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-签收 |
| | | * @param signTaskDTO 签收任务表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webSign(SignTaskDTO signTaskDTO, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 更新纠纷任务信息 |
| | | CaseTask caseTaskPO = new CaseTask(); |
| | | caseTaskPO.setId(signTaskDTO.getCaseTaskId()); |
| | | caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); |
| | | caseTaskPO.setSignTime(nowDate); |
| | | caseTaskPO.setSignUserId(loginUser.getId()); |
| | | caseTaskPO.setSignUserName(loginUser.getTrueName()); |
| | | caseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(caseTaskPO); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(signTaskDTO.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoPO.setUpdateTime(nowDate); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webSign]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webSign", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-受理 |
| | | * @param acceptTaskDTO 受理任务表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webAccept(AcceptTaskDTO acceptTaskDTO, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 查询当前待受理任务 |
| | | CaseTask dslCaseTask = mapper.selectById(acceptTaskDTO.getCaseTaskId()); |
| | | // 完成当前待受理任务 |
| | | CaseTask dslCaseTaskPO = new CaseTask(); |
| | | dslCaseTaskPO.setId(acceptTaskDTO.getCaseTaskId()); |
| | | dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | dslCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dslCaseTaskPO.setHandleTime(nowDate); |
| | | dslCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(dslCaseTaskPO); |
| | | // 完成当前待受理工作流任务 |
| | | FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_sl, userId); |
| | | // 新建办理反馈任务 |
| | | CaseTask blfkCaseTask = new CaseTask(); |
| | | blfkCaseTask.setId(utilsClient.getNewTimeId()); |
| | | blfkCaseTask.setCaseId(dslCaseTask.getCaseId()); |
| | | blfkCaseTask.setFlowableId(newFlowNode.getFlowableId()); |
| | | blfkCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId()); |
| | | blfkCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId()); |
| | | blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | blfkCaseTask.setNodeType(newFlowNode.getNodeType()); |
| | | blfkCaseTask.setNodeId(newFlowNode.getNodeId()); |
| | | blfkCaseTask.setNodeName(newFlowNode.getNodeName()); |
| | | blfkCaseTask.setFlowId(newFlowNode.getFlowId()); |
| | | blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName()); |
| | | blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | blfkCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | blfkCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | blfkCaseTask.setCustId(dslCaseTask.getCustId()); |
| | | blfkCaseTask.setCreateTime(nowDate); |
| | | blfkCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(blfkCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(blfkCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | | caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); |
| | | caseInfoUnfoldPO.setAcceptTime(nowDate); |
| | | caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); |
| | | caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAccept", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-结案申请 |
| | | * @param caseWindupApply 结案申请表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webWindupApply(CaseWindupApply caseWindupApply, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 新增结案申请信息 |
| | | caseWindupApply.setApplyUnitId(loginUser.getUnitId()); |
| | | caseWindupApply.setApplyUnitName(loginUser.getUnitName()); |
| | | caseWindupApply.setApplyUserId(loginUser.getTrueName()); |
| | | caseWindupApply.setApplyTime(nowDate); |
| | | caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | caseWindupApply.setCreateTime(nowDate); |
| | | caseWindupApply.setUpdateTime(nowDate); |
| | | // 查询办理反馈任务 |
| | | CaseTask blfkCaseTask = mapper.selectById(caseWindupApply.getCaseTaskId()); |
| | | // 完成当前办理反馈任务 |
| | | CaseTask blfkCaseTaskPO = new CaseTask(); |
| | | blfkCaseTaskPO.setId(caseWindupApply.getCaseTaskId()); |
| | | blfkCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | blfkCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | blfkCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | blfkCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | blfkCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | blfkCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | blfkCaseTaskPO.setHandleTime(nowDate); |
| | | blfkCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(blfkCaseTaskPO); |
| | | // 完成当前待受理工作流任务,走结案申请任务 |
| | | FlowNode jasqFlowNode = flowInfoService.completeTask(blfkCaseTask.getFlowableId(), blfkCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, userId); |
| | | // 新建并自动完成结案申请任务 |
| | | CaseTask jasqCaseTask = new CaseTask(); |
| | | jasqCaseTask.setId(utilsClient.getNewTimeId()); |
| | | jasqCaseTask.setCaseId(blfkCaseTask.getCaseId()); |
| | | jasqCaseTask.setFlowableId(jasqFlowNode.getFlowableId()); |
| | | jasqCaseTask.setProcessInstanceId(jasqFlowNode.getProcessInstanceId()); |
| | | jasqCaseTask.setProcessTaskId(jasqFlowNode.getProcessTaskId()); |
| | | jasqCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | jasqCaseTask.setNodeType(jasqFlowNode.getNodeType()); |
| | | jasqCaseTask.setNodeId(jasqFlowNode.getNodeId()); |
| | | jasqCaseTask.setNodeName(jasqFlowNode.getNodeName()); |
| | | jasqCaseTask.setFlowId(jasqFlowNode.getFlowId()); |
| | | jasqCaseTask.setNodeShowName(jasqFlowNode.getNodeShowName()); |
| | | jasqCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | jasqCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | jasqCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | jasqCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | jasqCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | jasqCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | jasqCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | jasqCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | jasqCaseTask.setHandleUserId(loginUser.getId()); |
| | | jasqCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | jasqCaseTask.setHandleTime(nowDate); |
| | | jasqCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | jasqCaseTask.setCustId(blfkCaseTask.getCustId()); |
| | | jasqCaseTask.setCreateTime(nowDate); |
| | | jasqCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(jasqCaseTask); |
| | | // 化解成功,自动结案审核通过 |
| | | if (MediResultBaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseWindupApply.getMediResult())){ |
| | | // 完成当前结案申请工作流任务,走结案审核任务 |
| | | FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, userId); |
| | | // 新建并自动完成结案审核任务 |
| | | CaseTask jashCaseTask = new CaseTask(); |
| | | jashCaseTask.setId(utilsClient.getNewTimeId()); |
| | | jashCaseTask.setCaseId(jasqCaseTask.getCaseId()); |
| | | jashCaseTask.setFlowableId(jashFlowNode.getFlowableId()); |
| | | jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId()); |
| | | jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId()); |
| | | jashCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | jashCaseTask.setNodeType(jashFlowNode.getNodeType()); |
| | | jashCaseTask.setNodeId(jashFlowNode.getNodeId()); |
| | | jashCaseTask.setNodeName(jashFlowNode.getNodeName()); |
| | | jashCaseTask.setFlowId(jashFlowNode.getFlowId()); |
| | | jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName()); |
| | | jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | jashCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | jashCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | jashCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | jashCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | jashCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | jashCaseTask.setHandleUserId(loginUser.getId()); |
| | | jashCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | jashCaseTask.setHandleTime(nowDate); |
| | | jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | jashCaseTask.setCustId(jasqCaseTask.getCustId()); |
| | | jashCaseTask.setCreateTime(nowDate); |
| | | jashCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(jashCaseTask); |
| | | // 完成当前结案审核工作流任务,走当事人评价任务 |
| | | FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_jash_ty, userId); |
| | | // 新建当事人评价任务 |
| | | CaseTask dsrpjCaseTask = new CaseTask(); |
| | | dsrpjCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); |
| | | dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); |
| | | dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); |
| | | dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); |
| | | dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); |
| | | dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); |
| | | dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); |
| | | dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); |
| | | dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); |
| | | dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dsrpjCaseTask.setCustId(blfkCaseTaskPO.getCustId()); |
| | | dsrpjCaseTask.setCreateTime(nowDate); |
| | | dsrpjCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dsrpjCaseTask); |
| | | // 更新结案申请信息 |
| | | caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); |
| | | caseWindupApply.setCaseTaskId(jashCaseTask.getId()); |
| | | caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId()); |
| | | caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName()); |
| | | caseWindupApply.setAuditUserId(jashCaseTask.getHandleUserId()); |
| | | caseWindupApply.setAuditUserName(jashCaseTask.getHandleUserName()); |
| | | caseWindupApply.setAuditTime(nowDate); |
| | | caseWindupApply.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); |
| | | caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); |
| | | caseWindupApply.setCustId(jashCaseTask.getCustId()); |
| | | caseWindupApplyService.save(caseWindupApply); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(dsrpjCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoPO.setUpdateTime(nowDate); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | | caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); |
| | | caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); |
| | | caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); |
| | | caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); |
| | | caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); |
| | | caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); |
| | | caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); |
| | | caseInfoUnfoldPO.setCloseTime(nowDate); |
| | | caseInfoUnfoldPO.setUpdateTime(nowDate); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | }else {// 化解不成功,走结案审核流程 |
| | | // 完成当前结案申请工作流任务,走结案审核任务 |
| | | FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, userId); |
| | | // 新建结案审核任务 |
| | | CaseTask jashCaseTask = new CaseTask(); |
| | | jashCaseTask.setId(utilsClient.getNewTimeId()); |
| | | jashCaseTask.setCaseId(blfkCaseTaskPO.getCaseId()); |
| | | jashCaseTask.setFlowableId(jashFlowNode.getFlowableId()); |
| | | jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId()); |
| | | jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId()); |
| | | jashCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | jashCaseTask.setNodeType(jashFlowNode.getNodeType()); |
| | | jashCaseTask.setNodeId(jashFlowNode.getNodeId()); |
| | | jashCaseTask.setNodeName(jashFlowNode.getNodeName()); |
| | | jashCaseTask.setFlowId(jashFlowNode.getFlowId()); |
| | | jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName()); |
| | | jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | jashCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | jashCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | jashCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | jashCaseTask.setCustId(blfkCaseTaskPO.getCustId()); |
| | | jashCaseTask.setCreateTime(nowDate); |
| | | jashCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(jashCaseTask); |
| | | // 更新结案申请信息 |
| | | caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); |
| | | caseWindupApply.setCaseTaskId(jashCaseTask.getId()); |
| | | caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId()); |
| | | caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName()); |
| | | caseWindupApply.setCustId(jashCaseTask.getCustId()); |
| | | caseWindupApplyService.save(caseWindupApply); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(jashCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_5.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_5.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoPO.setUpdateTime(nowDate); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | | caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); |
| | | caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); |
| | | caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); |
| | | caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); |
| | | caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); |
| | | caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); |
| | | caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); |
| | | caseInfoUnfoldPO.setCloseTime(nowDate); |
| | | caseInfoUnfoldPO.setUpdateTime(nowDate); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webWindupApply", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-结案审核 |
| | | * @param caseWindupApply 结案审核表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webWindupAudit(CaseWindupApply caseWindupApply, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 更新结案申请信息 |
| | | caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); |
| | | caseWindupApply.setAuditUserId(loginUser.getId()); |
| | | caseWindupApply.setAuditUserName(loginUser.getTrueName()); |
| | | caseWindupApply.setAuditTime(nowDate); |
| | | caseWindupApply.setUpdateTime(nowDate); |
| | | caseWindupApplyService.saveCaseWindupApply(caseWindupApply); |
| | | // 查询结案审核任务 |
| | | CaseTask jashCaseTask = mapper.selectById(caseWindupApply.getCaseTaskId()); |
| | | // 审核通过, |
| | | if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseWindupApply.getAuditResult())){ |
| | | // 完成当前结案审核任务 |
| | | CaseTask jashCaseTaskPO = new CaseTask(); |
| | | jashCaseTaskPO.setId(caseWindupApply.getCaseTaskId()); |
| | | jashCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | jashCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | jashCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | jashCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | jashCaseTaskPO.setHandleTime(nowDate); |
| | | jashCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(jashCaseTaskPO); |
| | | // 完成当前结案审核工作流任务,走当事人评价任务 |
| | | FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_jash_ty, userId); |
| | | // 新建当事人评价任务 |
| | | CaseTask dsrpjCaseTask = new CaseTask(); |
| | | dsrpjCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); |
| | | dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); |
| | | dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); |
| | | dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); |
| | | dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); |
| | | dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); |
| | | dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); |
| | | dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); |
| | | dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); |
| | | dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); |
| | | dsrpjCaseTask.setCreateTime(nowDate); |
| | | dsrpjCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dsrpjCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(dsrpjCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoPO.setUpdateTime(nowDate); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | | caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); |
| | | caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); |
| | | caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); |
| | | caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); |
| | | caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); |
| | | caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); |
| | | caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); |
| | | caseInfoUnfoldPO.setCloseTime(nowDate); |
| | | caseInfoUnfoldPO.setUpdateTime(nowDate); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | }else { |
| | | // 审核不通过,回退办理反馈任务 |
| | | // 完成当前结案审核任务 |
| | | CaseTask jashCaseTaskPO = new CaseTask(); |
| | | jashCaseTaskPO.setId(caseWindupApply.getCaseTaskId()); |
| | | jashCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | jashCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | jashCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | jashCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); |
| | | jashCaseTaskPO.setHandleTime(nowDate); |
| | | jashCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(jashCaseTaskPO); |
| | | // 完成当前结案审核工作流任务,走办理反馈任务 |
| | | FlowNode blfkFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_jash_bty, userId); |
| | | // 新建办理反馈任务 |
| | | CaseTask blfkCaseTask = new CaseTask(); |
| | | blfkCaseTask.setId(utilsClient.getNewTimeId()); |
| | | blfkCaseTask.setCaseId(jashCaseTask.getCaseId()); |
| | | blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId()); |
| | | blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId()); |
| | | blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId()); |
| | | blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | blfkCaseTask.setNodeType(blfkFlowNode.getNodeType()); |
| | | blfkCaseTask.setNodeId(blfkFlowNode.getNodeId()); |
| | | blfkCaseTask.setNodeName(blfkFlowNode.getNodeName()); |
| | | blfkCaseTask.setFlowId(blfkFlowNode.getFlowId()); |
| | | blfkCaseTask.setNodeShowName(blfkFlowNode.getNodeShowName()); |
| | | blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | blfkCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | blfkCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | blfkCaseTask.setCustId(jashCaseTask.getCustId()); |
| | | blfkCaseTask.setCreateTime(nowDate); |
| | | blfkCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(blfkCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(blfkCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoPO.setUpdateTime(nowDate); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | | caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); |
| | | caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); |
| | | caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); |
| | | caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); |
| | | caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); |
| | | caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); |
| | | caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); |
| | | caseInfoUnfoldPO.setCloseTime(nowDate); |
| | | caseInfoUnfoldPO.setUpdateTime(nowDate); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webWindupApply", e); |
| | | } |
| | | } |
| | | |
| | | } |