forked from gzzfw/backEnd/gz-dyh

wangwh
2024-10-25 0d514ca5405b42b3d31e2e68d7a1e9e834cae706
fix:调试待办工单
6 files modified
291 ■■■■■ changed files
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/vo/GridToDoBacthVo.java 5 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java 150 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/dao/mapper/GridCaseTaskMapper.java 6 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/dao/mapper/xml/GridCaseTaskMapper.xml 4 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java 114 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridUserService.java 12 ●●●● patch | view | raw | blame | history
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/vo/GridToDoBacthVo.java
@@ -53,5 +53,8 @@
     * 接收用户手机号
     */
    private String mobile;
    /**
     * 事件编号
     */
    private String caseId;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -58,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;
@@ -1212,12 +1213,8 @@
                        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("添加网格待办失败");
                        }
                        //添加网格待办
                        this.createGridToDo(caseInfo, dfpCaseTask, GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                    }else {
                        // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派
                        CaseTask dfpCaseTask = new CaseTask();
@@ -1297,12 +1294,8 @@
                        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("添加网格待办失败");
                        }
                        //添加网格待办
                        this.createGridToDo(caseInfo, dslCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                    }
                }
            }
@@ -1410,13 +1403,6 @@
            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){
@@ -1613,12 +1599,8 @@
            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("添加网格待办失败");
            }
            //修改网格待办流程
            this.taskFlowGridToDo(caseInfo, dslCaseTask, dfpCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
            // 交办配合组织
            if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
@@ -1709,12 +1691,8 @@
                    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("添加网格待办失败");
                    }
                    //添加网格待办
                    this.createGridToDo(caseInfo, lhczdslCaseTask, GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2);
                }
                // 更新纠纷扩展信息
                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1765,9 +1743,11 @@
                    caseInfoPO.setUpdateTime(nowDate);
                    caseInfoService.updateCaseInfo(caseInfoPO);
                }
                CaseInfo caseInfo = caseInfoService.getCaseInfo(qsCaseTask.getCaseId());
                //修改网格待办流程
                CaseInfo caseInfo = caseInfoService.getById(qsCaseTask.getCaseId());
                if(ObjectUtils.isNotEmpty(caseInfo)){
                    this.taskFlowGridToDo(caseInfo, caseTaskPO, caseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                    caseTaskPO.setCandeUnitId(qsCaseTask.getCandeUnitId());
                    this.taskFlowGridToDo(caseInfo, caseTaskPO, qsCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3);
                }
            }
        }catch (Exception e){
@@ -1845,7 +1825,8 @@
            blfkCaseTask.setUpdateTime(nowDate);
            mapper.insert(blfkCaseTask);
            //删除网格待办状态
            //删除网格待办
            dslCaseTaskPO.setCaseId(dslCaseTask.getCaseId());
            this.deleteGridTodo(dslCaseTaskPO);
            // 承办组织受理才更新纠纷信息
@@ -2375,7 +2356,7 @@
                    caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
                    caseInfoUnfoldPO.setUpdateTime(nowDate);
                    caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
                    //添加网格待办
                    this.createGridToDo(caseInfo, jashCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4);
                }
            }
@@ -2543,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())){
@@ -2589,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())){
@@ -2632,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())){
@@ -2689,7 +2677,8 @@
                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                    caseInfoPO.setUpdateTime(nowDate);
                    caseInfoService.updateCaseInfo(caseInfoPO);
                    //删除网格待办
                    this.deleteGridTodo(jashCaseTask);
                }
                // 更新纠纷扩展信息
                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -2749,6 +2738,8 @@
                blfkCaseTask.setCreateTime(nowDate);
                blfkCaseTask.setUpdateTime(nowDate);
                mapper.insert(blfkCaseTask);
                //删除网格待办
                this.deleteGridTodo(jashCaseTask);
                // 更新纠纷信息
                CaseInfo caseInfoPO = new CaseInfo();
                caseInfoPO.setId(blfkCaseTask.getCaseId());
@@ -2761,7 +2752,6 @@
                caseInfoPO.setUpdateTime(nowDate);
                caseInfoService.updateCaseInfo(caseInfoPO);
                this.deleteGridTodo(jashCaseTaskPO);
            }
        }catch (Exception e){
            log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
@@ -2849,9 +2839,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);
            //修改网格待办流程
            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);
@@ -2943,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);
@@ -2969,9 +2963,8 @@
                                .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);
                        //修改网格待办流程
                        this.taskFlowGridToDo(caseInfo, assistCaseTask, htshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
                    }
                }else {
                    // 更新联合处置信息
@@ -2983,8 +2976,10 @@
                    if (ObjectUtils.isNotEmpty(caseAssistInfo)){
                        caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1);
                        caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo);
                        //删除网格待办
                        htshCaseTaskPO.setCaseId(htshCaseTask.getCaseId());
                        this.deleteGridTodo(htshCaseTaskPO);
                    }
                    this.deleteGridTodo(htshCaseTaskPO);
                }
            }else {
                // 审核不通过
@@ -3053,9 +3048,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);
                //修改网格待办流程
                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);
@@ -3139,9 +3134,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);
            //修改网格待办流程
            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);
@@ -3231,9 +3226,9 @@
                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);
                //修改网格待办流程
                CaseInfo caseInfo = caseInfoService.getById(sbshCaseTask.getCaseId());
                this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTask.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1);
            }else {
                // 审核不通过
                // 完成当前上报审核任务
@@ -3288,9 +3283,9 @@
                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);
                //修改网格待办流程
                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);
@@ -3332,19 +3327,25 @@
            gridTaskVo.setCaseTaskId(caseTask.getId());
            sysClient.deleteTaskTodo(gridTaskVo);
        } catch (Exception e) {
            log.error("添加网格待办失败");
            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(String.valueOf(caseTask.getExpireTime()));
            gridToDoBacthVo.setLimitTime(outputFormat.format(caseTask.getExpireTime()));
            gridToDoBacthVo.setCaseId(caseInfo.getId());
            sysClient.createTaskToDo(gridToDoBacthVo, caseTask.getCandeUnitId());
        } catch (Exception e) {
            log.error("添加网格待办失败");
@@ -3358,35 +3359,48 @@
            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("修改网格待办失败");
            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);
            //添加网格待办
            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);
            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("修改网格待办流程失败");
            log.error(e.getMessage(), e);
        }
    }
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/dao/mapper/GridCaseTaskMapper.java
@@ -61,4 +61,10 @@
    */
    List<GridCaseTask> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
    /**
     * 根据组织编号查询网格组织编号
     * @param unitId 多元化组织编号
     * @return long
     */
    String getGridUnitIdByUnitId(@Param("unitId") String unitId);
}
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/dao/mapper/xml/GridCaseTaskMapper.xml
@@ -199,4 +199,8 @@
        limit #{page.offset}, #{page.size}
    </select>
    <!--  根据组织编号查询网格组织编号  -->
    <select id="getGridUnitIdByUnitId" resultType="string">
        select third_unit_id from dyh_th_grid_unit where dyh_unit_id = #{unitId}
    </select>
</mapper> 
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
@@ -1,25 +1,23 @@
package cn.huge.module.grid.service;
import cn.huge.base.common.bo.R;
import cn.huge.base.common.utils.HttpClientUtils;
import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.base.common.utils.SpringContextUtil;
import cn.huge.base.common.utils.*;
import cn.huge.module.grid.dao.mapper.GridCaseTaskMapper;
import cn.huge.module.grid.domain.po.GridCaseTask;
import cn.huge.module.sys.vo.*;
import cn.huge.module.grid.domain.vo.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@@ -36,17 +34,19 @@
    private GridCaseTaskService gridCaseTaskService;
    @Autowired
    private GridUserService gridUserService;
    @Autowired
    private GridCaseTaskMapper gridCaseTaskMapper;
    public R<GridToDoVo> createToDo(GridToDoVo gridToDoVo) {
        HeadVo headVo = initHeadVo();
        GridToDoRequestVo requestVo = new GridToDoRequestVo();
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridToDoVo);
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
        log.info("xsd:{}", gridUrl + "/sysUserTodo/save");
        String s = null;
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
        } catch (Exception e) {
            log.info("xsderror:{}", e);
            throw new RuntimeException(e);
@@ -66,15 +66,17 @@
        GridToDoBatchRequestVo requestVo = new GridToDoBatchRequestVo();
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridToDoVo);
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}", gridUrl + "/sysUserTodo/saveBatch");
        log.info("xsd:{}", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
        log.info("xsd:{}", gridUrl + "/api/thrid/grid/todo/batch-create-todo" + JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
        String s = null;
        try {
            if (SpringContextUtil.checkDev()) {
                log.info("xsdurl:{}", testUrl + "/api/thrid/grid/todo/batch-create-todo");
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/batch-create-todo", JSON.toJSONString(gridToDoVo), new HashMap<>(), "utf-8");
                Map<String, String> header = new HashMap<>();
                String authorizationValue = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIVUdFSU5GTyIsImV4cCI6MTcyOTcyOTI1MCwiaWF0IjoxNzI5Njg2MDUwLCJ1c2VySWQiOiJkNjY2ZTUzZGMwMjU0NjNkYTllZTkwOTUyNjk5MTljNCYyMl8wMDAyNC0zIn0.pPZsj-PpKD0m9SynBlL4KTiLVMx_r1rdDDX5wpEGwuY";
                header.put("Authorization", authorizationValue);
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/batch-create-todo", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty), header, "utf-8");
            } else {
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/saveBatch", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/saveBatch", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
            }
        } catch (Exception e) {
            log.info("xsderror:{}", e);
@@ -98,10 +100,10 @@
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridToDoVo);
        String s = null;
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
        log.info("xsd:{}", gridUrl + "/sysUserTodo/update");
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
        } catch (Exception e) {
            log.info("xsderror:{}", e);
            throw new RuntimeException(e);
@@ -122,14 +124,14 @@
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridToDoVos);
        String s = null;
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
        log.info("xsd:{}", gridUrl + "/sysUserTodo/updateBatch");
        try {
            if (SpringContextUtil.checkDev()) {
                log.info("xsdurl:{}", testUrl + "/api/thrid/grid/todo/batch-update-todo");
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/batch-update-todo", JSON.toJSONString(gridToDoVos), new HashMap<>(), "utf-8");
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/batch-update-todo", JSON.toJSONString(gridToDoVos, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
            } else {
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/updateBatch", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/updateBatch", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
            }
        } catch (Exception e) {
            log.info("xsderror:{}", e);
@@ -152,14 +154,16 @@
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridIdsVo);
        log.info("xsd:{}", requestVo);
        log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel");
        log.info("xsd:{}", testUrl + "/sysUserTodo/batchDel" + JSON.toJSONString(gridIdsVo, SerializerFeature.WriteNullStringAsEmpty));
        String s = null;
        try {
            if (SpringContextUtil.checkDev()) {
                log.info("xsdurl:{}", testUrl + "/api/thrid/grid/todo/delete-todo");
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/delete-todo", JSON.toJSONString(gridIdsVo), new HashMap<>(), "utf-8");
                Map<String, String> header = new HashMap<>();
                String authorizationValue = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIVUdFSU5GTyIsImV4cCI6MTcyOTcyOTI1MCwiaWF0IjoxNzI5Njg2MDUwLCJ1c2VySWQiOiJkNjY2ZTUzZGMwMjU0NjNkYTllZTkwOTUyNjk5MTljNCYyMl8wMDAyNC0zIn0.pPZsj-PpKD0m9SynBlL4KTiLVMx_r1rdDDX5wpEGwuY";
                header.put("Authorization", authorizationValue);
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/delete-todo", JSON.toJSONString(gridIdsVo, SerializerFeature.WriteNullStringAsEmpty), header, "utf-8");
            } else {
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
            }
        } catch (Exception e) {
            log.info("xsderror:{}", e);
@@ -191,11 +195,17 @@
        gridGetToDoVo.setSize(10);
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridGetToDoVo);
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}", gridUrl + "/sysUserTodo/page");
        log.info("xsd:{}", testUrl + "/api/thrid/grid/todo/get-todo" + JSON.toJSONString(gridGetToDoVo, SerializerFeature.WriteNullStringAsEmpty));
        String s = null;
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
            if (SpringContextUtil.checkDev()) {
                Map<String, String> header = new HashMap<>();
                String authorizationValue = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIVUdFSU5GTyIsImV4cCI6MTcyOTcyOTI1MCwiaWF0IjoxNzI5Njg2MDUwLCJ1c2VySWQiOiJkNjY2ZTUzZGMwMjU0NjNkYTllZTkwOTUyNjk5MTljNCYyMl8wMDAyNC0zIn0.pPZsj-PpKD0m9SynBlL4KTiLVMx_r1rdDDX5wpEGwuY";
                header.put("Authorization", authorizationValue);
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/get-todo", JSON.toJSONString(gridGetToDoVo, SerializerFeature.WriteNullStringAsEmpty), header, "utf-8");
            } else {
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(gridGetToDoVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
            }
        } catch (Exception e) {
            log.info("xsderror:{}", e);
            throw new RuntimeException(e);
@@ -203,9 +213,8 @@
        log.info("xsd:{}", s);
        JSONObject object = JSONObject.parseObject(s);
        if (object.getInteger("code") != null && object.getInteger("code") == 0) {
            JSONObject data = object.getJSONObject("data");
            JSONArray records = data.getJSONArray("records");
            List<GridToDoVo> gridToDoVos = records.toJavaList(GridToDoVo.class);
            JSONArray data = JSONObject.parseObject(s).getJSONArray("data");
            List<GridToDoVo> gridToDoVos = data.toJavaList(GridToDoVo.class);
            return R.ok(gridToDoVos);
        } else {
            return R.fail("获取失败");
@@ -229,6 +238,8 @@
        for (GridToDoVo gridToDoVoResult : GridToDoVoResult) {
            GridCaseTask gridCaseTask = new GridCaseTask();
            BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask);
            gridCaseTask.setCaseId(gridToDoVo.getCaseId());
            gridCaseTask.setCaseTaskId(gridToDoVo.getObjId());
            gridCaseTaskListNew.add(gridCaseTask);
        }
        gridCaseTaskService.updateBatchById(gridCaseTaskListNew);
@@ -236,23 +247,36 @@
    }
    public R<List<GridToDoVo>> createTaskToDo(GridToDoBacthVo gridToDoBacthVo, String unitId) {
        GridOrgUsersVo gridOrgUsersVo = new GridOrgUsersVo();
        gridOrgUsersVo.setCurrOrgId(unitId);
        List<GridUserVo> gridUserVoList = gridUserService.getUserListByOrg(gridOrgUsersVo).getData();
        List<String> userIdList = gridUserVoList.stream().map(GridUserVo::getId).collect(Collectors.toList());
        gridToDoBacthVo.setUserIdList(userIdList);
        R<List<GridToDoVo>> resultData = this.batchCreateToDo(gridToDoBacthVo);
        //保存待办工单
        List<GridToDoVo> GridToDoVoResult = resultData.getData();
        List<GridCaseTask> gridCaseTaskListNew = new ArrayList<>();
        for (GridToDoVo gridToDoVoResult : GridToDoVoResult) {
            GridCaseTask gridCaseTask = new GridCaseTask();
            BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask);
            gridCaseTaskListNew.add(gridCaseTask);
        //查询网格组织编号
        String gridUnitId = gridCaseTaskMapper.getGridUnitIdByUnitId(unitId);
        if(org.apache.commons.lang3.StringUtils.isNotBlank(gridUnitId)){
            //查询组织下用户
            GridOrgUsersVo gridOrgUsersVo = new GridOrgUsersVo();
            gridOrgUsersVo.setCurrOrgId(gridUnitId);
            List<GridUserVo> gridUserVoList = gridUserService.getUserListByOrg(gridOrgUsersVo).getData();
            if(CollectionUtils.isNotEmpty(gridUserVoList)){
                //创建待办工单
                List<String> userIdList = gridUserVoList.stream().map(GridUserVo::getId).collect(Collectors.toList());
                gridToDoBacthVo.setUserIdList(userIdList);
                R<List<GridToDoVo>> resultData = this.batchCreateToDo(gridToDoBacthVo);
                //保存待办工单
                List<GridToDoVo> GridToDoVoResult = resultData.getData();
                if(CollectionUtils.isNotEmpty(GridToDoVoResult)) {
                    List<GridCaseTask> gridCaseTaskListNew = new ArrayList<>();
                    for (GridToDoVo gridToDoVoResult : GridToDoVoResult) {
                        GridCaseTask gridCaseTask = new GridCaseTask();
                        BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask);
                        gridCaseTask.setCaseId(gridToDoBacthVo.getCaseId());
                        gridCaseTask.setCaseTaskId(gridToDoBacthVo.getObjId());
                        gridCaseTaskListNew.add(gridCaseTask);
                    }
                    BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew);
                    gridCaseTaskService.saveBatch(gridCaseTaskListNew);
                }
                return resultData;
            }
        }
        BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew);
        gridCaseTaskService.saveBatch(gridCaseTaskListNew);
        return resultData;
        return R.ok();
    }
    public R<String> deleteTaskToDo(GridTaskVo gridTaskVo) {
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridUserService.java
@@ -17,10 +17,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import java.util.*;
@Slf4j
@Service
@@ -165,8 +162,11 @@
//            log.info("xsdobject:{}",JSON.toJSONString(requestVo));
            // 开发环境
            if (SpringContextUtil.checkDev()) {
                log.info("xsdurl:{}",testUrl + "/api/thrid/grid/user/get-org-users");
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/user/get-org-users", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
                log.info("xsdurl:{}",testUrl + "/api/thrid/grid/user/get-org-users"+JSON.toJSONString(gridOrgUsersVo));
                Map<String, String> header = new HashMap<>();
                String authorizationValue = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIVUdFSU5GTyIsImV4cCI6MTcyOTcwNzA3NywiaWF0IjoxNzI5NjYzODc3LCJ1c2VySWQiOiJkNjY2ZTUzZGMwMjU0NjNkYTllZTkwOTUyNjk5MTljNCYyMl8wMDAyNC0zIn0.a0TfTkKKDQpUJRyGUSVnfghIWvGy5hrTzxX26SpW7kA";
                header.put("Authorization", authorizationValue);
                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/user/get-org-users", JSON.toJSONString(gridOrgUsersVo), new HashMap<>(), "utf-8");
            }else {
                log.info("xsdurl:{}",gridUrl + "/sys/user/getUserListByOrg");
                s = HttpClientUtils.httpPostRaw(gridUrl + "/sys/user/getUserListByOrg", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");