From 236f80305991d3517c84e70b2645a80a52ad1294 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Mon, 28 Oct 2024 14:42:57 +0800
Subject: [PATCH] fix: 1、添加日志记录; 2、修改请求网格系统待办接口的传参objId值为本系统caseId; 3、添加办理中时联合处置申请的网格待办。

---
 dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java |  146 ++++++++++++++++++++++++++++++------------------
 1 files changed, 92 insertions(+), 54 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 437cdec..b88d4af 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
@@ -1,25 +1,24 @@
 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.druid.support.logging.Log;
 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 +35,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 +67,17 @@
         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 {
             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");
+                log.info("xsd:{}", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+                log.info("xsd:{}", testUrl + "/api/thrid/grid/todo/batch-create-todo" + JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/batch-create-todo", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
             } else {
-                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/saveBatch", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
+                log.info("xsd:{}", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+                log.info("xsd:{}", gridUrl + "/sysUserTodo/saveBatch" + JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/saveBatch", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
             }
         } catch (Exception e) {
             log.info("xsderror:{}", e);
@@ -98,10 +101,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 +125,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);
@@ -151,15 +154,15 @@
         GridToDoDeleteRequestVo requestVo = new GridToDoDeleteRequestVo();
         requestVo.setHeadVo(headVo);
         requestVo.setBodyVo(gridIdsVo);
-        log.info("xsd:{}", requestVo);
-        log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel");
         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");
+                log.info("xsd:{}", requestVo);
+                log.info("xsd:{}", testUrl + "/api/thrid/grid/todo/delete-todo" + JSON.toJSONString(gridIdsVo, SerializerFeature.WriteNullStringAsEmpty));
+                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/delete-todo", JSON.toJSONString(gridIdsVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
             } else {
-                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
+                log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel" + JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
+                s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
             }
         } catch (Exception e) {
             log.info("xsderror:{}", e);
@@ -191,11 +194,14 @@
         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()) {
+                s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/get-todo", JSON.toJSONString(gridGetToDoVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "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 +209,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("获取失败");
@@ -216,7 +221,7 @@
     public R<List<GridToDoVo>> updateTaskToDo(GridToDoVo gridToDoVo, String previousTaskId) {
         //修改网格系统工单
         List<GridToDoVo> gridToDoVoList = new ArrayList<>();
-        List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridToDoVo.getCaseId(), previousTaskId);
+        List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridToDoVo.getObjId(), previousTaskId);
         for (GridCaseTask gridCaseTask : gridCaseTaskList) {
             gridToDoVo.setId(gridCaseTask.getId());
             gridToDoVo.setMobile(gridCaseTask.getMobile());
@@ -229,6 +234,8 @@
         for (GridToDoVo gridToDoVoResult : GridToDoVoResult) {
             GridCaseTask gridCaseTask = new GridCaseTask();
             BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask);
+            gridCaseTask.setCaseId(gridToDoVo.getObjId());
+            gridCaseTask.setCaseTaskId(gridToDoVo.getCaseTaskId());
             gridCaseTaskListNew.add(gridCaseTask);
         }
         gridCaseTaskService.updateBatchById(gridCaseTaskListNew);
@@ -236,32 +243,63 @@
     }
 
     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);
+        Date now = DateUtils.getNowDate();
+        //查询网格组织编号
+        String gridUnitId = gridCaseTaskMapper.getGridUnitIdByUnitId(unitId);
+        log.info("caseId:" + gridToDoBacthVo.getObjId() + "查询到网格组织编号为:" + gridUnitId);
+        if(org.apache.commons.lang3.StringUtils.isNotBlank(gridUnitId)){
+            //查询组织下用户
+            GridOrgUsersVo gridOrgUsersVo = new GridOrgUsersVo();
+            gridOrgUsersVo.setCurrOrgId(gridUnitId);
+            List<GridUserVo> gridUserVoList = gridUserService.getUserListByOrg(gridOrgUsersVo).getData();
+            log.info("caseId:" + gridToDoBacthVo.getObjId() + "查询到网格编号为:"+gridUnitId+ "下的用户有:"+ gridUserVoList.stream().map(GridUserVo:: getId).collect(Collectors.joining(",")));
+            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);
+                log.info("caseId:" + gridToDoBacthVo.getObjId() + "批量添加网格任务成功");
+                //保存待办工单
+                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.getObjId());
+                        gridCaseTask.setCaseTaskId(gridToDoBacthVo.getCaseTaskId());
+                        gridCaseTask.setCreateTime(now);
+                        gridCaseTask.setUpdateTime(now);
+                        gridCaseTaskListNew.add(gridCaseTask);
+                    }
+                    BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew);
+                    gridCaseTaskService.saveBatch(gridCaseTaskListNew);
+                    log.info("caseId:" + gridToDoBacthVo.getObjId() + "成功在本系统添加网格待办信息");
+                }
+                return resultData;
+            }
         }
-        BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew);
-        gridCaseTaskService.saveBatch(gridCaseTaskListNew);
-        return resultData;
+        return R.ok();
     }
 
     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;
+        try {
+            List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridTaskVo.getCaseId(), gridTaskVo.getCaseTaskId());
+            List<String> idList = gridCaseTaskList.stream().map(GridCaseTask::getId).collect(Collectors.toList());
+            String ids = gridCaseTaskList.stream().map(GridCaseTask::getId).collect(Collectors.joining(","));
+            log.info("caseId:" + gridTaskVo.getCaseId() + "查询到本系统保存的编号" + ids);
+
+            GridIdsVo gridIdsVo = new GridIdsVo();
+            gridIdsVo.setIds(idList);
+            R<String> result = this.deleteToDo(gridIdsVo);
+            log.info("caseId:" + gridTaskVo.getCaseId() + "成功删除网格系统的待办任务,编号为:" + ids);
+            gridCaseTaskService.removeByIds(idList);
+            log.info("caseId:" + gridTaskVo.getCaseId() + "成功删除本系统保存的网格任务,编号为:" + ids);
+            return result;
+        }catch (Exception e){
+            log.info("xsderror:{}", e);
+            throw new RuntimeException(e);
+        }
+
     }
 }

--
Gitblit v1.8.0