From 2b1d15c6bfadb41714fa69e4fe899d3c4e6d776b Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 26 三月 2024 14:19:47 +0800
Subject: [PATCH] #完善工具类

---
 src/main/java/com/zy/crm/manager/controller/BIController.java |  111 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 104 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/BIController.java b/src/main/java/com/zy/crm/manager/controller/BIController.java
index f355b47..911b619 100644
--- a/src/main/java/com/zy/crm/manager/controller/BIController.java
+++ b/src/main/java/com/zy/crm/manager/controller/BIController.java
@@ -2,34 +2,131 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
 import com.core.common.R;
+import com.core.common.SpringUtils;
+import com.zy.crm.common.entity.UserYear;
 import com.zy.crm.common.web.BaseController;
 import com.zy.crm.manager.entity.Plan;
+import com.zy.crm.manager.entity.PlanType;
+import com.zy.crm.manager.entity.ProcessPermissions;
 import com.zy.crm.manager.service.PlanService;
+import com.zy.crm.manager.service.PlanTypeService;
+import com.zy.crm.manager.service.ProcessPermissionsService;
+import com.zy.crm.system.entity.User;
+import com.zy.crm.system.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 public class BIController extends BaseController {
 
     @Autowired
     private PlanService planService;
+    @Autowired
+    private PlanTypeService planTypeService;
+    @Autowired
+    private UserService userService;
+    @Autowired
+    private ProcessPermissionsService processPermissionsService;
 
     @RequestMapping(value = "/pending/approval/auth")
-    @ManagerAuth
+    //@ManagerAuth
     public R get() {
         // 浼犲叆鐢ㄦ埛id鏌ヨ瑙勫垝鍗� 鍖哄垎锛岄�氳繃鍖哄垎鍑烘潵鐨勮鍒掑崟绫诲瀷鏌ヨ 瑙勫垝鐢宠鍗�
         //
+        PlanType planType = new PlanType();
+        planType.setType(2);
+        planType.setHostId(1L);
+        User planLeader = planTypeService.findPlanLeader(planType);
         EntityWrapper<Plan> wrapper = new EntityWrapper<>();
-        wrapper.setSqlSelect("user_id");
-        wrapper.eq("settle",2).eq("assistant_host_sign",0).groupBy("user_id");
+        wrapper.setSqlSelect("user_id","director","count(id) as count");
+        wrapper.eq("director",planLeader.getId()).eq("settle",1).eq("assistant_host_sign",0).groupBy("user_id,director");
+        List<Map<String, Object>> maps = planService.selectMaps(wrapper);
+        for (Map<String, Object> map : maps) {
+            String user_id = map.get("user_id").toString();
+            UserService service = SpringUtils.getBean(UserService.class);
+            User user = service.selectById(user_id);
+            if (!Cools.isEmpty(user)) {
+                map.put("userId$",String.valueOf(user.getNickname()));
+            }
+        }
+        return R.ok().add(maps);
+    }
+
+    @RequestMapping(value = "/pending/user/approval/auth")
+    //@ManagerAuth
+    public R getPlanByUser() {
+        PlanType planType = new PlanType();
+        planType.setType(2);
+        planType.setHostId(1L);
+        User planLeader = planTypeService.findPlanLeader(planType);
+        List<User> users = userService.selectList(new EntityWrapper<User>().eq("dept_id", planLeader.getDeptId()));
+        List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 101));
+        for (ProcessPermissions processPermissions:processPermissionsList){
+            User user = userService.selectById(processPermissions.getUserId());
+            users.add(user);
+        }
+        List<Map<String, Object>> result = new ArrayList<>();
+
+        for (User user:users){
+            if (user.getUsername().equals("鍛ㄥ澶�") || user.getUsername().equals("姊佹槍姘�")) {
+                continue;
+            }
+            List<Plan> plans = planService.selctPlanListByDirector(user.getId());
+            String userList = "";
+            for (Plan plan:plans){
+                if (plans.indexOf(plan)==plans.size()-1){
+                    userList = userList+plan.getUserId$();
+                    continue;
+                }
+                userList = plan.getUserId$() +","+ userList;
+            }
+            int director = planService.selectCount(new EntityWrapper<Plan>().eq("director", user.getId()));
+
+
+            Map<String, Object> map = new HashMap<>();
+            map.put("user", user.getNickname());
+            map.put("value", userList);
+            map.put("anfme", director);
+            result.add(map);
+        }
+        return R.ok().add(result);
+    }
+
+
+    @RequestMapping(value = "/pending/sum/auth")
+    //@ManagerAuth
+    public R getAllPlan() {
+        EntityWrapper<Plan> wrapper = new EntityWrapper<>();
+        wrapper.setSqlSelect("count(0) count","MONTH(create_time) month");
+        wrapper.groupBy("MONTH(create_time)");
         List<Map<String, Object>> maps = planService.selectMaps(wrapper);
         return R.ok().add(maps);
     }
+
+    @RequestMapping(value = "/user/sumyear/auth")
+    //@ManagerAuth
+    public R getUserYear() {
+        PlanType planType = new PlanType();
+        planType.setType(2);
+        planType.setHostId(1L);
+        User planLeader = planTypeService.findPlanLeader(planType);
+        List<User> users = userService.selectList(new EntityWrapper<User>().eq("dept_id", planLeader.getDeptId()));
+        List<Map<String, Object>> maps = new ArrayList<>();
+        for (User user : users) {
+            if (user.getUsername().equals("鍛ㄥ澶�") || user.getUsername().equals("姊佹槍姘�")) {
+                continue;
+            }
+            Map<String, Object> map = new HashMap<>();
+            map.put("user", user);
+            map.put("obj", planService.selectUserYear(user.getId()));
+            maps.add(map);
+        }
+        return R.ok().add(maps);
+    }
+
 }

--
Gitblit v1.9.1