forked from gzzfw/backEnd/gz-dyh

wangwh
2024-10-25 0d514ca5405b42b3d31e2e68d7a1e9e834cae706
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) {