| | |
| | | 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.domain.dto.CaseFlowDTO; |
| | | 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.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; |
| | | import cn.huge.module.cases.domain.po.CaseInfoUnfold; |
| | | import cn.huge.module.cases.domain.po.*; |
| | | 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.draft.domain.po.CasedraftInfo; |
| | | import cn.huge.module.draft.service.CasedraftInfoService; |
| | | import cn.huge.module.mediate.constant.AuditBaseConsts; |
| | | import cn.huge.module.mediate.constant.AuditBaseConstsEnum; |
| | | 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 cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; |
| | | import com.alibaba.fastjson.JSON; |
| | | 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.apache.commons.lang3.StringUtils; |
| | | 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; |
| | | @Autowired |
| | | private CaseAssistApplyService caseAssistApplyService; |
| | | @Autowired |
| | | private CaseAppearService caseAppearService; |
| | | @Autowired |
| | | private CaseReturnService caseReturnService; |
| | | @Autowired |
| | | private CaseEvaluateService caseEvaluateService; |
| | | @Autowired |
| | | private CaseAssistInfoService caseAssistInfoService; |
| | | @Autowired |
| | | private CaseDismissService caseDismissService; |
| | | @Autowired |
| | | private CasedraftInfoService casedraftInfoService; |
| | | |
| | | /** |
| | | * 更新对象 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 根据纠纷编号查询进行中的配合部门任务 |
| | | * @param caseId |
| | | * @return |
| | | */ |
| | | public List<CaseTask> listAssistTasking(String caseId){ |
| | | // 查询配合部门的任务 |
| | | QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); |
| | | caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", caseId) |
| | | .eq("status", CaseTaskConsts.TASK_STATUS_1); |
| | | List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); |
| | | return assistCaseTaskList; |
| | | } |
| | | |
| | | /** |
| | | * web端-任务出来页面-初始化tab和按钮 |
| | | * @param caseTaskId |
| | | * @return |
| | | */ |
| | | public TabButtonDTO webGetTabButton(String caseTaskId, String userId){ |
| | | try{ |
| | | // 临时给前端联调数据 |
| | | TabButtonDTO tabButtonDTO = new TabButtonDTO(); |
| | | List<TabButtonInfoDTO> tabList = new LinkedList<>(); |
| | | // 定义tab |
| | | TabButtonInfoDTO sxxq = new TabButtonInfoDTO(); |
| | | sxxq.setId("sxxq"); |
| | | sxxq.setName("事项详情"); |
| | | tabList.add(sxxq); |
| | | |
| | | TabButtonInfoDTO dslxq = new TabButtonInfoDTO(); |
| | | dslxq.setId("dslxq"); |
| | | dslxq.setName("详情"); |
| | | tabList.add(dslxq); |
| | | |
| | | TabButtonInfoDTO sxbl = new TabButtonInfoDTO(); |
| | | sxbl.setId("sxbl"); |
| | | sxbl.setName("事项办理"); |
| | | tabList.add(sxbl); |
| | | |
| | | TabButtonInfoDTO sqjl = new TabButtonInfoDTO(); |
| | | sqjl.setId("sqjl"); |
| | | sqjl.setName("申请记录"); |
| | | tabList.add(sqjl); |
| | | |
| | | TabButtonInfoDTO htsh = new TabButtonInfoDTO(); |
| | | htsh.setId("htsh"); |
| | | htsh.setName("回退审核"); |
| | | tabList.add(htsh); |
| | | |
| | | TabButtonInfoDTO sbsh = new TabButtonInfoDTO(); |
| | | sbsh.setId("sbsh"); |
| | | sbsh.setName("上报审核"); |
| | | tabList.add(sbsh); |
| | | |
| | | TabButtonInfoDTO jash = new TabButtonInfoDTO(); |
| | | jash.setId("jash"); |
| | | jash.setName("结案审核"); |
| | | tabList.add(jash); |
| | | |
| | | TabButtonInfoDTO lhczsh = new TabButtonInfoDTO(); |
| | | lhczsh.setId("lhczsh"); |
| | | lhczsh.setName("联合处置申请审核"); |
| | | tabList.add(lhczsh); |
| | | |
| | | TabButtonInfoDTO lcdb = new TabButtonInfoDTO(); |
| | | lcdb.setId("lcdb"); |
| | | lcdb.setName("流程督办"); |
| | | tabList.add(lcdb); |
| | | |
| | | TabButtonInfoDTO daxx = new TabButtonInfoDTO(); |
| | | daxx.setId("daxx"); |
| | | daxx.setName("档案信息"); |
| | | tabList.add(daxx); |
| | | tabButtonDTO.setTabList(tabList); |
| | | TabButtonInfoDTO byslxq = new TabButtonInfoDTO(); |
| | | byslxq.setId("byslxq"); |
| | | byslxq.setName("详情"); |
| | | |
| | | List<TabButtonInfoDTO> buttonList = new LinkedList<>(); |
| | | // 定义button |
| | | TabButtonInfoDTO tjbljl = new TabButtonInfoDTO(); |
| | | tjbljl.setId("tjbljl"); |
| | | tjbljl.setName("添加办理记录"); |
| | | buttonList.add(tjbljl); |
| | | |
| | | TabButtonInfoDTO lhczsq = new TabButtonInfoDTO(); |
| | | lhczsq.setId("lhczsq"); |
| | | lhczsq.setName("联合处置申请"); |
| | | buttonList.add(lhczsq); |
| | | |
| | | TabButtonInfoDTO jasq = new TabButtonInfoDTO(); |
| | | jasq.setId("jasq"); |
| | | jasq.setName("结案申请"); |
| | | buttonList.add(jasq); |
| | | |
| | | TabButtonInfoDTO db = new TabButtonInfoDTO(); |
| | | db.setId("db"); |
| | | db.setName("督办"); |
| | | buttonList.add(db); |
| | | |
| | | TabButtonInfoDTO sl = new TabButtonInfoDTO(); |
| | | sl.setId("sl"); |
| | | sl.setName("受理"); |
| | | buttonList.add(sl); |
| | | |
| | | TabButtonInfoDTO ht = new TabButtonInfoDTO(); |
| | | ht.setId("ht"); |
| | | ht.setName("回退"); |
| | | buttonList.add(ht); |
| | | |
| | | TabButtonInfoDTO zxsl = new TabButtonInfoDTO(); |
| | | zxsl.setId("zxsl"); |
| | | zxsl.setName("自行受理"); |
| | | buttonList.add(zxsl); |
| | | |
| | | TabButtonInfoDTO jb = new TabButtonInfoDTO(); |
| | | jb.setId("jb"); |
| | | jb.setName("交办"); |
| | | buttonList.add(jb); |
| | | |
| | | TabButtonInfoDTO sb = new TabButtonInfoDTO(); |
| | | sb.setId("sb"); |
| | | sb.setName("上报"); |
| | | buttonList.add(sb); |
| | | TabButtonInfoDTO bysl = new TabButtonInfoDTO(); |
| | | bysl.setId("bysl"); |
| | | bysl.setName("不予受理"); |
| | | |
| | | // 根据流程显示tab |
| | | List<TabButtonInfoDTO> tabList = new LinkedList<>(); |
| | | // 根据流程显示button |
| | | List<TabButtonInfoDTO> buttonList = new LinkedList<>(); |
| | | // 查询当前任务信息 |
| | | CaseTask caseTask = mapper.selectById(caseTaskId); |
| | | if (ObjectUtils.isNotEmpty(caseTask)) { |
| | | // 已完成任务 |
| | | if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ |
| | | // 不予受理 |
| | | if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){ |
| | | tabList.add(byslxq); |
| | | tabList.add(sqjl); |
| | | }else { |
| | | // 正常任务 |
| | | CaseInfo caseInfo = caseInfoService.getById(caseTask.getCaseId()); |
| | | if (CaseProcessBaseConstsEnum.CASE_PROCESS_6.getIndex() != caseInfo.getProcess()){ |
| | | daxx.setName("详情"); |
| | | } |
| | | tabList.add(daxx); |
| | | tabList.add(lcdb); |
| | | tabList.add(sqjl); |
| | | } |
| | | }else { |
| | | // 进行中任务 |
| | | // 待分派节点 |
| | | if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { |
| | | tabList.add(dslxq); |
| | | tabList.add(sqjl); |
| | | |
| | | sl.setName("自行受理"); |
| | | buttonList.add(sl); |
| | | buttonList.add(jb); |
| | | buttonList.add(sb); |
| | | buttonList.add(bysl); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } |
| | | // 待受理节点 |
| | | if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { |
| | | tabList.add(dslxq); |
| | | tabList.add(sqjl); |
| | | |
| | | buttonList.add(sl); |
| | | buttonList.add(ht); |
| | | buttonList.add(bysl); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } |
| | | // 回退审核节点 |
| | | if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) { |
| | | sxxq.setName("详情"); |
| | | tabList.add(sxxq); |
| | | tabList.add(sqjl); |
| | | tabList.add(htsh); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } |
| | | // 上报审核节点 |
| | | if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId()) |
| | | || FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) { |
| | | sxxq.setName("详情"); |
| | | tabList.add(sxxq); |
| | | tabList.add(sqjl); |
| | | tabList.add(sbsh); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } |
| | | // 办理反馈节点 |
| | | if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { |
| | | if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) { |
| | | tabList.add(sxxq); |
| | | tabList.add(sxbl); |
| | | tabList.add(lcdb); |
| | | tabList.add(sqjl); |
| | | |
| | | buttonList.add(tjbljl); |
| | | buttonList.add(lhczsq); |
| | | buttonList.add(jasq); |
| | | // buttonList.add(db); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } else { |
| | | tabList.add(sxxq); |
| | | tabList.add(sxbl); |
| | | tabList.add(lcdb); |
| | | tabList.add(sqjl); |
| | | |
| | | buttonList.add(tjbljl); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } |
| | | } |
| | | // 结案审核节点 |
| | | if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { |
| | | tabList.add(sxxq); |
| | | tabList.add(sqjl); |
| | | tabList.add(jash); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } |
| | | // 当事人评价节点 |
| | | if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) { |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | tabList.add(lcdb); |
| | | tabList.add(sqjl); |
| | | } |
| | | // 结案归档节点 |
| | | if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) { |
| | | tabList.add(daxx); |
| | | tabList.add(lcdb); |
| | | tabList.add(sqjl); |
| | | } |
| | | // 联合处置-待受理 |
| | | if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) { |
| | | tabList.add(dslxq); |
| | | tabList.add(sqjl); |
| | | |
| | | buttonList.add(sl); |
| | | buttonList.add(ht); |
| | | |
| | | // 额外单独给详情跳转查看 |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | } |
| | | } |
| | | }else { |
| | | daxx.setName("详情"); |
| | | tabList.add(daxx); |
| | | tabList.add(lcdb); |
| | | tabList.add(sqjl); |
| | | } |
| | | // 封装数据 |
| | | TabButtonDTO tabButtonDTO = new TabButtonDTO(); |
| | | tabButtonDTO.setTabList(tabList); |
| | | tabButtonDTO.setButtonList(buttonList); |
| | | return tabButtonDTO; |
| | | }catch (Exception e){ |
| | |
| | | */ |
| | | public Map<String, Object> webListCaseFlow(String caseId, String userId){ |
| | | try{ |
| | | // 临时给前端联调数据 |
| | | Map<String, Object> result = Maps.newHashMap(); |
| | | |
| | | List<CaseFlowDTO> handleCaseFlowList = new LinkedList<>(); |
| | | CaseFlowDTO lfdj = new CaseFlowDTO(); |
| | | lfdj.setNodeShowName("来访登记"); |
| | | lfdj.setHandleUnitName("白云区新市综治中心"); |
| | | lfdj.setHandleUserName("李晓明"); |
| | | lfdj.setTaskType(1); |
| | | lfdj.setStatus(2); |
| | | LinkedList<WebCaseFlowDTO> handleCaseFlowList = new LinkedList<>(); |
| | | // 首节点 |
| | | WebCaseFlowDTO lfdj = new WebCaseFlowDTO(); |
| | | CaseInfo caseInfo = caseInfoService.getById(caseId); |
| | | if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){ |
| | | lfdj.setNodeShowName("来访登记"); |
| | | lfdj.setHandleUserName(caseInfo.getInputUserName()); |
| | | lfdj.setHandleUnitName(caseInfo.getInputUnitName()); |
| | | }else { |
| | | lfdj.setNodeShowName(caseInfo.getCanalName()); |
| | | lfdj.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)"); |
| | | } |
| | | lfdj.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | lfdj.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | lfdj.setHandleTime(new Date()); |
| | | handleCaseFlowList.add(lfdj); |
| | | // 查询承办组织任务 |
| | | QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); |
| | | caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_1).orderByAsc("id"); |
| | | List<CaseTask> handleCaseTaskList = mapper.selectList(caseTaskQueryWrapper); |
| | | for (CaseTask caseTask: handleCaseTaskList){ |
| | | // 已结束节点 |
| | | if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ |
| | | // 待受理并已签收的正常任务节点,需要加多一个签收节点 |
| | | 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()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){ |
| | | if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){ |
| | | WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); |
| | | slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); |
| | | slWebCaseFlowDTO.setHandleNotes("已签收"); |
| | | slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | slWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | handleCaseFlowList.add(slWebCaseFlowDTO); |
| | | } |
| | | } |
| | | // 普通节点 |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); |
| | | webCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | // 回退申请节点 |
| | | if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ |
| | | webCaseFlowDTO.setNodeShowName("事件回退"); |
| | | CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType()); |
| | | if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) { |
| | | webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent()); |
| | | }else { |
| | | webCaseFlowDTO.setHandleNotes("回退理由:-"); |
| | | |
| | | CaseFlowDTO xtpd = new CaseFlowDTO(); |
| | | xtpd.setNodeShowName("事件流转"); |
| | | xtpd.setHandleUnitName("系统派单"); |
| | | xtpd.setHandleTime(new Date()); |
| | | xtpd.setHandleNotes("派单至:白云区新市司法所"); |
| | | xtpd.setTaskType(1); |
| | | xtpd.setStatus(2); |
| | | handleCaseFlowList.add(xtpd); |
| | | |
| | | CaseFlowDTO sjlz = new CaseFlowDTO(); |
| | | sjlz.setNodeShowName("事件流转"); |
| | | sjlz.setHandleUnitName("白云区新市司法所"); |
| | | sjlz.setHandleUserName("赵菲菲"); |
| | | sjlz.setHandleTime(new Date()); |
| | | sjlz.setHandleNotes("已签收"); |
| | | sjlz.setTaskType(1); |
| | | sjlz.setStatus(2); |
| | | handleCaseFlowList.add(sjlz); |
| | | |
| | | CaseFlowDTO sjht = new CaseFlowDTO(); |
| | | sjht.setNodeShowName("事件回退"); |
| | | sjht.setHandleUnitName("白云区新市司法所"); |
| | | sjht.setHandleUserName("赵菲菲"); |
| | | sjht.setHandleTime(new Date()); |
| | | sjht.setTaskType(2); |
| | | sjht.setStatus(2); |
| | | handleCaseFlowList.add(sjht); |
| | | |
| | | CaseFlowDTO htsh = new CaseFlowDTO(); |
| | | htsh.setNodeShowName("回退审核"); |
| | | htsh.setHandleUnitName("白云区新市综治中心"); |
| | | htsh.setHandleUserName("李晓明"); |
| | | htsh.setHandleTime(new Date()); |
| | | htsh.setAuditResult("24_00004-1"); |
| | | htsh.setAuditResultName("通过"); |
| | | htsh.setHandleTime(new Date()); |
| | | htsh.setTaskType(1); |
| | | htsh.setStatus(2); |
| | | handleCaseFlowList.add(htsh); |
| | | |
| | | CaseFlowDTO dsl = new CaseFlowDTO(); |
| | | dsl.setProcessName("待受理"); |
| | | dsl.setHandleUnitName("白云区新市综治中心"); |
| | | dsl.setTaskType(1); |
| | | dsl.setStatus(1); |
| | | handleCaseFlowList.add(dsl); |
| | | } |
| | | } |
| | | // 上报申请节点 |
| | | if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){ |
| | | webCaseFlowDTO.setNodeShowName("事件上报"); |
| | | CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId); |
| | | if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) { |
| | | webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent()); |
| | | }else { |
| | | webCaseFlowDTO.setHandleNotes("上报意见:-" ); |
| | | } |
| | | } |
| | | // 当事人评价节点,特殊处理 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); |
| | | webCaseFlowDTO.setHandleUserName(null); |
| | | }else{ |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | } |
| | | // 审核节点要判断通过/不通过 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){ |
| | | // 处理不通过,任务类型就是回退 |
| | | if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { |
| | | webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); |
| | | webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); |
| | | webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | }else{ |
| | | // 处理通过 |
| | | webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); |
| | | webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); |
| | | } |
| | | // 临时加上 |
| | | webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName()); |
| | | } |
| | | // 结案申请,需要展示化解结果 |
| | | if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){ |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId()); |
| | | if (ObjectUtils.isNotEmpty(caseInfoUnfold)){ |
| | | webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult()); |
| | | webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName()); |
| | | // 临时加上 |
| | | webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName()); |
| | | } |
| | | } |
| | | // 不予受理 |
| | | if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){ |
| | | webCaseFlowDTO.setNodeShowName("不予受理"); |
| | | webCaseFlowDTO.setHandleNotes(null); |
| | | webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_4); |
| | | } |
| | | handleCaseFlowList.add(webCaseFlowDTO); |
| | | }else { |
| | | // 进行中的节点 |
| | | // 待受理并已签收的正常任务节点,需要加多一个签收节点 |
| | | 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()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){ |
| | | if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){ |
| | | WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); |
| | | slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); |
| | | slWebCaseFlowDTO.setHandleNotes("已签收"); |
| | | slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | handleCaseFlowList.add(slWebCaseFlowDTO); |
| | | } |
| | | } |
| | | // 正常节点 |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | // 当事人评价节点,特殊处理 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); |
| | | } |
| | | handleCaseFlowList.add(webCaseFlowDTO); |
| | | } |
| | | } |
| | | result.put("handleCaseFlowList", handleCaseFlowList); |
| | | |
| | | List<CaseFlowDTO> assistCaseFlowList = new LinkedList<>(); |
| | | CaseFlowDTO xtpd2 = new CaseFlowDTO(); |
| | | xtpd2.setNodeShowName("事件流转"); |
| | | xtpd2.setHandleUnitName("联合处置申请"); |
| | | xtpd2.setHandleTime(new Date()); |
| | | xtpd2.setHandleNotes("联合处置申请:白云区永平司法所"); |
| | | xtpd2.setTaskType(1); |
| | | xtpd2.setStatus(2); |
| | | assistCaseFlowList.add(xtpd2); |
| | | result.put("assistCaseFlowList", assistCaseFlowList); |
| | | // 查询配合组织流程 |
| | | List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId); |
| | | if (CollectionUtils.isNotEmpty(caseAssistInfoList)){ |
| | | LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>(); |
| | | for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){ |
| | | WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO(); |
| | | webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()); |
| | | if (CaseTaskConsts.ASSIST_STATUS_0 == caseAssistInfo.getAssistStatus()) { |
| | | webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()); |
| | | }else { |
| | | webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)"); |
| | | } |
| | | LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>(); |
| | | caseTaskQueryWrapper.clear(); |
| | | caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUnitId()) |
| | | .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByAsc("id"); |
| | | List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); |
| | | for (CaseTask caseTask: assistCaseTaskList){ |
| | | // 已结束节点 |
| | | if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ |
| | | // 待受理并已签收的正常任务节点,需要加多一个签收节点 |
| | | 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()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){ |
| | | if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){ |
| | | WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); |
| | | slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); |
| | | slWebCaseFlowDTO.setHandleNotes("已签收"); |
| | | slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | slWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | caseFlowList.add(slWebCaseFlowDTO); |
| | | } |
| | | } |
| | | // 普通节点 |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); |
| | | webCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | // 回退申请节点 |
| | | if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ |
| | | webCaseFlowDTO.setNodeShowName("事件回退"); |
| | | CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType()); |
| | | if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) { |
| | | webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent()); |
| | | }else { |
| | | webCaseFlowDTO.setHandleNotes("回退理由:-"); |
| | | |
| | | } |
| | | } |
| | | // 上报申请节点 |
| | | if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){ |
| | | webCaseFlowDTO.setNodeShowName("事件上报"); |
| | | CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId); |
| | | if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) { |
| | | webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent()); |
| | | }else { |
| | | webCaseFlowDTO.setHandleNotes("上报意见:-" ); |
| | | } |
| | | } |
| | | // 当事人评价节点,特殊处理 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | } |
| | | // 审核节点要判断通过/不通过 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){ |
| | | // 处理不通过,任务类型就是回退 |
| | | if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { |
| | | webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); |
| | | webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); |
| | | webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | }else{ |
| | | // 处理通过 |
| | | webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); |
| | | webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); |
| | | } |
| | | // 临时加上 |
| | | webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName()); |
| | | } |
| | | // 结案申请,需要展示化解结果 |
| | | if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){ |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId()); |
| | | if (ObjectUtils.isNotEmpty(caseInfoUnfold)){ |
| | | webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult()); |
| | | webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName()); |
| | | // 临时加上 |
| | | webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName()); |
| | | } |
| | | } |
| | | caseFlowList.add(webCaseFlowDTO); |
| | | }else { |
| | | // 进行中的节点 |
| | | // 待受理并已签收的正常任务节点,需要加多一个签收节点 |
| | | 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()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){ |
| | | if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){ |
| | | WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); |
| | | slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); |
| | | slWebCaseFlowDTO.setHandleNotes("已签收"); |
| | | slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | caseFlowList.add(slWebCaseFlowDTO); |
| | | } |
| | | } |
| | | // 正常节点 |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | // 当事人评价节点,特殊处理 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); |
| | | } |
| | | caseFlowList.add(webCaseFlowDTO); |
| | | } |
| | | } |
| | | webAssistCaseFlowDTO.setCaseFlowList(caseFlowList); |
| | | assistCaseFlowList.add(webAssistCaseFlowDTO); |
| | | } |
| | | result.put("assistCaseFlowList", assistCaseFlowList); |
| | | } |
| | | return result; |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webGetTabButton]调用失败,异常信息:"+e, e); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 按条件统计 |
| | | * 获取首页统计数量 |
| | | * @param userId 用户编号 |
| | | * @return long |
| | | */ |
| | | public Map<String, Long> getCountList(String userId){ |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | Map<String, Object> terms = new HashMap<>(); |
| | | terms.put("candeUnitId", loginUser.getUnitId()); |
| | | terms.put("candeDeptId", loginUser.getDeptId()); |
| | | mapper.countTaskList(terms); |
| | | superviseService.countCaseSuperviseList(0,loginUser.getUnitId()); |
| | | Map<String, Long> result = new HashMap<>(); |
| | | return result; |
| | | public FrontPageCountDTO getCountList(String userId){ |
| | | try { |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | Map<String, Object> terms = new HashMap<>(); |
| | | terms.put("candeUnitId", loginUser.getUnitId()); |
| | | terms.put("candeDeptId", loginUser.getDeptId()); |
| | | FrontPageCountDTO frontPageCountDTO = mapper.countTaskList(terms); |
| | | long supervise = superviseService.countCaseSuperviseList(0,loginUser.getUnitId()); |
| | | frontPageCountDTO.setSupervise(supervise); |
| | | long countApplyReview = caseWindupApplyService.countApplyReview(loginUser.getUnitId()); |
| | | long countReturnReview = caseReturnService.countReturnReview(loginUser.getUnitId()); |
| | | long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId()); |
| | | long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId()); |
| | | frontPageCountDTO.setReturnReview(countReturnReview); |
| | | frontPageCountDTO.setAppearReview(countAppearReview); |
| | | frontPageCountDTO.setWindupReview(countApplyReview); |
| | | frontPageCountDTO.setAssistReview(countAssistReview); |
| | | frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview); |
| | | // 已办 |
| | | Map<String, Object> ybTerms = new HashMap<>(); |
| | | ybTerms.put("handleUnitId", loginUser.getUnitId()); |
| | | long alreadyDone = mapper.countMyTaskYb(ybTerms); |
| | | frontPageCountDTO.setAlreadyDone(alreadyDone); |
| | | // 已办 |
| | | Map<String, Object> cgTerms = new HashMap<>(); |
| | | cgTerms.put("inputUnitId", loginUser.getUnitId()); |
| | | long caseDraft = casedraftInfoService.countTerms(cgTerms); |
| | | frontPageCountDTO.setCaseDraft(caseDraft); |
| | | return frontPageCountDTO; |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.getCountList]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.getCountList", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-查询待办任务-待/已分派 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListFPDTO> pageMyTaskFp(PageRequest page, Map<String, Object> terms){ |
| | | try { |
| | | long total = mapper.countMyTaskFp(terms); |
| | | List<FrontPageListFPDTO> frontPageListFPDTOList = mapper.pageMyTaskFp(page, terms); |
| | | return new PageImpl<FrontPageListFPDTO>(frontPageListFPDTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskFp]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskFp", e); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 首页-查询待办任务-待/已签收 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListQSDTO> pageMyTaskQs(PageRequest page, Map<String, Object> terms){ |
| | | try { |
| | | long total = mapper.countMyTaskQs(terms); |
| | | List<FrontPageListQSDTO> frontPageListDTOList = mapper.pageMyTaskQs(page, terms); |
| | | return new PageImpl<FrontPageListQSDTO>(frontPageListDTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskQs", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-查询待办任务-待/已受理 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListSLDTO> pageMyTaskSl(PageRequest page, Map<String, Object> terms){ |
| | | try { |
| | | long total = mapper.countMyTaskSl(terms); |
| | | List<FrontPageListSLDTO> frontPageListDTOList = mapper.pageMyTaskSl(page, terms); |
| | | return new PageImpl<FrontPageListSLDTO>(frontPageListDTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskSl]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskSl", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-查询待办任务-办理中 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListBLZDTO> pageMyTaskBlz(PageRequest page, Map<String, Object> terms){ |
| | | try { |
| | | long total = mapper.countMyTaskBlz(terms); |
| | | List<FrontPageListBLZDTO> frontPageListBLZDTOList = mapper.pageMyTaskBlz(page, terms); |
| | | Date now = DateUtils.getNowDate(); |
| | | for(FrontPageListBLZDTO frontPageListBLZDTO: frontPageListBLZDTOList){ |
| | | long milliseconds1 = frontPageListBLZDTO.getTurnaroundTime().getTime(); |
| | | long milliseconds2 = now.getTime(); |
| | | long diff = milliseconds2 - milliseconds1; |
| | | long daysBetween = diff / (24 * 60 * 60 * 1000); |
| | | frontPageListBLZDTO.setProcessingDays(daysBetween); |
| | | } |
| | | return new PageImpl<FrontPageListBLZDTO>(frontPageListBLZDTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskBlz]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskBlz", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-查询待办任务-办理任务 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListJADTO> pageMyTaskJa(PageRequest page, Map<String, Object> terms){ |
| | | try { |
| | | long total = caseWindupApplyService.countMyTaskJa(terms); |
| | | List<FrontPageListJADTO> frontPageListJADTOList = caseWindupApplyService.listMyTaskJa(page, terms); |
| | | return new PageImpl<FrontPageListJADTO>(frontPageListJADTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskJa]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskJa", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-待审核分页查询 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListDTO> pageMyTaskSh(PageRequest page, int type, Map<String, Object> terms){ |
| | | try { |
| | | long total = 0; |
| | | List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>(); |
| | | if(1 == type){ |
| | | total = caseReturnService.countMyTaskReturnReview(terms); |
| | | frontPageListDTOList = caseReturnService.pageMyTaskReturnReview(page,terms); |
| | | }else if(2 == type){ |
| | | total = caseAppearService.countMyTaskAppearReview(terms); |
| | | frontPageListDTOList = caseAppearService.pageMyTaskAppearReview(page, terms); |
| | | }else if(3 == type){ |
| | | total = caseWindupApplyService.countMyTaskApplyReview(terms); |
| | | frontPageListDTOList = caseWindupApplyService.listMyTaskApplyReview(page, terms); |
| | | }else if(4 == type){ |
| | | total = caseAssistApplyService.countMyTaskAssistReview(terms); |
| | | frontPageListDTOList = caseAssistApplyService.pageMyTaskAssistReview(page, terms); |
| | | } |
| | | return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskQs", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-待审核分页查询 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListWSQDDTO> pageMyTaskShWSQD(PageRequest page, Map<String, Object> terms){ |
| | | try { |
| | | long total = mapper.countMyTaskShWSQD(terms); |
| | | List<FrontPageListWSQDDTO> frontPageListWSQDDTOList = mapper.pageMyTaskShWSQD(page,terms); |
| | | return new PageImpl<FrontPageListWSQDDTO>(frontPageListWSQDDTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskQs", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页-待审核分页查询 |
| | | * @param caseId 事项编号 |
| | | * @return Page |
| | | */ |
| | | public List<Object> listMyApplyRecord(String caseId){ |
| | | try { |
| | | QueryWrapper<CaseReturn> caseReturnQueryWrapper = new QueryWrapper<>(); |
| | | caseReturnQueryWrapper.eq("case_id", caseId); |
| | | List<CaseReturn>caseReturnList = caseReturnService.list(caseReturnQueryWrapper); |
| | | |
| | | QueryWrapper<CaseAppear> caseAppearQueryWrapper = new QueryWrapper<>(); |
| | | caseAppearQueryWrapper.eq("case_id", caseId); |
| | | List<CaseAppear>caseAppearList = caseAppearService.list(caseAppearQueryWrapper); |
| | | |
| | | QueryWrapper<CaseWindupApply> caseWindupApplyQueryWrapper = new QueryWrapper<>(); |
| | | caseWindupApplyQueryWrapper.eq("case_id", caseId); |
| | | List<CaseWindupApply>caseWindupApplyList = caseWindupApplyService.list(caseWindupApplyQueryWrapper); |
| | | |
| | | QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>(); |
| | | caseAssistApplyQueryWrapper.eq("case_id", caseId); |
| | | List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper); |
| | | List<SortUtilDTO> sortUtilDTOList = new ArrayList<>(); |
| | | |
| | | List<String> idList = new ArrayList<>(); |
| | | String ids = new String(); |
| | | idList.addAll(caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.toList())); |
| | | idList.addAll(caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.toList())); |
| | | idList.addAll(caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.toList())); |
| | | idList.addAll(caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.toList())); |
| | | ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','")); |
| | | List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>(); |
| | | if(StringUtils.isNotBlank(ids)){ |
| | | Map terms = new HashMap(); |
| | | terms.put("mainId", caseId); |
| | | terms.put("ownerIds", "'" + ids + "'"); |
| | | fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms); |
| | | } |
| | | |
| | | for(CaseReturn caseReturn: caseReturnList){ |
| | | SortUtilDTO sortUtilDTO = new SortUtilDTO(); |
| | | sortUtilDTO.setObject(caseReturn); |
| | | sortUtilDTO.setDate(caseReturn.getCreateTime()); |
| | | sortUtilDTO.setType("回退申请"); |
| | | sortUtilDTOList.add(sortUtilDTO); |
| | | for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ |
| | | if(caseReturn.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ |
| | | sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList()); |
| | | } |
| | | } |
| | | } |
| | | for(CaseAppear caseAppear: caseAppearList){ |
| | | SortUtilDTO sortUtilDTO = new SortUtilDTO(); |
| | | sortUtilDTO.setObject(caseAppear); |
| | | sortUtilDTO.setDate(caseAppear.getCreateTime()); |
| | | sortUtilDTO.setType("上报申请"); |
| | | sortUtilDTOList.add(sortUtilDTO); |
| | | for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ |
| | | if(caseAppear.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ |
| | | sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList()); |
| | | } |
| | | } |
| | | } |
| | | for(CaseWindupApply caseWindupApply: caseWindupApplyList){ |
| | | SortUtilDTO sortUtilDTO = new SortUtilDTO(); |
| | | sortUtilDTO.setObject(caseWindupApply); |
| | | sortUtilDTO.setDate(caseWindupApply.getCreateTime()); |
| | | sortUtilDTO.setType("结案申请"); |
| | | sortUtilDTOList.add(sortUtilDTO); |
| | | for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ |
| | | if(caseWindupApply.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ |
| | | sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList()); |
| | | } |
| | | } |
| | | } |
| | | for(CaseAssistApply caseAssistApply: caseAssistApplyList){ |
| | | SortUtilDTO sortUtilDTO = new SortUtilDTO(); |
| | | sortUtilDTO.setObject(caseAssistApply); |
| | | sortUtilDTO.setDate(caseAssistApply.getCreateTime()); |
| | | sortUtilDTO.setType("联合处置申请"); |
| | | sortUtilDTOList.add(sortUtilDTO); |
| | | for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ |
| | | if(caseAssistApply.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ |
| | | sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList()); |
| | | } |
| | | } |
| | | } |
| | | sortUtilDTOList.sort(Comparator.comparing(SortUtilDTO::getDate)); |
| | | List<Object> resultList = new ArrayList<>(); |
| | | for(SortUtilDTO sortUtilDTO: sortUtilDTOList){ |
| | | resultList.add(sortUtilDTO); |
| | | } |
| | | return resultList; |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.listMyApplyRecord]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.listMyApplyRecord", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * wechat端-查询流程进度 |
| | | * @param caseId 纠纷编号 |
| | | * @return |
| | | */ |
| | | public List<WechatCaseFlowDTO> wechatListCaseFlow(String caseId, String userId){ |
| | | // 封装办理流程 |
| | | 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()); |
| | | tjsq.setProcessStep(1); |
| | | list.add(tjsq); |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId); |
| | | // 办理中 |
| | | if (caseInfo.getInfoProcess() >= CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_2.getIndex()){ |
| | | WechatCaseFlowDTO sxbl = new WechatCaseFlowDTO(); |
| | | sxbl.setProcessName("事项办理"); |
| | | sxbl.setShowTime(caseInfoUnfold.getAcceptTime()); |
| | | sxbl.setMediateUnitName(caseInfoUnfold.getMediateUnitName()); |
| | | sxbl.setProcessStep(2); |
| | | list.add(sxbl); |
| | | } |
| | | // 已结案 |
| | | if (caseInfo.getInfoProcess() >= CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_3.getIndex()){ |
| | | WechatCaseFlowDTO sxbj = new WechatCaseFlowDTO(); |
| | | sxbj.setProcessName("事项办结"); |
| | | sxbj.setShowTime(caseInfoUnfold.getCloseTime()); |
| | | sxbj.setMediResult(caseInfoUnfold.getMediResult()); |
| | | sxbj.setMediResultName(caseInfoUnfold.getMediResultName()); |
| | | sxbj.setProcessStep(3); |
| | | 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()); |
| | | sxpj.setProcessStep(4); |
| | | list.add(sxpj); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * 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); |
| | | log.info(JSON.toJSONString(caseDispBaseDTO)); |
| | | // 目前平台只能调度给组织 |
| | | 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); |
| | | // 任务处理时限 |
| | | if (firstFlowNode.getExpire() != 0) { |
| | | dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); |
| | | } |
| | | 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_2); |
| | | // 任务处理时限 |
| | | if (firstFlowNode.getExpire() != 0) { |
| | | dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); |
| | | } |
| | | dfpCaseTask.setHandleUnitName("系统派单"); |
| | | dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dfpCaseTask.setHandleIllust("派单至:"+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 dslCaseTask = new CaseTask(); |
| | | dslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dslCaseTask.setCaseId(caseInfo.getId()); |
| | | dslCaseTask.setFlowableId(secondFlowNode.getFlowableId()); |
| | | dslCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId()); |
| | | dslCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId()); |
| | | dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dslCaseTask.setNodeType(secondFlowNode.getNodeType()); |
| | | dslCaseTask.setNodeId(secondFlowNode.getNodeId()); |
| | | dslCaseTask.setNodeName(secondFlowNode.getNodeName()); |
| | | dslCaseTask.setFlowId(secondFlowNode.getFlowId()); |
| | | dslCaseTask.setNodeShowName(secondFlowNode.getNodeShowName()); |
| | | dslCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType()); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dslCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId()); |
| | | dslCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName()); |
| | | // 系统调度给调解组织,需要签收 |
| | | dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | dslCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex())); |
| | | // 任务处理时限 |
| | | if (firstFlowNode.getExpire() != 0) { |
| | | dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); |
| | | } |
| | | dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dslCaseTask.setCustId(caseInfo.getCustId()); |
| | | dslCaseTask.setCreateTime(caseInfo.getCreateTime()); |
| | | dslCaseTask.setUpdateTime(caseInfo.getUpdateTime()); |
| | | mapper.insert(dslCaseTask); |
| | | // 更新纠纷信息 |
| | | 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 String webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){ |
| | | try{ |
| | | // 启动自行受理工作流,进入待受理节点 |
| | | FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId()); |
| | | // 创建并完成待受理任务 |
| | | CaseTask dslCaseTask = new CaseTask(); |
| | | dslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dslCaseTask.setCaseId(caseInfo.getId()); |
| | | dslCaseTask.setFlowableId(dslFlowNode.getFlowableId()); |
| | | dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId()); |
| | | dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId()); |
| | | dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dslCaseTask.setNodeType(dslFlowNode.getNodeType()); |
| | | dslCaseTask.setNodeId(dslFlowNode.getNodeId()); |
| | | dslCaseTask.setNodeName(dslFlowNode.getNodeName()); |
| | | dslCaseTask.setFlowId(dslFlowNode.getFlowId()); |
| | | dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName()); |
| | | dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 自行受理,任务候选执行者类型是上一步骤选择 |
| | | dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dslCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | dslCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 自行受理,不需要签收 |
| | | dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | // 任务处理时限 |
| | | if (dslFlowNode.getExpire() != 0) { |
| | | dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), dslFlowNode.getExpire())); |
| | | } |
| | | dslCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | dslCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | dslCaseTask.setHandleUserId(loginUser.getId()); |
| | | dslCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dslCaseTask.setHandleIllust("自行受理"); |
| | | dslCaseTask.setHandleTime(caseInfo.getCreateTime()); |
| | | dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dslCaseTask.setCustId(caseInfo.getCustId()); |
| | | dslCaseTask.setCreateTime(caseInfo.getCreateTime()); |
| | | dslCaseTask.setUpdateTime(caseInfo.getCreateTime()); |
| | | mapper.insert(dslCaseTask); |
| | | // 完成待受理任务,走办理反馈节点 |
| | | FlowNode blfkFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, loginUser.getId()); |
| | | // 进入第1个节点-办理反馈 |
| | | CaseTask blfkCaseTask = new CaseTask(); |
| | | blfkCaseTask.setId(utilsClient.getNewTimeId()); |
| | | blfkCaseTask.setCaseId(caseInfo.getId()); |
| | | 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); |
| | | // 任务处理时限 |
| | | if (blfkFlowNode.getExpire() != 0) { |
| | | blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), blfkFlowNode.getExpire())); |
| | | } |
| | | blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | blfkCaseTask.setCustId(caseInfo.getCustId()); |
| | | blfkCaseTask.setCreateTime(caseInfo.getCreateTime()); |
| | | blfkCaseTask.setUpdateTime(caseInfo.getUpdateTime()); |
| | | mapper.insert(blfkCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(caseInfo.getId()); |
| | | 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(blfkCaseTask.getCreateTime()); |
| | | caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); |
| | | caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | return blfkCaseTask.getId(); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webStartFlowZXSL", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-不予受理 |
| | | * @param caseDismiss 不予受理表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webDismiss(CaseDismiss caseDismiss, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 查询当前任务 |
| | | CaseTask caseTask = mapper.selectById(caseDismiss.getCaseTaskId()); |
| | | // 结束当前任务 |
| | | CaseTask caseTaskPO = new CaseTask(); |
| | | caseTaskPO.setId(caseDismiss.getCaseTaskId()); |
| | | caseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | caseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | caseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | caseTaskPO.setHandleUserId(loginUser.getId()); |
| | | caseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3); |
| | | caseTaskPO.setHandleContent(caseDismiss.getDisContent()); |
| | | caseTaskPO.setHandleTime(nowDate); |
| | | caseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(caseTaskPO); |
| | | // 结束当前工作流任务 |
| | | flowInfoService.endFlow(caseTask.getProcessInstanceId()); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(caseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.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); |
| | | // 有配合部门,也结束配合部门工作流程 |
| | | List<CaseTask> assistCaseTaskList = this.listAssistTasking(caseDismiss.getCaseId()); |
| | | for (CaseTask assistCaseTask: assistCaseTaskList){ |
| | | // 完成配合部门当前任务 |
| | | assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | assistCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | assistCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | assistCaseTask.setHandleUserId(loginUser.getId()); |
| | | assistCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | assistCaseTask.setHandleTime(nowDate); |
| | | assistCaseTask.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(assistCaseTask); |
| | | // 结束配合部门当前工作流任务 |
| | | flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); |
| | | } |
| | | // 新增不予受理信息 |
| | | caseDismiss.setCaseTaskTime(caseTask.getCreateTime()); |
| | | caseDismiss.setDisUnitId(loginUser.getUnitId()); |
| | | caseDismiss.setDisUnitName(loginUser.getUnitName()); |
| | | caseDismiss.setDisUserId(loginUser.getId()); |
| | | caseDismiss.setDisUserName(loginUser.getTrueName()); |
| | | caseDismiss.setDisTime(nowDate); |
| | | caseDismiss.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | caseDismiss.setCustId(caseTask.getCustId()); |
| | | caseDismiss.setCreateTime(nowDate); |
| | | caseDismiss.setUpdateTime(nowDate); |
| | | caseDismissService.save(caseDismiss); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAssign", 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.setHandleContent(assignTaskDTO.getAssignContent()); |
| | | dfpCaseTaskPO.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName()); |
| | | 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 dslCaseTask = new CaseTask(); |
| | | dslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dslCaseTask.setCaseId(dfpCaseTask.getCaseId()); |
| | | dslCaseTask.setFlowableId(newFlowNode.getFlowableId()); |
| | | dslCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId()); |
| | | dslCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId()); |
| | | dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dslCaseTask.setNodeType(newFlowNode.getNodeType()); |
| | | dslCaseTask.setNodeId(newFlowNode.getNodeId()); |
| | | dslCaseTask.setNodeName(newFlowNode.getNodeName()); |
| | | dslCaseTask.setFlowId(newFlowNode.getFlowId()); |
| | | dslCaseTask.setNodeShowName(newFlowNode.getNodeShowName()); |
| | | dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dslCaseTask.setCandeUnitId(dslUnitDTO.getId()); |
| | | dslCaseTask.setCandeUnitName(dslUnitDTO.getUnitName()); |
| | | // 分派的任务,需要签收 |
| | | dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | dslCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex())); |
| | | dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | // 任务处理时限 |
| | | if (newFlowNode.getExpire() != 0) { |
| | | dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire())); |
| | | } |
| | | dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dslCaseTask.setCustId(dfpCaseTask.getCustId()); |
| | | dslCaseTask.setCreateTime(nowDate); |
| | | dslCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dslCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(dslCaseTask.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); |
| | | // 分派配合组织 |
| | | if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ |
| | | // 拼接配合组织编号和名称 |
| | | String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). |
| | | collect(Collectors.joining(BaseConsts.COMMA)); |
| | | String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitName). |
| | | collect(Collectors.joining(BaseConsts.COMMA)); |
| | | for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){ |
| | | // 启动联合处置工作流 |
| | | FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId()); |
| | | // 新建并完成配合部门待分派任务 |
| | | CaseTask lhczdfpCaseTask = new CaseTask(); |
| | | lhczdfpCaseTask.setId(utilsClient.getNewTimeId()); |
| | | lhczdfpCaseTask.setCaseId(dfpCaseTask.getCaseId()); |
| | | lhczdfpCaseTask.setFlowableId(lhczdfpFlowNode.getFlowableId()); |
| | | lhczdfpCaseTask.setProcessInstanceId(lhczdfpFlowNode.getProcessInstanceId()); |
| | | lhczdfpCaseTask.setProcessTaskId(lhczdfpFlowNode.getProcessTaskId()); |
| | | lhczdfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | lhczdfpCaseTask.setNodeType(lhczdfpFlowNode.getNodeType()); |
| | | lhczdfpCaseTask.setNodeId(lhczdfpFlowNode.getNodeId()); |
| | | lhczdfpCaseTask.setNodeName(lhczdfpFlowNode.getNodeName()); |
| | | lhczdfpCaseTask.setFlowId(lhczdfpFlowNode.getFlowId()); |
| | | lhczdfpCaseTask.setNodeShowName(lhczdfpFlowNode.getNodeShowName()); |
| | | lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | lhczdfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | lhczdfpCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); |
| | | lhczdfpCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); |
| | | // 不需要签收 |
| | | lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | lhczdfpCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | lhczdfpCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | lhczdfpCaseTask.setHandleUserId(loginUser.getId()); |
| | | lhczdfpCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | lhczdfpCaseTask.setHandleContent(assignTaskDTO.getAssignContent()); |
| | | lhczdfpCaseTask.setHandleIllust("交办至:"+assistUnitName); |
| | | // 任务处理时限 |
| | | if (lhczdfpFlowNode.getExpire() != 0) { |
| | | lhczdfpCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdfpFlowNode.getExpire())); |
| | | } |
| | | lhczdfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | lhczdfpCaseTask.setCustId(dfpCaseTask.getCustId()); |
| | | lhczdfpCaseTask.setCreateTime(nowDate); |
| | | lhczdfpCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(lhczdfpCaseTask); |
| | | // 完成待分派任务 |
| | | FlowNode lhczdslFlowNode = flowInfoService.completeTask(lhczdfpCaseTask.getFlowableId(), lhczdfpCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, loginUser.getId()); |
| | | // 创建配合部门待受理任务 |
| | | CaseTask lhczdslCaseTask = new CaseTask(); |
| | | lhczdslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | lhczdslCaseTask.setCaseId(lhczdfpCaseTask.getCaseId()); |
| | | lhczdslCaseTask.setFlowableId(lhczdslFlowNode.getFlowableId()); |
| | | lhczdslCaseTask.setProcessInstanceId(lhczdslFlowNode.getProcessInstanceId()); |
| | | lhczdslCaseTask.setProcessTaskId(lhczdslFlowNode.getProcessTaskId()); |
| | | lhczdslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | lhczdslCaseTask.setNodeType(lhczdslFlowNode.getNodeType()); |
| | | lhczdslCaseTask.setNodeId(lhczdslFlowNode.getNodeId()); |
| | | lhczdslCaseTask.setNodeName(lhczdslFlowNode.getNodeName()); |
| | | lhczdslCaseTask.setFlowId(lhczdslFlowNode.getFlowId()); |
| | | lhczdslCaseTask.setNodeShowName(lhczdslFlowNode.getNodeShowName()); |
| | | lhczdslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | lhczdslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | lhczdslCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); |
| | | lhczdslCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); |
| | | // 需要签收 |
| | | lhczdslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | lhczdslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | // 任务处理时限 |
| | | if (lhczdslFlowNode.getExpire() != 0) { |
| | | lhczdslCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdslFlowNode.getExpire())); |
| | | } |
| | | lhczdslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | lhczdslCaseTask.setCustId(lhczdfpCaseTask.getCustId()); |
| | | lhczdslCaseTask.setCreateTime(nowDate); |
| | | lhczdslCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(lhczdslCaseTask); |
| | | // 新增联合处置信息 |
| | | CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo(); |
| | | caseAssistInfoPO.setId(utilsClient.getNewTimeId()); |
| | | caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId()); |
| | | caseAssistInfoPO.setAssistUnitId(assignAssistUnitDTO.getUitId()); |
| | | caseAssistInfoPO.setAssistUnitName(assignAssistUnitDTO.getUitName()); |
| | | caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0); |
| | | caseAssistInfoPO.setCustId(dslCaseTask.getCustId()); |
| | | caseAssistInfoPO.setCreateTime(nowDate); |
| | | caseAssistInfoPO.setUpdateTime(nowDate); |
| | | caseAssistInfoService.save(caseAssistInfoPO); |
| | | } |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | | caseInfoUnfoldPO.setId(dslCaseTask.getCaseId()); |
| | | caseInfoUnfoldPO.setAssistUnitId(assistUnitId); |
| | | caseInfoUnfoldPO.setAssistUnitName(assistUnitName); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAssign", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-签收 |
| | | * @param signTaskDTOList 签收任务表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webSign(List<SignTaskDTO> signTaskDTOList, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | for (SignTaskDTO signTaskDTO: signTaskDTOList){ |
| | | CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseTaskId()); |
| | | // 更新纠纷任务信息 |
| | | CaseTask caseTaskPO = new CaseTask(); |
| | | caseTaskPO.setId(qsCaseTask.getId()); |
| | | caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); |
| | | caseTaskPO.setSignTime(nowDate); |
| | | caseTaskPO.setSignUserId(loginUser.getId()); |
| | | caseTaskPO.setSignUserName(loginUser.getTrueName()); |
| | | caseTaskPO.setHandleIllust("已签收"); |
| | | caseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(caseTaskPO); |
| | | // 承办部门签收才更新纠纷信息 |
| | | if (CaseTaskConsts.CASE_TASK_TYPE_1 == qsCaseTask.getCaseTaskType()) { |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(qsCaseTask.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 String 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.setHandleIllust("已受理"); |
| | | dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dslCaseTaskPO.setHandleTime(nowDate); |
| | | dslCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(dslCaseTaskPO); |
| | | // 完成当前待受理工作流任务 |
| | | String operation = FlowableConsts.OPERATION_sl; |
| | | // 配合部门受理条件改为通过 |
| | | if (CaseTaskConsts.CASE_TASK_TYPE_2 == dslCaseTask.getCaseTaskType()) { |
| | | operation = FlowableConsts.OPERATION_forward; |
| | | } |
| | | FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), |
| | | operation, 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(dslCaseTask.getCaseTaskType()); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | 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); |
| | | // 任务处理时限 |
| | | if (newFlowNode.getExpire() != 0) { |
| | | blfkCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire())); |
| | | } |
| | | blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | blfkCaseTask.setCustId(dslCaseTask.getCustId()); |
| | | blfkCaseTask.setCreateTime(nowDate); |
| | | blfkCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(blfkCaseTask); |
| | | // 承办部门签收才更新纠纷信息 |
| | | if (CaseTaskConsts.CASE_TASK_TYPE_1 == dslCaseTask.getCaseTaskType()) { |
| | | // 更新纠纷信息 |
| | | 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.setAcceptTime(nowDate); |
| | | caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); |
| | | caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | }else { |
| | | // 更新配合部门联合处置信息 |
| | | QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>(); |
| | | caseAssistInfoQueryWrapper.eq("case_id", blfkCaseTask.getCaseId()) |
| | | .eq("assist_unit_id", loginUser.getUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0); |
| | | CaseAssistInfo caseAssistInfoPO = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper); |
| | | caseAssistInfoPO.setCaseTaskId(blfkCaseTask.getId()); |
| | | caseAssistInfoPO.setAcceptTime(nowDate); |
| | | caseAssistInfoService.updateCaseAssistInfo(caseAssistInfoPO); |
| | | } |
| | | return blfkCaseTask.getId(); |
| | | }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.getId()); |
| | | caseWindupApply.setApplyUserName(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.setHandleContent(caseWindupApply.getWindupContent()); |
| | | 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(DateUtils.addMinute(nowDate, 1)); |
| | | jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | jashCaseTask.setCustId(jasqCaseTask.getCustId()); |
| | | jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); |
| | | jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); |
| | | 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); |
| | | // 任务处理时限 |
| | | if (dsrpjFlowNode.getExpire() != 0) { |
| | | dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); |
| | | } |
| | | dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); |
| | | dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); |
| | | dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); |
| | | 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(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_1); |
| | | // 任务处理时限 |
| | | if (jashFlowNode.getExpire() != 0) { |
| | | jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire())); |
| | | } |
| | | jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | jashCaseTask.setCustId(jasqCaseTask.getCustId()); |
| | | jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); |
| | | jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); |
| | | mapper.insert(jashCaseTask); |
| | | // 更新结案申请信息 |
| | | caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); |
| | | caseWindupApply.setCaseTaskId(jashCaseTask.getId()); |
| | | caseWindupApply.setAuditUnitId(jashCaseTask.getCandeUnitId()); |
| | | caseWindupApply.setAuditUnitName(jashCaseTask.getCandeUnitName()); |
| | | 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.setUpdateTime(nowDate); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | } |
| | | // 查询配合部门的任务,全部结束流程 |
| | | List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId()); |
| | | for (CaseTask assistCaseTask: assistCaseTaskList){ |
| | | // 完成配合部门当前任务 |
| | | assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | assistCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | assistCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | assistCaseTask.setHandleUserId(loginUser.getId()); |
| | | assistCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | assistCaseTask.setHandleTime(nowDate); |
| | | assistCaseTask.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(assistCaseTask); |
| | | // 结束配合部门当前工作流任务 |
| | | flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); |
| | | } |
| | | }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.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | caseWindupApply.setCustId(loginUser.getCustId()); |
| | | caseWindupApply.setAuditTime(nowDate); |
| | | caseWindupApply.setUpdateTime(nowDate); |
| | | caseWindupApplyService.updateCaseWindupApply(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.setHandleContent(caseWindupApply.getAuditContent()); |
| | | 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); |
| | | // 任务处理时限 |
| | | if (dsrpjFlowNode.getExpire() != 0) { |
| | | dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); |
| | | } |
| | | 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.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.setHandleContent(caseWindupApply.getAuditContent()); |
| | | 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); |
| | | // 任务处理时限 |
| | | if (blfkFlowNode.getExpire() != 0) { |
| | | blfkCaseTask.setExpireTime(DateUtils.addDay(nowDate, blfkFlowNode.getExpire())); |
| | | } |
| | | 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); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webWindupApply", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-回退申请 |
| | | * @param caseReturn 回退申请表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webReturnApply(CaseReturn caseReturn, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 创建回退申请信息 |
| | | caseReturn.setReturnUnitId(loginUser.getUnitId()); |
| | | caseReturn.setReturnUnitName(loginUser.getUnitName()); |
| | | caseReturn.setReturnUserId(loginUser.getId()); |
| | | caseReturn.setReturnUserName(loginUser.getTrueName()); |
| | | caseReturn.setReturnTime(nowDate); |
| | | CtUnitDTO zzzxUnit = custClient.getParentZzzxUnit(loginUser.getUnitId()); |
| | | caseReturn.setAuditUnitId(zzzxUnit.getId()); |
| | | caseReturn.setAuditUnitName(zzzxUnit.getUnitName()); |
| | | caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_0); |
| | | caseReturn.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | caseReturn.setCustId(loginUser.getCustId()); |
| | | caseReturn.setCreateTime(nowDate); |
| | | caseReturn.setUpdateTime(nowDate); |
| | | // 查询待受理任务 |
| | | CaseTask dslCaseTask = mapper.selectById(caseReturn.getCaseTaskId()); |
| | | // 完成当前待受理任务 |
| | | CaseTask dslCaseTaskPO = new CaseTask(); |
| | | dslCaseTaskPO.setId(caseReturn.getCaseTaskId()); |
| | | dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | dslCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | dslCaseTaskPO.setHandleContent(caseReturn.getReturnContent()); |
| | | dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dslCaseTaskPO.setHandleTime(nowDate); |
| | | dslCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(dslCaseTaskPO); |
| | | // 完成当前待受理工作流任务,走回退审核任务 |
| | | FlowNode htshFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_htsq, userId); |
| | | // 新建回退审核任务 |
| | | CaseTask htshCaseTask = new CaseTask(); |
| | | htshCaseTask.setId(utilsClient.getNewTimeId()); |
| | | htshCaseTask.setCaseId(dslCaseTask.getCaseId()); |
| | | htshCaseTask.setFlowableId(htshFlowNode.getFlowableId()); |
| | | htshCaseTask.setProcessInstanceId(htshFlowNode.getProcessInstanceId()); |
| | | htshCaseTask.setProcessTaskId(htshFlowNode.getProcessTaskId()); |
| | | htshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | htshCaseTask.setNodeType(htshFlowNode.getNodeType()); |
| | | htshCaseTask.setNodeId(htshFlowNode.getNodeId()); |
| | | htshCaseTask.setNodeName(htshFlowNode.getNodeName()); |
| | | htshCaseTask.setFlowId(htshFlowNode.getFlowId()); |
| | | htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName()); |
| | | htshCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType()); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | // CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId()); |
| | | htshCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | htshCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | htshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | // 任务处理时限 |
| | | if (htshFlowNode.getExpire() != 0) { |
| | | htshCaseTask.setExpireTime(DateUtils.addDay(nowDate, htshFlowNode.getExpire())); |
| | | } |
| | | htshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | htshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | htshCaseTask.setCustId(htshCaseTask.getCustId()); |
| | | htshCaseTask.setCreateTime(nowDate); |
| | | htshCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(htshCaseTask); |
| | | // 新增回退申请信息 |
| | | caseReturn.setCaseTaskId(htshCaseTask.getId()); |
| | | caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType()); |
| | | caseReturnService.save(caseReturn); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAppearApply", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-回退审核 |
| | | * @param caseReturn 回退审核表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webReturnAudit(CaseReturn caseReturn, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 更新回退申请信息 |
| | | caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_1); |
| | | caseReturn.setAuditUserId(loginUser.getId()); |
| | | caseReturn.setAuditUserName(loginUser.getTrueName()); |
| | | caseReturn.setAuditTime(nowDate); |
| | | caseReturn.setUpdateTime(nowDate); |
| | | caseReturnService.updateCaseReturn(caseReturn); |
| | | // 查询回退审核任务 |
| | | CaseTask htshCaseTask = mapper.selectById(caseReturn.getCaseTaskId()); |
| | | // 审核通过 |
| | | if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseReturn.getAuditResult())){ |
| | | // 完成当前回退审核任务 |
| | | CaseTask htshCaseTaskPO = new CaseTask(); |
| | | htshCaseTaskPO.setId(caseReturn.getCaseTaskId()); |
| | | htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | htshCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); |
| | | htshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | htshCaseTaskPO.setHandleTime(nowDate); |
| | | htshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(htshCaseTaskPO); |
| | | // 完成当前回退审核任务,承办部门走待分派任务,配合部门结束流程 |
| | | FlowNode dfpFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_htsh_ty, userId); |
| | | if (CaseTaskConsts.CASE_TASK_TYPE_1 == htshCaseTask.getCaseTaskType()) { |
| | | // 新建待分派任务 |
| | | CaseTask dfphCaseTask = new CaseTask(); |
| | | dfphCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dfphCaseTask.setCaseId(htshCaseTask.getCaseId()); |
| | | dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); |
| | | dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); |
| | | dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); |
| | | dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); |
| | | dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); |
| | | dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); |
| | | dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); |
| | | dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); |
| | | dfphCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType()); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dfphCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | dfphCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | // 任务处理时限 |
| | | if (dfpFlowNode.getExpire() != 0) { |
| | | dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); |
| | | } |
| | | dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dfphCaseTask.setCustId(dfphCaseTask.getCustId()); |
| | | dfphCaseTask.setCreateTime(nowDate); |
| | | dfphCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dfphCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(htshCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | 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); |
| | | // 有配合部门,也结束配合部门工作流程 |
| | | List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId()); |
| | | for (CaseTask assistCaseTask: assistCaseTaskList){ |
| | | // 完成配合部门当前任务 |
| | | assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | assistCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | assistCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | assistCaseTask.setHandleUserId(loginUser.getId()); |
| | | assistCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | assistCaseTask.setHandleTime(nowDate); |
| | | assistCaseTask.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(assistCaseTask); |
| | | // 结束配合部门当前工作流任务 |
| | | flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); |
| | | } |
| | | }else { |
| | | // 更新联合处置信息 |
| | | QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>(); |
| | | caseAssistInfoQueryWrapper.eq("case_id", htshCaseTask.getCaseId()).eq("assist_unit_id", htshCaseTask.getCandeUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0); |
| | | CaseAssistInfo caseAssistInfo = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper); |
| | | if (ObjectUtils.isNotEmpty(caseAssistInfo)){ |
| | | caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1); |
| | | caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo); |
| | | } |
| | | } |
| | | }else { |
| | | // 审核不通过 |
| | | // 完成当前回退审核任务 |
| | | CaseTask htshCaseTaskPO = new CaseTask(); |
| | | htshCaseTaskPO.setId(caseReturn.getCaseTaskId()); |
| | | htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | htshCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | htshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); |
| | | htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); |
| | | htshCaseTaskPO.setHandleTime(nowDate); |
| | | htshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(htshCaseTaskPO); |
| | | CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId()); |
| | | CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId()); |
| | | String operation = FlowableConsts.OPERATION_htsh_bty; |
| | | if (UserBaseConsts.UNIT_GRADE_2 == returnUnit.getUnitGrade()){ |
| | | operation = FlowableConsts.OPERATION_htsh_bty_qj; |
| | | } |
| | | if(UserBaseConsts.UNIT_GRADE_1 == returnUnit.getUnitGrade()){ |
| | | operation = FlowableConsts.OPERATION_htsh_bty_sj; |
| | | } |
| | | // 完成当前上报审核任务,走待受理任务 |
| | | FlowNode dslFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), |
| | | operation, userId); |
| | | // 新建待分派任务 |
| | | CaseTask dslCaseTask = new CaseTask(); |
| | | dslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dslCaseTask.setCaseId(htshCaseTask.getCaseId()); |
| | | dslCaseTask.setFlowableId(dslFlowNode.getFlowableId()); |
| | | dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId()); |
| | | dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId()); |
| | | dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dslCaseTask.setNodeType(dslFlowNode.getNodeType()); |
| | | dslCaseTask.setNodeId(dslFlowNode.getNodeId()); |
| | | dslCaseTask.setNodeName(dslFlowNode.getNodeName()); |
| | | dslCaseTask.setFlowId(dslFlowNode.getFlowId()); |
| | | dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName()); |
| | | dslCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType()); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dslCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId()); |
| | | dslCaseTask.setCandeUnitName(btyCaseReturn.getReturnUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | // 任务处理时限 |
| | | if (dslFlowNode.getExpire() != 0) { |
| | | dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, dslFlowNode.getExpire())); |
| | | } |
| | | dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dslCaseTask.setCustId(dslCaseTask.getCustId()); |
| | | dslCaseTask.setCreateTime(nowDate); |
| | | dslCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dslCaseTask); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webReturnAudit", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-上报 |
| | | * @param caseAppear 上报表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webAppearApply(CaseAppear caseAppear, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 创建上报信息 |
| | | caseAppear.setAppearUnitId(loginUser.getUnitId()); |
| | | caseAppear.setAppearUnitName(loginUser.getUnitName()); |
| | | caseAppear.setAppearUserId(loginUser.getId()); |
| | | caseAppear.setAppearUserName(loginUser.getTrueName()); |
| | | caseAppear.setAppearTime(nowDate); |
| | | caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); |
| | | caseAppear.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | caseAppear.setCustId(loginUser.getCustId()); |
| | | caseAppear.setCreateTime(nowDate); |
| | | caseAppear.setUpdateTime(nowDate); |
| | | // 查询待受理任务 |
| | | CaseTask dslCaseTask = mapper.selectById(caseAppear.getCaseTaskId()); |
| | | // 完成当前待受理任务 |
| | | CaseTask dslCaseTaskPO = new CaseTask(); |
| | | dslCaseTaskPO.setId(caseAppear.getCaseTaskId()); |
| | | dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_3); |
| | | dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | dslCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | dslCaseTaskPO.setHandleContent(caseAppear.getAppearContent()); |
| | | dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dslCaseTaskPO.setHandleTime(nowDate); |
| | | dslCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(dslCaseTaskPO); |
| | | // 完成当前待受理工作流任务,走上报审核任务 |
| | | FlowNode sbshFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_sb, userId); |
| | | // 新建上报审核任务 |
| | | CaseTask sbshCaseTask = new CaseTask(); |
| | | sbshCaseTask.setId(utilsClient.getNewTimeId()); |
| | | sbshCaseTask.setCaseId(dslCaseTask.getCaseId()); |
| | | sbshCaseTask.setFlowableId(sbshFlowNode.getFlowableId()); |
| | | sbshCaseTask.setProcessInstanceId(sbshFlowNode.getProcessInstanceId()); |
| | | sbshCaseTask.setProcessTaskId(sbshFlowNode.getProcessTaskId()); |
| | | sbshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | sbshCaseTask.setNodeType(sbshFlowNode.getNodeType()); |
| | | sbshCaseTask.setNodeId(sbshFlowNode.getNodeId()); |
| | | sbshCaseTask.setNodeName(sbshFlowNode.getNodeName()); |
| | | sbshCaseTask.setFlowId(sbshFlowNode.getFlowId()); |
| | | sbshCaseTask.setNodeShowName(sbshFlowNode.getNodeShowName()); |
| | | sbshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | sbshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | sbshCaseTask.setCandeUnitId(caseAppear.getAuditUnitId()); |
| | | sbshCaseTask.setCandeUnitName(caseAppear.getAuditUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | sbshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | // 任务处理时限 |
| | | if (sbshFlowNode.getExpire() != 0) { |
| | | sbshCaseTask.setExpireTime(DateUtils.addDay(nowDate, sbshFlowNode.getExpire())); |
| | | } |
| | | sbshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | sbshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | sbshCaseTask.setCustId(sbshCaseTask.getCustId()); |
| | | sbshCaseTask.setCreateTime(nowDate); |
| | | sbshCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(sbshCaseTask); |
| | | // 新增上报申请信息 |
| | | caseAppear.setCaseTaskId(sbshCaseTask.getId()); |
| | | caseAppearService.save(caseAppear); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAppearApply", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端任务处理-上报审核 |
| | | * @param caseAppear 上报审核表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webAppearAudit(CaseAppear caseAppear, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 更新上报信息 |
| | | caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); |
| | | caseAppear.setAuditUserId(loginUser.getId()); |
| | | caseAppear.setAuditUserName(loginUser.getTrueName()); |
| | | caseAppear.setAuditTime(nowDate); |
| | | caseAppear.setUpdateTime(nowDate); |
| | | caseAppearService.updateCaseAppear(caseAppear); |
| | | // 查询上报审核任务 |
| | | CaseTask sbshCaseTask = mapper.selectById(caseAppear.getCaseTaskId()); |
| | | // 审核通过 |
| | | if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAppear.getAuditResult())){ |
| | | // 完成当前上报审核任务 |
| | | CaseTask sbshCaseTaskPO = new CaseTask(); |
| | | sbshCaseTaskPO.setId(caseAppear.getCaseTaskId()); |
| | | sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | sbshCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent()); |
| | | sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | sbshCaseTaskPO.setHandleTime(nowDate); |
| | | sbshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(sbshCaseTaskPO); |
| | | // 完成当前上报审核任务,走待分派任务 |
| | | FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_sbsh_ty, userId); |
| | | // 新建待分派任务 |
| | | CaseTask dfphCaseTask = new CaseTask(); |
| | | dfphCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); |
| | | dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); |
| | | dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); |
| | | dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); |
| | | dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); |
| | | dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); |
| | | dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); |
| | | dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); |
| | | dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); |
| | | dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dfphCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | dfphCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | // 任务处理时限 |
| | | if (dfpFlowNode.getExpire() != 0) { |
| | | dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); |
| | | } |
| | | dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dfphCaseTask.setCustId(dfphCaseTask.getCustId()); |
| | | dfphCaseTask.setCreateTime(nowDate); |
| | | dfphCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dfphCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(sbshCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | 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); |
| | | }else { |
| | | // 审核不通过 |
| | | // 完成当前上报审核任务 |
| | | CaseTask sbshCaseTaskPO = new CaseTask(); |
| | | sbshCaseTaskPO.setId(caseAppear.getCaseTaskId()); |
| | | sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | sbshCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent()); |
| | | sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); |
| | | sbshCaseTaskPO.setHandleTime(nowDate); |
| | | sbshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(sbshCaseTaskPO); |
| | | // 完成当前上报审核任务,走待分派任务 |
| | | FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_sbsh_bty, userId); |
| | | // 新建待分派任务 |
| | | CaseTask dfphCaseTask = new CaseTask(); |
| | | dfphCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); |
| | | dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); |
| | | dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); |
| | | dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); |
| | | dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); |
| | | dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); |
| | | dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); |
| | | dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); |
| | | dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); |
| | | dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dfphCaseTask.setCandeUnitId(caseAppear.getAppearUnitId()); |
| | | dfphCaseTask.setCandeUnitName(caseAppear.getAppearUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | // 任务处理时限 |
| | | if (dfpFlowNode.getExpire() != 0) { |
| | | dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); |
| | | } |
| | | dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dfphCaseTask.setCustId(dfphCaseTask.getCustId()); |
| | | dfphCaseTask.setCreateTime(nowDate); |
| | | dfphCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dfphCaseTask); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAppearAudit", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 按条件查询 |
| | | * @param terms 条件 |
| | | * @return List |
| | | */ |
| | | public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){ |
| | | return mapper.listIdByTerms(terms); |
| | | } |
| | | |
| | | /** |
| | | * web端-工作台-已办事项 |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListYBDTO> pageMyTaskYb(PageRequest page, Map<String, Object> terms){ |
| | | try { |
| | | long total = mapper.countMyTaskYb(terms); |
| | | List<FrontPageListYBDTO> frontPageListYBDTOList = mapper.pageMyTaskYb(page, terms); |
| | | return new PageImpl<FrontPageListYBDTO>(frontPageListYBDTOList, page, total); |
| | | }catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskYb]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("CaseTaskService.pageMyTaskYb", e); |
| | | } |
| | | } |
| | | |
| | | } |