From 621b26cd05fae058797c9b736e2721db055b37a8 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Sun, 22 Sep 2024 16:32:21 +0800
Subject: [PATCH] 1、获取时限方法修改

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java |   94 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 87 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 fbebe41..6cb637b 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,6 +3,7 @@
 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.dto.FileRelateDTO;
 import cn.huge.module.cases.domain.dto.QuiltUnitDTO;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
@@ -12,10 +13,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;
@@ -139,8 +142,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 +155,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 +164,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 +202,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 +215,24 @@
      * 流转办理-督办列表
      * @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, page, 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);
 
             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){
@@ -216,4 +248,52 @@
         }
     }
 
+    /**
+     * 首页-督办
+     * @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 被督办组织编号
+     * @return long
+     */
+    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