From 55a6ee00c9bb89556a1ba53a3a763fa20230e030 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Sun, 22 Sep 2024 20:36:08 +0800
Subject: [PATCH] 督办相关接口bug修复、附件查询相关修改

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java |  103 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 96 insertions(+), 7 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
index d7a2aa0..9347be4 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
@@ -3,7 +3,11 @@
 import cn.huge.base.common.exception.ServiceException;
 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.dto.FileRelateDTO;
 import cn.huge.module.cases.domain.dto.QuiltUnitDTO;
+import cn.huge.module.cases.domain.po.CaseInfo;
+import cn.huge.module.cases.domain.po.CaseInfoUnfold;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
@@ -12,10 +16,12 @@
 import cn.huge.module.cust.dto.CtUserDTO;
 import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
 import cn.huge.module.sys.constant.SyTimeEnum;
+import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
 import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
 import cn.huge.module.sys.dto.FileInfoBaseDTO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -54,6 +60,9 @@
 
     @Autowired
     private SysClientImpl sysClient;
+
+    @Autowired
+    private CaseInfoService caseInfoService;
 
     /**
     * 条件更新对象
@@ -139,8 +148,11 @@
     public void addCaseSupervise(CaseSupervise caseSupervise, String userId){
         try{
             List<QuiltUnitDTO> quiltUnitDTOList = caseSupervise.getQuiltUnitDTOList();
-            Integer timeTerm = sysClient.getTimeLimit("dyh_case_supervise", SyTimeEnum.SY_TIME_03.getIndex());
+            Integer timeTerm = sysClient.getTimeLimitHour(SyTimeEnum.SY_TIME_5.getIndex());
             List<CaseSupervise> caseSuperviseList = new ArrayList<>();
+            List<FileRelateDTO> fileRelateDTOList = sysClient.listFileRelateByOwnerId(caseSupervise.getId());
+            int count = 0;
+            List<FileRelateDTO> fileRelateDTOListNew = new ArrayList<>();
             for(QuiltUnitDTO quiltUnitDTO: quiltUnitDTOList){
                 CaseSupervise caseSuperviseNew = new CaseSupervise();
                 BeanUtils.copyProperties(caseSupervise, caseSuperviseNew);
@@ -149,6 +161,8 @@
                 Date nowDate = DateUtils.getNowDate();
                 caseSuperviseNew.setSupUserId(loginUser.getId());
                 caseSuperviseNew.setSupUserName(loginUser.getTrueName());
+                caseSuperviseNew.setSupUnitId(loginUser.getUnitId());
+                caseSuperviseNew.setSupUnitName(loginUser.getUnitName());
                 caseSuperviseNew.setSupTime(nowDate);
                 caseSuperviseNew.setQuiltUnitId(quiltUnitDTO.getQuiltUnitId());
                 caseSuperviseNew.setQuiltUnitName(quiltUnitDTO.getQuiltUnitName());
@@ -156,9 +170,26 @@
                 caseSuperviseNew.setCreateTime(nowDate);
                 caseSuperviseNew.setUpdateTime(nowDate);
                 caseSuperviseNew.setReplyTerm(timeTerm);
+                //给每条督办添加附件信息
+                if(0 != count){
+                    String caseSupId = utilsClient.getNewTimeId();
+                    caseSuperviseNew.setId(caseSupId);
+                    for(FileRelateDTO fileRelateDTO: fileRelateDTOList){
+                        String fileRealateId = utilsClient.getNewTimeSysId();
+                        FileRelateDTO fileRelateDTONew = new FileRelateDTO();
+                        BeanUtils.copyProperties(fileRelateDTO, fileRelateDTONew);
+                        fileRelateDTONew.setOwnerId(caseSuperviseNew.getId());
+                        fileRelateDTONew.setId(fileRealateId);
+                        fileRelateDTOListNew.add(fileRelateDTONew);
+                    }
+                }
                 caseSuperviseList.add(caseSuperviseNew);
+                count++;
             }
             this.saveBatch(caseSuperviseList);
+            if(CollectionUtils.isNotEmpty(fileRelateDTOListNew)){
+                sysClient.saveFileRelateList(fileRelateDTOListNew);
+            }
         }catch (Exception e){
             log.error("[CaseSuperviseService.saveCaseSupervise]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseSuperviseService.saveCaseSupervise", e);
@@ -177,7 +208,7 @@
             caseSupervise.setSupStatus(1);
             caseSupervise.setReplyUserId(loginUser.getId());
             caseSupervise.setReplyUserName(loginUser.getTrueName());
-            caseSupervise.setReplyTime(String.valueOf(now));
+            caseSupervise.setReplyTime(now);
             caseSupervise.setUpdateTime(now);
             mapper.updateCaseSupervise(caseSupervise);
         }catch (Exception e){
@@ -190,17 +221,36 @@
      * 流转办理-督办列表
      * @param caseId 事项Id
      */
-    public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId){
+    public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId, int type){
         try{
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
             String quiltUnitId = loginUser.getUnitId();
-            long countSuperviseList = mapper.countCaseSupervise(caseId, supStatus, quiltUnitId);
-            List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(caseId, page, supStatus, quiltUnitId);
+            Map<String, Object> terms = new HashMap<>();
+            terms.put("caseId", caseId);
+            terms.put("type", type);
+            if(1 == type){
+                terms.put("supStatus", supStatus);
+                terms.put("quiltUnitId", quiltUnitId);
+            }
+            long countSuperviseList = mapper.countCaseSupervise(terms);
+            List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(terms, page);
+            CaseInfo caseInfo = new CaseInfo();
+            if(1 != type && CollectionUtils.isNotEmpty(caseSuperviseList)){
+                QueryWrapper<CaseInfo>caseInfoQueryWrapper = new QueryWrapper<>();
+                caseInfoQueryWrapper.eq("id", caseId);
+                caseInfo = caseInfoService.getOne(caseInfoQueryWrapper);
+                for(CaseSupervise caseSupervise: caseSuperviseList){
+                    if(ObjectUtils.isNotEmpty(caseInfo)){
+                        caseSupervise.setCaseGrade(caseInfo.getCaseLevel());
+                    }
+                }
+
+            }
 
             Map<String, Object>map = new HashMap<>();
             map.put("mainId", caseId);
-            map.put("ownerIds", caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','")));
-            map.put("types", FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex());
+            map.put("ownerIds", "'" + caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','"))+ "'");
+            map.put("types", "'"+ FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex()+ "','" +FileOwnerTypeBaseEnum.OWNER_TYPE_507.getIndex()+"'");
             List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map);
             for(CaseSupervise caseSupervise: caseSuperviseList){
                 for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
@@ -217,6 +267,22 @@
     }
 
     /**
+     * 首页-督办
+     * @param page
+     * @param terms
+     */
+    public Page<CaseSupervise> pageMyTaskDb(PageRequest page, Map<String, Object> terms){
+        try{
+            long countSuperviseList = mapper.countMyTaskDb(terms);
+            List<CaseSupervise> caseSuperviseList = mapper.pageMyTaskDb(page, terms);
+            return new PageImpl<CaseSupervise>(caseSuperviseList, page, countSuperviseList);
+        }catch (Exception e){
+            log.error("[CaseSuperviseService.pageReplied]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseSuperviseService.pageReplied", e);
+        }
+    }
+
+    /**
      * 查询督办数量
      * @param supStatus 回复状态
      * @param quiltUnitId 被督办组织编号
@@ -225,4 +291,27 @@
     public long countCaseSuperviseList(Integer supStatus, String quiltUnitId){
         return mapper.countCaseSuperviseList(supStatus, quiltUnitId);
     }
+
+    /**
+     * 根据督办编号查询督办信息
+     * @param id 督办编号
+     * @return List
+     */
+    public CaseSupervise getById(String id){
+        try {
+            CaseSupervise caseSupervise = mapper.selectById(id);
+            Map<String, Object> terms = new HashMap<>();
+            terms.put("mainId", caseSupervise.getCaseId());
+            terms.put("ownerIds", "'" + id + "'");
+            List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms);
+            if(CollectionUtils.isNotEmpty(fileIdTypeInfoBaseDTOList)){
+                caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTOList.get(0).getFileList());
+            }
+            return caseSupervise;
+        }catch (Exception e){
+            log.error("[CaseSuperviseService.getById]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseSuperviseService.getById", e);
+        }
+
+    }
 }

--
Gitblit v1.8.0