From 80cc7fd5df68a78df4921379a4909a8025febdfc Mon Sep 17 00:00:00 2001 From: xusd <hugeinfo123> Date: Sun, 27 Oct 2024 16:09:03 +0800 Subject: [PATCH] Merge branch 'gzdyh_test' into gzdyh_grid --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 176 insertions(+), 3 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java index bd50d15..fb758dd 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java @@ -34,13 +34,19 @@ 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.GridBaseConsts; +import cn.huge.module.sys.constant.GridEnum; import cn.huge.module.sys.constant.SyTimeEnum; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; +import cn.huge.module.sys.vo.GridTaskVo; +import cn.huge.module.sys.vo.GridToDoBacthVo; +import cn.huge.module.sys.vo.GridToDoVo; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Maps; +import lombok.extern.java.Log; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -52,6 +58,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -642,6 +649,7 @@ List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId); if (CollectionUtils.isNotEmpty(caseAssistInfoList)){ LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>(); + int i = 0; for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){ if (CaseTaskConsts.ASSIST_STATUS_0 == caseAssistInfo.getAssistStatus()) { WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO(); @@ -795,7 +803,9 @@ assistCaseFlowList.add(webAssistCaseFlowDTO); }else { WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO(); - webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()); + // i防止提供给前端的unitId重复 + i++; + webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()+"_"+i); webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)"); LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>(); webAssistCaseFlowDTO.setCaseFlowList(caseFlowList); @@ -1163,7 +1173,7 @@ if (UserBaseConsts.UNIT_GRADE_3 == caseDispBaseDTO.getTargetUnitGrade()) { // 启动来访登记工作流 FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.getJbFlow(caseInfo.getCanal()), caseInfo.getId()); - if (UserBaseConsts.UNIT_TYPE_1 == caseDispBaseDTO.getTargetUnitType()){ + if (UserBaseConsts.UNIT_TYPE_101 == caseDispBaseDTO.getTargetUnitType()){ // 调度给镇街综治中心,进入第1个任务节点-镇街综治中心待分派 CaseTask dfpCaseTask = new CaseTask(); dfpCaseTask.setId(utilsClient.getNewTimeId()); @@ -1202,6 +1212,9 @@ caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); + + //添加网格待办 + this.createGridToDo(caseInfo, dfpCaseTask, GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); }else { // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派 CaseTask dfpCaseTask = new CaseTask(); @@ -1280,6 +1293,9 @@ caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); + + //添加网格待办 + this.createGridToDo(caseInfo, dslCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); } } } @@ -1387,6 +1403,7 @@ caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + return blfkCaseTask.getId(); }catch (Exception e){ log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); @@ -1472,6 +1489,8 @@ caseDismiss.setCreateTime(nowDate); caseDismiss.setUpdateTime(nowDate); caseDismissService.save(caseDismiss); + //删除网格待办 + this.deleteGridTodo(caseTask); }catch (Exception e){ log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAssign", e); @@ -1569,6 +1588,7 @@ dslCaseTask.setUpdateTime(nowDate); mapper.insert(dslCaseTask); // 更新纠纷信息 + CaseInfo caseInfo = caseInfoService.getCaseInfo(dslCaseTask.getCaseId()); CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(dslCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); @@ -1579,6 +1599,8 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + //修改网格待办流程 + this.taskFlowGridToDo(caseInfo, dslCaseTask, dfpCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2); // 交办配合组织 if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ @@ -1669,6 +1691,8 @@ caseAssistInfoPO.setCreateTime(nowDate); caseAssistInfoPO.setUpdateTime(nowDate); caseAssistInfoService.save(caseAssistInfoPO); + //添加网格待办 + this.createGridToDo(caseInfo, lhczdslCaseTask, GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2); } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); @@ -1718,6 +1742,12 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + } + //修改网格待办流程 + CaseInfo caseInfo = caseInfoService.getById(qsCaseTask.getCaseId()); + if(ObjectUtils.isNotEmpty(caseInfo)){ + caseTaskPO.setCandeUnitId(qsCaseTask.getCandeUnitId()); + this.taskFlowGridToDo(caseInfo, caseTaskPO, qsCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); } } }catch (Exception e){ @@ -1794,6 +1824,11 @@ blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); + + //删除网格待办 + dslCaseTaskPO.setCaseId(dslCaseTask.getCaseId()); + this.deleteGridTodo(dslCaseTaskPO); + // 承办组织受理才更新纠纷信息 if (CaseTaskConsts.CASE_TASK_TYPE_1 == dslCaseTask.getCaseTaskType()) { // 更新纠纷信息 @@ -2321,6 +2356,8 @@ caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + //添加网格待办 + this.createGridToDo(caseInfo, jashCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); } } // 查询联合处置申请单,全部结束申请单 @@ -2487,6 +2524,8 @@ newCaseWindupApply.setUpdateTime(nowDate); newCaseWindupApply.setCustId(yjJashCaseTask.getCustId()); caseWindupApplyService.save(newCaseWindupApply); + //修改网格待办流程 + this.taskFlowGridToDo(caseInfo, yjJashCaseTask, jashCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); } // 下一个节点是二级结案审核节点,进入二级结案审核节点任务 if (FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex().equals(nextFlowNode.getNodeId())){ @@ -2533,6 +2572,9 @@ newCaseWindupApply.setUpdateTime(nowDate); newCaseWindupApply.setCustId(ejJashCaseTask.getCustId()); caseWindupApplyService.save(newCaseWindupApply); + //修改网格待办流程 + this.taskFlowGridToDo(caseInfo, ejJashCaseTask, jashCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); + } // 下一个节点是当事人评价节点,进入当事人评价节点任务 if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ @@ -2576,6 +2618,8 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + //删除网格待办 + this.deleteGridTodo(jashCaseTask); } // 下一个节点是结案归档节点,进入结案归档节点任务 if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ @@ -2633,7 +2677,8 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); - + //删除网格待办 + this.deleteGridTodo(jashCaseTask); } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); @@ -2693,6 +2738,8 @@ blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); + //删除网格待办 + this.deleteGridTodo(jashCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(blfkCaseTask.getCaseId()); @@ -2704,6 +2751,7 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); @@ -2791,6 +2839,9 @@ caseReturn.setCaseTaskId(htshCaseTask.getId()); caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType()); caseReturnService.save(caseReturn); + //修改网格待办流程 + CaseInfo caseInfo = caseInfoService.getById(thisCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, htshCaseTask, thisCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); }catch (Exception e){ log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webReturnApply", e); @@ -2882,6 +2933,10 @@ caseInfoService.updateCaseInfo(caseInfoPO); // 有配合组织,结束配合组织工作流程 List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId()); + + //修改网格待办流程 + CaseInfo caseInfo = caseInfoService.getById(htshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); for (CaseTask assistCaseTask: assistCaseTaskList){ // 完成配合组织当前任务 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); @@ -2907,6 +2962,9 @@ .eq("process_instance_id", assistCaseTask.getProcessInstanceId()) .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2); caseAssistInfoService.update(caseAssistInfoUpdateWrapper); + + //修改网格待办流程 + this.taskFlowGridToDo(caseInfo, assistCaseTask, htshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); } }else { // 更新联合处置信息 @@ -2918,6 +2976,9 @@ if (ObjectUtils.isNotEmpty(caseAssistInfo)){ caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1); caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo); + //删除网格待办 + htshCaseTaskPO.setCaseId(htshCaseTask.getCaseId()); + this.deleteGridTodo(htshCaseTaskPO); } } }else { @@ -2987,6 +3048,9 @@ nextCaseTask.setCreateTime(nowDate); nextCaseTask.setUpdateTime(nowDate); mapper.insert(nextCaseTask); + //修改网格待办流程 + CaseInfo caseInfo = caseInfoService.getById(htshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); } }catch (Exception e){ log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e); @@ -3070,6 +3134,9 @@ // 新增上报申请信息 caseAppear.setCaseTaskId(sbshCaseTask.getId()); caseAppearService.save(caseAppear); + //修改网格待办流程 + CaseInfo caseInfo = caseInfoService.getById(thisCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, sbshCaseTask, thisCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); }catch (Exception e){ log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAppearApply", e); @@ -3158,6 +3225,10 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + + //修改网格待办流程 + CaseInfo caseInfo = caseInfoService.getById(sbshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); }else { // 审核不通过 // 完成当前上报审核任务 @@ -3211,6 +3282,10 @@ dfphCaseTask.setCreateTime(nowDate); dfphCaseTask.setUpdateTime(nowDate); mapper.insert(dfphCaseTask); + + //修改网格待办流程 + CaseInfo caseInfo = caseInfoService.getById(sbshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); } }catch (Exception e){ log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); @@ -3244,4 +3319,102 @@ } } + /** + * 根据编号物理删除 + * @param caseId + */ + public void deleteByCaseId(String caseId){ + try{ + mapper.deleteByCaseId(caseId); + }catch (Exception e){ + log.error("[CaseTaskService.deleteByCaseId]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseTaskService.deleteByCaseId", e); + } + } + + public void deleteGridTodo(CaseTask caseTask) { + try { + //删除网格待办任务 + GridTaskVo gridTaskVo = new GridTaskVo(); + gridTaskVo.setCaseId(caseTask.getCaseId()); + gridTaskVo.setCaseTaskId(caseTask.getId()); + sysClient.deleteTaskTodo(gridTaskVo); + } catch (Exception e) { + log.error("删除网格待办失败"); + } + } + + public void createGridToDo(CaseInfo caseInfo, CaseTask caseTask, String gridObjType, String noticeTypeName){ + try { + SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //添加网格待办 + GridToDoBacthVo gridToDoBacthVo = new GridToDoBacthVo(); + gridToDoBacthVo.setObjId(caseTask.getId()); + gridToDoBacthVo.setObjType(gridObjType); + gridToDoBacthVo.setSysContent(""); + gridToDoBacthVo.setYzyContent(""); + gridToDoBacthVo.setObjTag(""); + gridToDoBacthVo.setMobile("18607214221"); + gridToDoBacthVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); + gridToDoBacthVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants()+"的"+caseInfo.getCaseTypeName()+"事件"); + gridToDoBacthVo.setLimitTime(outputFormat.format(caseTask.getExpireTime())); + gridToDoBacthVo.setCaseId(caseInfo.getId()); + sysClient.createTaskToDo(gridToDoBacthVo, caseTask.getCandeUnitId()); + } catch (Exception e) { + log.error("添加网格待办失败"); + log.error(e.getMessage(), e); + } + } + + public void updateGridToDo(CaseInfo caseInfo, CaseTask caseTask, String previousTaskId, String gridObjType, String noticeTypeName) { + try { + //添加网格待办 + GridToDoVo gridToDoVo = new GridToDoVo(); + gridToDoVo.setObjId(caseTask.getId()); + gridToDoVo.setObjType(gridObjType); + gridToDoVo.setSysContent(""); + gridToDoVo.setYzyContent(""); + gridToDoVo.setObjTag(""); + gridToDoVo.setMobile("18607214221"); + gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); + gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件"); + gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime())); + gridToDoVo.setCaseId(caseInfo.getId()); + sysClient.updateTaskTodo(gridToDoVo, previousTaskId); + } catch (Exception e) { + log.error("修改网格待办失败"); + log.error(e.getMessage(), e); + } + } + + public void taskFlowGridToDo(CaseInfo caseInfo, CaseTask caseTask, String previousTaskId, String gridObjType, String noticeTypeName) { + try { + SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //删除网格待办任务 + GridTaskVo gridTaskVo = new GridTaskVo(); + gridTaskVo.setCaseId(caseInfo.getId()); + gridTaskVo.setCaseTaskId(previousTaskId); + sysClient.deleteTaskTodo(gridTaskVo); + //添加网格待办 + GridToDoBacthVo gridToDoBacthVo = new GridToDoBacthVo(); + gridToDoBacthVo.setObjId(caseTask.getId()); + gridToDoBacthVo.setObjType(gridObjType); + gridToDoBacthVo.setSysContent(""); + gridToDoBacthVo.setYzyContent(""); + gridToDoBacthVo.setObjTag(""); + gridToDoBacthVo.setMobile("18607214221"); + gridToDoBacthVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); + gridToDoBacthVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件"); + if(ObjectUtils.isNotEmpty(caseTask.getExpireTime())){ + gridToDoBacthVo.setLimitTime(outputFormat.format(caseTask.getExpireTime())); + }else{ + gridToDoBacthVo.setLimitTime(outputFormat.format(DateUtils.addHour(DateUtils.getNowDate(), 12))); + } + gridToDoBacthVo.setCaseId(caseInfo.getId()); + sysClient.createTaskToDo(gridToDoBacthVo, caseTask.getCandeUnitId()); + } catch (Exception e) { + log.error("修改网格待办流程失败"); + log.error(e.getMessage(), e); + } + } } -- Gitblit v1.8.0