From ae6fd06555845067b72a0b094126c858275a5bd9 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 29 十一月 2024 06:54:04 +0800
Subject: [PATCH] 项目分类查询、异常项目

---
 business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
index 39d69d4..3adc8f2 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -1,10 +1,12 @@
 package com.ycl.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.common.base.Result;
 import com.ycl.common.enums.business.FileTypeEnum;
+import com.ycl.common.enums.business.ProjectCategoryEnum;
 import com.ycl.common.utils.CopyUtils;
 import com.ycl.common.utils.DateUtils;
 import com.ycl.common.utils.SecurityUtils;
@@ -25,10 +27,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -143,6 +142,24 @@
         if (query.getProjectEndTime() != null) {
             query.setProjectEndTime(DateUtils.getDayEnd(query.getProjectEndTime()));
         }
+        String projectCategory = query.getProjectCategory();
+        if (ProjectCategoryEnum.RESERVE.getType().equals(projectCategory)) {
+            query.setProjectStatus(ProjectCategoryEnum.RESERVE.getStatus());
+            query.setReserveOrPrevious(ProjectCategoryEnum.RESERVE.getCode());
+        } else if (ProjectCategoryEnum.PREVIOUS.getType().equals(projectCategory)) {
+            query.setProjectStatus(ProjectCategoryEnum.PREVIOUS.getStatus());
+            query.setReserveOrPrevious(ProjectCategoryEnum.PREVIOUS.getCode());
+        } else if (ProjectCategoryEnum.FINISH.getType().equals(projectCategory)) {
+            query.setProjectStatus(ProjectCategoryEnum.FINISH.getStatus());
+        } else if (ProjectCategoryEnum.EXCEPTION.getType().equals(projectCategory)) {
+            //TODO
+            //鍏堟煡鍑哄紓甯告祦绋嬫垨鑰呭紓甯歌繘搴︽垨鑰呭紓甯歌鍒掔殑projectId鍜屽紓甯哥绫�
+            //閫氳繃projectId鏌ュ嚭椤圭洰鏁版嵁
+            //琛ュ厖鐩稿簲鐨勫紓甯告暟鎹紙寮傚父绉嶇被銆佸紓甯告祦绋嬭妭鐐圭瓑锛�
+            List<ProjectVO> list = new ArrayList<>();
+            return Result.ok().data(list).total(0);
+        }
+
         IPage<ProjectInfoVO> page = PageUtil.getPage(query, ProjectInfoVO.class);
         baseMapper.getPage(page, query);
         List<ProjectInfoVO> records = page.getRecords();
@@ -152,6 +169,9 @@
                     vo.setProjectColorCode("green");
             ProjectVO projectVO = new ProjectVO();
             copyToProjectVO(vo,projectVO);
+            //缈昏瘧椤圭洰闃舵
+            String phase = ProjectCategoryEnum.getPhaseByProjectStatus(projectVO.getProjectStatus(), projectVO.getProcessId() != null);
+            projectVO.setProjectPhase(phase);
             list.add(projectVO);
         });
         return Result.ok().data(list).total(page.getTotal());
@@ -260,4 +280,19 @@
         fileService.saveBatch(fileList);
         return Result.ok();
     }
+
+    @Override
+    public Result getManagerFlag(Integer recordId) {
+        ProjectInfo projectInfo = baseMapper.selectById(recordId);
+        // 鍒ゆ柇褰撳墠鐢ㄦ埛id鏄惁鍦ㄤ富绠″垪琛ㄤ腑
+        String competentDepartment = projectInfo.getCompetentDepartment();
+        List<String> list = Arrays.asList(competentDepartment.split(","));
+        // 鑾峰緱褰撳墠鐢ㄦ埛id
+        Long userId = SecurityUtils.getUserId();
+        if (list.contains(userId.toString())) {
+            return Result.ok().data(true);
+        } else {
+            return Result.ok().data(false);
+        }
+    }
 }

--
Gitblit v1.8.0