| | |
| | | import cn.huge.base.common.exception.ServiceException; |
| | | import cn.huge.base.common.utils.DateUtils; |
| | | import cn.huge.base.common.utils.IdUtils; |
| | | import cn.huge.module.cases.consts.CaseTaskConsts; |
| | | import cn.huge.module.cases.domain.po.CaseInfo; |
| | | import cn.huge.module.cases.domain.po.CaseTask; |
| | | import cn.huge.module.client.api.impl.CustClientImpl; |
| | | import cn.huge.module.client.api.impl.UtilsClientImpl; |
| | | import cn.huge.module.cases.dao.mapper.CaseEvaluateMapper; |
| | | import cn.huge.module.cases.domain.po.CaseEvaluate; |
| | | import cn.huge.module.constant.BaseConsts; |
| | | import cn.huge.module.cust.dto.PaUserDTO; |
| | | 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.CaseInfoProcessBaseConstsEnum; |
| | | import cn.huge.module.mediate.constant.CaseProcessBaseConstsEnum; |
| | | import cn.huge.module.mediate.constant.CaseStatusBaseConstsEnum; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | |
| | | @Autowired |
| | | private CustClientImpl custClient; |
| | | @Autowired |
| | | private CaseTaskService caseTaskService; |
| | | @Autowired |
| | | private FlowInfoService flowInfoService; |
| | | @Autowired |
| | | private CaseInfoService caseInfoService; |
| | | |
| | | /** |
| | | * 更新对象 |
| | |
| | | caseEvaluate.setCustId(loginUser.getCustId()); |
| | | caseEvaluate.setUpdateTime(nowDate); |
| | | this.saveOrUpdate(caseEvaluate); |
| | | // 查询当事人评价任务 |
| | | QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); |
| | | caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId()).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()); |
| | | CaseTask dsrpjCaseTask = caseTaskService.getOne(caseTaskQueryWrapper); |
| | | // 完成当前当事人评价任务 |
| | | dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | dsrpjCaseTask.setHandleUnitId(dsrpjCaseTask.getCandeUnitId()); |
| | | dsrpjCaseTask.setHandleUnitName(dsrpjCaseTask.getCandeUnitName()); |
| | | dsrpjCaseTask.setHandleUserId(loginUser.getId()); |
| | | dsrpjCaseTask.setHandleUserName(loginUser.getTrueName()+"(当事人)"); |
| | | dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dsrpjCaseTask.setHandleTime(nowDate); |
| | | dsrpjCaseTask.setUpdateTime(nowDate); |
| | | caseTaskService.updateCaseTask(dsrpjCaseTask); |
| | | // 完成当前当事人评价工作流任务 |
| | | FlowNode dsrpjFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, userId); |
| | | // 默认完成结案归档任务 |
| | | CaseTask jagdCaseTask = new CaseTask(); |
| | | jagdCaseTask.setId(utilsClient.getNewTimeId()); |
| | | jagdCaseTask.setCaseId(caseEvaluate.getCaseId()); |
| | | jagdCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); |
| | | jagdCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); |
| | | jagdCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); |
| | | jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | jagdCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); |
| | | jagdCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); |
| | | jagdCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); |
| | | jagdCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); |
| | | jagdCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); |
| | | jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | jagdCaseTask.setCandeUnitId(dsrpjCaseTask.getCandeUnitId()); |
| | | jagdCaseTask.setCandeUnitName(dsrpjCaseTask.getCandeUnitName()); |
| | | // 系不需要签收 |
| | | jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | // 任务处理时限 |
| | | if (dsrpjFlowNode.getExpire() != 0) { |
| | | jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); |
| | | } |
| | | jagdCaseTask.setHandleUnitId(dsrpjCaseTask.getCandeUnitId()); |
| | | jagdCaseTask.setHandleUnitName(dsrpjCaseTask.getCandeUnitName()); |
| | | jagdCaseTask.setHandleUserName("系统自动"); |
| | | jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | jagdCaseTask.setHandleTime(nowDate); |
| | | jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | jagdCaseTask.setCustId(dsrpjCaseTask.getCustId()); |
| | | jagdCaseTask.setCreateTime(nowDate); |
| | | jagdCaseTask.setUpdateTime(nowDate); |
| | | caseTaskService.save(jagdCaseTask); |
| | | // 结束工作流流程 |
| | | flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_jb_zszz, "系统自动"); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(dsrpjCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.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("[CaseEvaluateService.saveCaseEvaluateWechat]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseEvaluateService.saveCaseEvaluateWechat", e); |