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-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
index 64af9c7..55e7353 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
@@ -2,17 +2,24 @@
 
 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
@@ -23,6 +30,11 @@
     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();
@@ -40,6 +52,11 @@
         }
         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);
     }
 
@@ -180,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;
+    }
 }

--
Gitblit v1.8.0