From b1a41509684c3823d41ec1c184f6a5f7ba49dfb7 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期日, 07 四月 2024 18:01:10 +0800
Subject: [PATCH] 考核规则

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java |   98 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 72 insertions(+), 26 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
index db6d9a1..e05625e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
@@ -1,97 +1,143 @@
 package com.ycl.platform.service.impl;
 
+import com.ycl.platform.base.BaseSelect;
 import com.ycl.platform.domain.entity.CheckTemplate;
+import com.ycl.platform.domain.query.CheckTemplateQuery;
 import com.ycl.platform.mapper.CheckTemplateMapper;
 import com.ycl.platform.service.ICheckTemplateService;
+import com.ycl.system.Result;
+import com.ycl.system.entity.SysDept;
+import com.ycl.system.service.ISysDeptService;
+import io.jsonwebtoken.lang.Collections;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import utils.DateUtils;
+import utils.StringUtils;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 鑰冩牳妯℃澘Service涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2024-04-01
  */
 @Service
-public class CheckTemplateServiceImpl implements ICheckTemplateService 
-{
+public class CheckTemplateServiceImpl implements ICheckTemplateService {
     @Autowired
     private CheckTemplateMapper checkTemplateMapper;
+    @Autowired
+    private ISysDeptService deptService;
 
     /**
      * 鏌ヨ鑰冩牳妯℃澘
-     * 
+     *
      * @param id 鑰冩牳妯℃澘涓婚敭
      * @return 鑰冩牳妯℃澘
      */
     @Override
-    public CheckTemplate selectCheckTemplateById(Long id)
-    {
-        return checkTemplateMapper.selectCheckTemplateById(id);
+    public CheckTemplateQuery selectCheckTemplateById(Long id) {
+        CheckTemplate checkTemplate = checkTemplateMapper.selectCheckTemplateById(id);
+        CheckTemplateQuery checkTemplateQuery = new CheckTemplateQuery();
+        BeanUtils.copyProperties(checkTemplate,checkTemplateQuery);
+        String deptId = checkTemplate.getDeptId();
+        String deptIdStr = deptId.substring(1, deptId.length() - 1);
+        List<Integer> deptIds = Arrays.stream(deptIdStr.split(","))
+                .mapToInt(Integer::parseInt)
+                .boxed().collect(Collectors.toList());
+        checkTemplateQuery.setDeptId(deptIds);
+        return checkTemplateQuery;
     }
 
     /**
      * 鏌ヨ鑰冩牳妯℃澘鍒楄〃
-     * 
-     * @param checkTemplate 鑰冩牳妯℃澘
+     *
+     * @param checkTemplateDTO 鑰冩牳妯℃澘
      * @return 鑰冩牳妯℃澘
      */
     @Override
-    public List<CheckTemplate> selectCheckTemplateList(CheckTemplate checkTemplate)
-    {
-        return checkTemplateMapper.selectCheckTemplateList(checkTemplate);
+    public List<CheckTemplate> selectCheckTemplateList(CheckTemplateQuery checkTemplateDTO) {
+        List<CheckTemplate> checkTemplates = checkTemplateMapper.selectCheckTemplateList(checkTemplateDTO);
+        //閮ㄩ棬鍖哄煙涓嬫媺鍒楄〃
+        Result all = deptService.pullList();
+        List<BaseSelect> data = (List<BaseSelect>) all.get("data");
+        //缈昏瘧閮ㄩ棬id
+        for (CheckTemplate template : checkTemplates) {
+            if(template.getDeptId() == null)continue;
+            String[] deptIds = template.getDeptId().replace("[", "").replace("]", "").split(",");
+            List<String> deptName = new ArrayList<>();
+            for (String deptId : deptIds) {
+                List<String> deptStr = data.stream()
+                        .filter(baseSelect -> baseSelect.getId().equals(Integer.parseInt(deptId)))
+                        .map(BaseSelect::getValue)
+                        .collect(Collectors.toList());
+                deptName.addAll(deptStr);
+            }
+            template.setDeptId(StringUtils.join(deptName,","));
+        }
+
+        return checkTemplates;
     }
 
     /**
      * 鏂板鑰冩牳妯℃澘
-     * 
-     * @param checkTemplate 鑰冩牳妯℃澘
+     *
+     * @param checkTemplateDTO 鑰冩牳妯℃澘
      * @return 缁撴灉
      */
     @Override
-    public int insertCheckTemplate(CheckTemplate checkTemplate)
-    {
-        checkTemplate.setCreateTime(DateUtils.getNowDate());
+    public int insertCheckTemplate(CheckTemplateQuery checkTemplateDTO) {
+        checkTemplateDTO.setCreateTime(DateUtils.getNowDate());
+        CheckTemplate checkTemplate = new CheckTemplate();
+        BeanUtils.copyProperties(checkTemplateDTO,checkTemplate);
+        checkTemplate.setDeptId(checkTemplateDTO.getDeptId().toString().replaceAll(" ",""));
         return checkTemplateMapper.insertCheckTemplate(checkTemplate);
     }
 
     /**
      * 淇敼鑰冩牳妯℃澘
-     * 
+     *
      * @param checkTemplate 鑰冩牳妯℃澘
      * @return 缁撴灉
      */
     @Override
-    public int updateCheckTemplate(CheckTemplate checkTemplate)
-    {
+    public int updateCheckTemplate(CheckTemplate checkTemplate) {
         checkTemplate.setUpdateTime(DateUtils.getNowDate());
         return checkTemplateMapper.updateCheckTemplate(checkTemplate);
     }
 
     /**
      * 鎵归噺鍒犻櫎鑰冩牳妯℃澘
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳妯℃澘涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteCheckTemplateByIds(Long[] ids)
-    {
+    public int deleteCheckTemplateByIds(Long[] ids) {
         return checkTemplateMapper.deleteCheckTemplateByIds(ids);
     }
 
     /**
      * 鍒犻櫎鑰冩牳妯℃澘淇℃伅
-     * 
+     *
      * @param id 鑰冩牳妯℃澘涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteCheckTemplateById(Long id)
-    {
+    public int deleteCheckTemplateById(Long id) {
         return checkTemplateMapper.deleteCheckTemplateById(id);
     }
+
+    @Override
+    public Result pullList() {
+        List<CheckTemplate> checkTemplates = checkTemplateMapper.selectCheckTemplateList(new CheckTemplateQuery());
+
+        return Result.ok().data(checkTemplates);
+    }
 }

--
Gitblit v1.8.0