From dfa813134c05b718c039c432f0fa7be3cc118fd3 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Wed, 25 Sep 2024 00:34:47 +0800
Subject: [PATCH] 综合查询-排序

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java |  102 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 61 insertions(+), 41 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 b19f65a..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
@@ -4,14 +4,12 @@
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
 import cn.huge.base.common.utils.ObjectUtils;
-import cn.huge.module.cases.domain.po.CaseFeedbackHis;
-import cn.huge.module.cases.domain.po.CaseInfoUnfold;
-import cn.huge.module.cases.domain.po.CaseTask;
+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;
@@ -69,6 +67,9 @@
 
     @Autowired
     private CaseTaskService caseTaskService;
+
+    @Autowired
+    private CaseAssistInfoService caseAssistInfoService;
 
     /**
     * 更新对象
@@ -162,24 +163,32 @@
 
     /**
      * 获取办理信息
-     * @param caseTaskId
+     * @param caseId
      * @param userId
      * @return
      */
-    public Map<String, Object> getFeedbackInfo(String caseTaskId, String userId){
-        // 临时给前端联调数据
+    public Map<String, Object> getFeedbackInfo(String caseId, String caseTaskId, String userId){
         Map<String, Object> result = Maps.newHashMap();
-        result.put("handleUnitName", "白云区教育局");
-        result.put("handleUserName", "王一顺");
-        result.put("assistUnitName", "白云区司法局");
-        result.put("acceptTime", "2024-09-07 12:34");
-//        CaseTask caseTask = caseTaskService.getById(caseTaskId);
-//        if (ObjectUtils.isNotEmpty(caseTask)){
-//            result.put("handleUnitName", caseTask.getCandeUnitName());
-//            result.put("handleUserName", caseTask.getCandeUserName());
-//            result.put("assistUnitName", caseTask.getCandeUnitName());
-//            result.put("acceptTime", caseTask.getCreateTime());
-//        }
+        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;
     }
 
@@ -189,30 +198,36 @@
      * @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);
 
-        CaseInfoUnfold caseInfoUnfold = unfoldService.getById(id);
-        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;
     }
 
     /**
@@ -230,8 +245,14 @@
             Date nowDate = DateUtils.getNowDate();
             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);
@@ -262,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