From c2bf4ed2478aa57dddf865f440005f0ed133b110 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Fri, 27 Sep 2024 12:01:32 +0800
Subject: [PATCH] 1、自行受理流程优化 2、更新组织的地域编码 3、结案归档节点优化

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java |  107 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 77 insertions(+), 30 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
index 10e0e84..ebd4371 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -3,19 +3,21 @@
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
-import cn.huge.module.cases.domain.po.CaseFeedbackHis;
-import cn.huge.module.cases.domain.po.CaseInfoUnfold;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.consts.CaseTaskConsts;
+import cn.huge.module.cases.domain.po.*;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.cases.dao.mapper.CaseFeedbackMapper;
-import cn.huge.module.cases.domain.po.CaseFeedback;
 import cn.huge.module.cust.dto.CtUserDTO;
 import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
 import cn.huge.module.sys.dto.FileInfoBaseDTO;
 import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Maps;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -62,6 +64,12 @@
 
     @Autowired
     private CaseInfoUnfoldService unfoldService;
+
+    @Autowired
+    private CaseTaskService caseTaskService;
+
+    @Autowired
+    private CaseAssistInfoService caseAssistInfoService;
 
     /**
     * 更新对象
@@ -154,37 +162,72 @@
     }
 
     /**
-     * 获取办理反馈信息
+     * 获取办理信息
+     * @param caseId
+     * @param userId
+     * @return
+     */
+    public Map<String, Object> getFeedbackInfo(String caseId, String caseTaskId, String userId){
+        Map<String, Object> result = Maps.newHashMap();
+        CaseInfoUnfold caseInfoUnfold = unfoldService.getById(caseId);
+        CaseTask caseTask = caseTaskService.getById(caseTaskId);
+        // 承办部门查询扩展表
+        if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
+            if (ObjectUtils.isNotEmpty(caseInfoUnfold)) {
+                result.put("handleUserId", caseInfoUnfold.getMediatorId());
+                result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
+                result.put("handleUserName", caseInfoUnfold.getMediator());
+                result.put("assistUnitName", caseInfoUnfold.getAssistUnitName());
+                result.put("acceptTime", caseInfoUnfold.getAcceptTime());
+            }
+        }else {
+            // 配合部门查询联合处置信息表
+            CaseAssistInfo caseAssistInfo = caseAssistInfoService.getByCaseTaskId(caseTaskId);
+            result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
+            result.put("handleUserId", caseAssistInfo.getAssistUserId());
+            result.put("handleUserName", caseAssistInfo.getAssistUserName());
+            result.put("assistUnitName", caseAssistInfo.getAssistUnitName());
+            result.put("acceptTime", caseAssistInfo.getAcceptTime());
+        }
+        return result;
+    }
+
+    /**
+     * 获取办理反馈记录
      * @param id 条件
      * @return Page
      */
     public Map<String, Object> listFeedback(String id) {
-        Map<String, Object> result = new HashMap<>();
+        try {
+            Map<String, Object> result = new HashMap<>();
+            CaseInfoUnfold caseInfoUnfold = unfoldService.getById(id);
+            if(ObjectUtils.isNotEmpty(caseInfoUnfold)){
+                result.put("manager", caseInfoUnfold.getMediator());
+            }
+            QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>();
+            caseFeedbackQueryWrapper.eq("case_id", id);
+            List<CaseFeedback> caseFeedbackList = mapper.selectList(caseFeedbackQueryWrapper);
 
-        QueryWrapper<CaseInfoUnfold> caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
-        caseInfoUnfoldQueryWrapper.eq("case_id", id);
-        CaseInfoUnfold caseInfoUnfold = unfoldService.getOne(caseInfoUnfoldQueryWrapper);
-        result.put("manager", caseInfoUnfold.getMediator());
-        QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>();
-        caseFeedbackQueryWrapper.eq("case_id", id);
-        List<CaseFeedback> caseFeedbackList = mapper.selectList(caseFeedbackQueryWrapper);
+            String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
+            ownerIds = "'"+ ownerIds + "'";
+            Map<String, Object> map = new HashMap<>();
+            map.put("mainId", id);
+            map.put("ownerIds", ownerIds);
+            List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map);
 
-        String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
-        ownerIds = "'"+ ownerIds + "'";
-        Map<String, Object> map = new HashMap<>();
-        map.put("mainId", id);
-        map.put("ownerIds", ownerIds);
-        List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map);
-
-        for(CaseFeedback caseFeedback: caseFeedbackList){
-            for(FileIdInfoBaseDTO fileInfo: fileInfoList){
-                if(caseFeedback.getId().equals(fileInfo.getOwnerId())){
-                    caseFeedback.setFileInfoList(fileInfo.getFileList());
+            for(CaseFeedback caseFeedback: caseFeedbackList){
+                for(FileIdInfoBaseDTO fileInfo: fileInfoList){
+                    if(caseFeedback.getId().equals(fileInfo.getOwnerId())){
+                        caseFeedback.setFileInfoList(fileInfo.getFileList());
+                    }
                 }
             }
+            result.put("caseFeedbackList", caseFeedbackList);
+            return result;
+        }catch (Exception e){
+            log.error("[caseFeedbackService.listFeedback]调用失败,异常信息:"+e, e);
+            throw new ServiceException("caseFeedbackService.listFeedback", e);
         }
-        result.put("caseFeedbackList", caseFeedbackList);
-        return result;
     }
 
     /**
@@ -200,11 +243,16 @@
             caseFeedback.setHandleUserId(loginUser.getId());
             caseFeedback.setHandleUserName(loginUser.getTrueName());
             Date nowDate = DateUtils.getNowDate();
-            caseFeedback.setId(utilsClient.getNewTimeId());
             caseFeedback.setUpdateTime(nowDate);
             caseFeedback.setCreateTime(nowDate);
-            //todo 承办、配合--查询task
-
+            QueryWrapper<CaseInfoUnfold> caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
+            caseInfoUnfoldQueryWrapper.eq("id", caseFeedback.getCaseId());
+            CaseInfoUnfold caseInfoUnfold = unfoldService.getOne(caseInfoUnfoldQueryWrapper);
+            if(caseInfoUnfold.getMediateUnitId().equals(loginUser.getUnitId())){
+                caseFeedback.setHandleType(1);
+            }else{
+                caseFeedback.setHandleType(2);
+            }
             this.save(caseFeedback);
         }catch (Exception e){
             log.error("[caseFeedbackService.savecaseFeedback]调用失败,异常信息:"+e, e);
@@ -235,9 +283,8 @@
             caseFeedback.setHandleUserId(loginUser.getId());
             caseFeedback.setHandleUserName(loginUser.getTrueName());
             caseFeedback.setId(utilsClient.getNewTimeId());
+            caseFeedback.setHandleType(caseFeedback1.getHandleType());
             caseFeedback.setUpdateTime(nowDate);
-            //todo 承办、配合--查询task
-
             mapper.updateById(caseFeedback);
         }catch (Exception e){
             log.error("[caseFeedbackService.updateFeedback]调用失败,异常信息:"+e, e);

--
Gitblit v1.8.0