forked from gzzfw/backEnd/gz-dyh

wangwh
2024-10-22 2c7324f3b7862999139075fd35032be885fc9c31
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
@@ -2,21 +2,39 @@
import cn.huge.base.common.bo.R;
import cn.huge.base.common.utils.HttpClientUtils;
import cn.huge.base.common.utils.ObjectUtils;
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 lombok.extern.slf4j.Slf4j;
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.stream.Collectors;
@Slf4j
@Service
public class GridToDoService {
    private String gridUrl = "http://219.137.166.84:8061";
    @Value("${grid.url:http://219.137.166.84:8061}")
    private String gridUrl;
    @Value("${grid.username:mtxt0011}")
    private String userName;
    @Value("${grid.password}")
    private String passWord;
    @Autowired
    private GridCaseTaskService gridCaseTaskService;
    @Autowired
    private GridUserService gridUserService;
    public R<GridToDoVo> createToDo(GridToDoVo gridToDoVo) {
        HeadVo headVo = initHeadVo();
@@ -24,7 +42,7 @@
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridToDoVo);
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}",gridUrl + "/sysUserTodo/save");
        log.info("xsd:{}", gridUrl + "/sysUserTodo/save");
        String s = null;
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
@@ -34,8 +52,40 @@
        }
        log.info("xsd:{}", s);
        GridToDoVo gridToDoDto = JSONObject.parseObject(s).getObject("data", GridToDoVo.class);
        if(ObjectUtils.isNotEmpty(gridToDoDto)){
            GridCaseTask gridCaseTask = new GridCaseTask();
            BeanUtils.copyProperties(gridToDoDto, gridCaseTask);
            gridCaseTaskService.save(gridCaseTask);
        }
        return R.ok(gridToDoDto);
    }
    public R<List<GridToDoVo>> batchCreateToDo(GridToDoBacthVo gridToDoVo) {
        HeadVo headVo = initHeadVo();
        GridToDoBatchRequestVo requestVo = new GridToDoBatchRequestVo();
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridToDoVo);
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}", gridUrl + "/sysUserTodo/saveBatch");
        String s = null;
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/saveBatch", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
        } catch (Exception e) {
            log.info("xsderror:{}", e);
            throw new RuntimeException(e);
        }
        log.info("xsd:{}", s);
        JSONObject object = JSONObject.parseObject(s);
        if (object.getInteger("code") != null && object.getInteger("code") == 0) {
            JSONArray data = object.getJSONArray("data");
            List<GridToDoVo> gridToDoVos = data.toJavaList(GridToDoVo.class);
            return R.ok(gridToDoVos);
        } else {
            return R.fail("获取失败");
        }
    }
    public R<GridToDoVo> updateToDo(GridToDoVo gridToDoVo) {
        HeadVo headVo = initHeadVo();
@@ -44,7 +94,7 @@
        requestVo.setBodyVo(gridToDoVo);
        String s = null;
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}",gridUrl + "/sysUserTodo/update");
        log.info("xsd:{}", gridUrl + "/sysUserTodo/update");
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
        } catch (Exception e) {
@@ -52,8 +102,38 @@
            throw new RuntimeException(e);
        }
        log.info("xsd:{}", s);
        gridToDoVo = JSONObject.parseObject(s).getObject("data", GridToDoVo.class);
        return R.ok(gridToDoVo);
        JSONObject object = JSONObject.parseObject(s);
        if (object.getInteger("code") != null && object.getInteger("code") == 0) {
            gridToDoVo = object.getObject("data", GridToDoVo.class);
            return R.ok(gridToDoVo, "创建待办成功");
        } else {
            return R.fail("创建待办失败");
        }
    }
    public R<List<GridToDoVo>> batchUpdateToDo(List<GridToDoVo> gridToDoVos) {
        HeadVo headVo = initHeadVo();
        GridToDoBatchUpdateRequestVo requestVo = new GridToDoBatchUpdateRequestVo();
        requestVo.setHeadVo(headVo);
        requestVo.setBodyVo(gridToDoVos);
        String s = null;
        log.info("xsd:{}", JSON.toJSONString(requestVo));
        log.info("xsd:{}", gridUrl + "/sysUserTodo/updateBatch");
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/updateBatch", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
        } catch (Exception e) {
            log.info("xsderror:{}", e);
            throw new RuntimeException(e);
        }
        log.info("xsd:{}", s);
        JSONObject object = JSONObject.parseObject(s);
        if (object.getInteger("code") != null && object.getInteger("code") == 0) {
            JSONArray data = object.getJSONArray("data");
            List<GridToDoVo> list = data.toJavaList(GridToDoVo.class);
            return R.ok(list);
        } else {
            return R.fail("获取失败");
        }
    }
    public R<String> deleteToDo(GridIdsVo gridIdsVo) {
@@ -65,7 +145,7 @@
        log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel");
        String s = null;
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel",  JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
        } catch (Exception e) {
            log.info("xsderror:{}", e);
            throw new RuntimeException(e);
@@ -82,8 +162,8 @@
    public HeadVo initHeadVo() {
        HeadVo headVo = new HeadVo();
        headVo.setUsername("mtxt001");
        headVo.setPassword("aek8CdcaM");
        headVo.setUsername(userName);
        headVo.setPassword(passWord);
        headVo.setRequestId(UUID.randomUUID().toString());
        headVo.setSource("string");
        return headVo;
@@ -100,7 +180,7 @@
        log.info("xsd:{}", gridUrl + "/sysUserTodo/page");
        String s = null;
        try {
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page",  JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
            s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
        } catch (Exception e) {
            log.info("xsderror:{}", e);
            throw new RuntimeException(e);
@@ -117,4 +197,56 @@
        }
    }
    public R<List<GridToDoVo>> updateTaskToDo(GridToDoVo gridToDoVo, String previousTaskId) {
        //修改网格系统工单
        List<GridToDoVo> gridToDoVoList = new ArrayList<>();
        List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridToDoVo.getCaseId(), previousTaskId);
        for(GridCaseTask gridCaseTask: gridCaseTaskList){
            gridToDoVo.setId(gridCaseTask.getId());
            gridToDoVo.setMobile(gridCaseTask.getMobile());
            gridToDoVoList.add(gridToDoVo);
        }
        R<List<GridToDoVo>> resultData = this.batchUpdateToDo(gridToDoVoList);
        //修改保存的待办工单
        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);
        }
        gridCaseTaskService.updateBatchById(gridCaseTaskListNew);
        return resultData;
    }
    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);
        }
        BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew);
        gridCaseTaskService.saveBatch(gridCaseTaskListNew);
        return resultData;
    }
    public R<String> deleteTaskToDo(GridTaskVo gridTaskVo) {
        List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridTaskVo.getCaseId(), gridTaskVo.getCaseTaskId());
        List<String> idList = gridCaseTaskList.stream().map(GridCaseTask::getId).collect(Collectors.toList());
        GridIdsVo gridIdsVo = new GridIdsVo();
        gridIdsVo.setIds(idList);
        R<String> result = this.deleteToDo(gridIdsVo);
        gridCaseTaskService.removeByIds(idList);
        return result;
    }
}