From 2c7324f3b7862999139075fd35032be885fc9c31 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Tue, 22 Oct 2024 15:03:47 +0800
Subject: [PATCH] feat:增加网格待办相关功能

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java |  143 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 143 insertions(+), 0 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 e8ba37a..7d3d06d 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;
@@ -1205,6 +1211,13 @@
                         caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
                         caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                         caseInfoService.updateCaseInfo(caseInfoPO);
+
+                        try {
+                            //添加网格待办
+                            this.createGridToDo(caseInfo, dfpCaseTask, GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
+                        }catch (Exception e){
+                            log.error("添加网格待办失败");
+                        }
                     }else {
                         // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派
                         CaseTask dfpCaseTask = new CaseTask();
@@ -1283,6 +1296,13 @@
                         caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
                         caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                         caseInfoService.updateCaseInfo(caseInfoPO);
+
+                        try {
+                            //添加网格待办
+                            this.createGridToDo(caseInfo, dslCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
+                        }catch (Exception e){
+                            log.error("添加网格待办失败");
+                        }
                     }
                 }
             }
@@ -1390,6 +1410,14 @@
             caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
             caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
             caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+
+            try {
+                //添加网格待办
+                this.createGridToDo(caseInfo, blfkCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
+            }catch (Exception e){
+                log.error("添加网格待办失败");
+            }
+
             return blfkCaseTask.getId();
         }catch (Exception e){
             log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e);
@@ -1475,6 +1503,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);
@@ -1572,6 +1602,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());
@@ -1582,6 +1613,12 @@
             caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
             caseInfoPO.setUpdateTime(nowDate);
             caseInfoService.updateCaseInfo(caseInfoPO);
+
+            try {
+                this.taskFlowGridToDo(caseInfo, dslCaseTask, assignTaskDTO.getCaseTaskId(), GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
+            }catch (Exception e){
+                log.error("添加网格待办失败");
+            }
 
             // 交办配合组织
             if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
@@ -1672,6 +1709,12 @@
                     caseAssistInfoPO.setCreateTime(nowDate);
                     caseAssistInfoPO.setUpdateTime(nowDate);
                     caseAssistInfoService.save(caseAssistInfoPO);
+
+                    try {
+                        this.createGridToDo(caseInfo, lhczdslCaseTask, GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
+                    }catch (Exception e){
+                        log.error("添加网格待办失败");
+                    }
                 }
                 // 更新纠纷扩展信息
                 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1721,6 +1764,10 @@
                     caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                     caseInfoPO.setUpdateTime(nowDate);
                     caseInfoService.updateCaseInfo(caseInfoPO);
+                }
+                CaseInfo caseInfo = caseInfoService.getCaseInfo(qsCaseTask.getCaseId());
+                if(ObjectUtils.isNotEmpty(caseInfo)){
+                    this.taskFlowGridToDo(caseInfo, caseTaskPO, caseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                 }
             }
         }catch (Exception e){
@@ -1797,6 +1844,10 @@
             blfkCaseTask.setCreateTime(nowDate);
             blfkCaseTask.setUpdateTime(nowDate);
             mapper.insert(blfkCaseTask);
+
+            //删除网格待办状态
+            this.deleteGridTodo(dslCaseTaskPO);
+
             // 承办组织受理才更新纠纷信息
             if (CaseTaskConsts.CASE_TASK_TYPE_1 ==  dslCaseTask.getCaseTaskType()) {
                 // 更新纠纷信息
@@ -2324,6 +2375,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);
                 }
             }
             // 查询联合处置申请单,全部结束申请单
@@ -2707,6 +2760,8 @@
                 caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                 caseInfoPO.setUpdateTime(nowDate);
                 caseInfoService.updateCaseInfo(caseInfoPO);
+
+                this.deleteGridTodo(jashCaseTaskPO);
             }
         }catch (Exception e){
             log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
@@ -2794,6 +2849,9 @@
             caseReturn.setCaseTaskId(htshCaseTask.getId());
             caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType());
             caseReturnService.save(caseReturn);
+            //添加网格审核任务
+            CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId());
+            this.createGridToDo(caseInfo, htshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
         }catch (Exception e){
             log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseTaskService.webReturnApply", e);
@@ -2910,6 +2968,10 @@
                                 .eq("process_instance_id", assistCaseTask.getProcessInstanceId())
                                 .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2);
                         caseAssistInfoService.update(caseAssistInfoUpdateWrapper);
+
+                        //修改网格待办
+                        CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId());
+                        this.taskFlowGridToDo(caseInfo, assistCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                     }
                 }else {
                     // 更新联合处置信息
@@ -2922,6 +2984,7 @@
                         caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1);
                         caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo);
                     }
+                    this.deleteGridTodo(htshCaseTaskPO);
                 }
             }else {
                 // 审核不通过
@@ -2990,6 +3053,9 @@
                 nextCaseTask.setCreateTime(nowDate);
                 nextCaseTask.setUpdateTime(nowDate);
                 mapper.insert(nextCaseTask);
+                //修改网格待办
+                CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId());
+                this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
             }
         }catch (Exception e){
             log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e);
@@ -3073,6 +3139,9 @@
             // 新增上报申请信息
             caseAppear.setCaseTaskId(sbshCaseTask.getId());
             caseAppearService.save(caseAppear);
+            //添加网格审核任务
+            CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId());
+            this.createGridToDo(caseInfo, sbshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
         }catch (Exception e){
             log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseTaskService.webAppearApply", e);
@@ -3161,6 +3230,10 @@
                 caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                 caseInfoPO.setUpdateTime(nowDate);
                 caseInfoService.updateCaseInfo(caseInfoPO);
+
+                //网格待办任务处理
+                CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId());
+                this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
             }else {
                 // 审核不通过
                 // 完成当前上报审核任务
@@ -3214,6 +3287,10 @@
                 dfphCaseTask.setCreateTime(nowDate);
                 dfphCaseTask.setUpdateTime(nowDate);
                 mapper.insert(dfphCaseTask);
+
+                //网格待办任务处理
+                CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId());
+                this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
             }
         }catch (Exception e){
             log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e);
@@ -3247,4 +3324,70 @@
         }
     }
 
+    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 {
+            //添加网格待办
+            GridToDoBacthVo gridToDoBacthVo = new GridToDoBacthVo();
+            gridToDoBacthVo.setObjId(caseTask.getId());
+            gridToDoBacthVo.setObjType(gridObjType);
+            gridToDoBacthVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex());
+            gridToDoBacthVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants()+"的"+caseInfo.getCaseTypeName()+"事件");
+            gridToDoBacthVo.setLimitTime(String.valueOf(caseTask.getExpireTime()));
+            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.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 {
+            //删除网格待办任务
+            GridTaskVo gridTaskVo = new GridTaskVo();
+            gridTaskVo.setCaseId(caseInfo.getId());
+            gridTaskVo.setCaseTaskId(previousTaskId);
+            sysClient.deleteTaskTodo(gridTaskVo);
+            //添加网格待办
+            GridToDoVo gridToDoVo = new GridToDoVo();
+            gridToDoVo.setObjId(caseTask.getId());
+            gridToDoVo.setObjType(gridObjType);
+            gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex());
+            gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件");
+            gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime()));
+            gridToDoVo.setCaseId(caseInfo.getId());
+            sysClient.updateTaskTodo(gridToDoVo, previousTaskId);
+        } catch (Exception e) {
+            log.error("添加网格待办失败");
+            log.error(e.getMessage(), e);
+        }
+    }
 }

--
Gitblit v1.8.0