package com.zy.crm.manager.controller; 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.RequestMapping; import org.springframework.web.bind.annotation.RestController; 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 public R get() { // 传入用户id查询规划单 区分,通过区分出来的规划单类型查询 规划申请单 // PlanType planType = new PlanType(); planType.setType(2); planType.setHostId(1L); User planLeader = planTypeService.findPlanLeader(planType); EntityWrapper wrapper = new EntityWrapper<>(); 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> maps = planService.selectMaps(wrapper); for (Map 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 users = userService.selectList(new EntityWrapper().eq("dept_id", planLeader.getDeptId())); List processPermissionsList = processPermissionsService.selectList(new EntityWrapper().eq("process_memo", 101)); for (ProcessPermissions processPermissions:processPermissionsList){ User user = userService.selectById(processPermissions.getUserId()); users.add(user); } List> result = new ArrayList<>(); for (User user:users){ if (user.getUsername().equals("周夏天") || user.getUsername().equals("梁昌民")) { continue; } List 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().eq("director", user.getId())); Map 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 wrapper = new EntityWrapper<>(); wrapper.setSqlSelect("count(0) count","MONTH(create_time) month"); wrapper.groupBy("MONTH(create_time)"); List> 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 users = userService.selectList(new EntityWrapper().eq("dept_id", planLeader.getDeptId())); List> maps = new ArrayList<>(); for (User user : users) { if (user.getUsername().equals("周夏天") || user.getUsername().equals("梁昌民")) { continue; } Map map = new HashMap<>(); map.put("user", user); map.put("obj", planService.selectUserYear(user.getId())); maps.add(map); } return R.ok().add(maps); } }