|
@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.*;
|
|
|
|
+import com.management.platform.entity.vo.SysRichFunction;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.mapper.*;
|
|
|
|
+import com.management.platform.service.DepartmentService;
|
|
import com.management.platform.service.ExpenseItemService;
|
|
import com.management.platform.service.ExpenseItemService;
|
|
import com.management.platform.service.LeavePmauditService;
|
|
import com.management.platform.service.LeavePmauditService;
|
|
import com.management.platform.service.LeaveSheetService;
|
|
import com.management.platform.service.LeaveSheetService;
|
|
@@ -17,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -48,7 +51,12 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
|
|
private LeavePmauditService leavePmauditService;
|
|
private LeavePmauditService leavePmauditService;
|
|
@Resource
|
|
@Resource
|
|
private UserYearleaveSettingMapper userYearleaveSettingMapper;
|
|
private UserYearleaveSettingMapper userYearleaveSettingMapper;
|
|
-
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private HttpServletRequest request;
|
|
|
|
+ @Resource
|
|
|
|
+ SysFunctionMapper sysFunctionMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ DepartmentService departmentService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public HttpRespMsg add(LeaveSheet sheet, String userId) {
|
|
public HttpRespMsg add(LeaveSheet sheet, String userId) {
|
|
@@ -115,6 +123,36 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
|
|
@Override
|
|
@Override
|
|
public HttpRespMsg queryList(LeaveSheet sheet, Integer pageIndex, Integer pageSize) {
|
|
public HttpRespMsg queryList(LeaveSheet sheet, Integer pageIndex, Integer pageSize) {
|
|
QueryWrapper<LeaveSheet> queryWrapper = new QueryWrapper<LeaveSheet>();
|
|
QueryWrapper<LeaveSheet> queryWrapper = new QueryWrapper<LeaveSheet>();
|
|
|
|
+ String token = request.getHeader("TOKEN");
|
|
|
|
+ User user = userMapper.selectById(token);
|
|
|
|
+ List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全部请假单");
|
|
|
|
+ if (functionList.size() == 0) {
|
|
|
|
+ //部门主要负责人可以看这个部门的
|
|
|
|
+ List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()));
|
|
|
|
+ if (departmentList.size() > 0) {
|
|
|
|
+ //先是自己的
|
|
|
|
+ List<String> userIds = new ArrayList<>();
|
|
|
|
+ userIds.add(user.getId());
|
|
|
|
+ //负责的部门的人员
|
|
|
|
+ List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
|
|
|
|
+ List<Integer> allDeptIds = new ArrayList<>();
|
|
|
|
+ for (Department firstLevelDept : departmentList) {
|
|
|
|
+ List<Integer> deptIncludeSubDeptIds = departmentService.getDeptIncludeSubDeptIds(firstLevelDept.getDepartmentId(), allDeptList);
|
|
|
|
+ allDeptIds.addAll(deptIncludeSubDeptIds);
|
|
|
|
+ }
|
|
|
|
+ if (allDeptIds.size() > 0) {
|
|
|
|
+ List<User> userList = userMapper.selectList(new QueryWrapper<User>().select("id").in("department_id", allDeptIds));
|
|
|
|
+ List<String> collect = userList.stream().map(User::getId).collect(Collectors.toList());
|
|
|
|
+ userIds.addAll(collect);
|
|
|
|
+ queryWrapper.in("owner_id", userIds);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //普通员工只能看自己的
|
|
|
|
+ sheet.setOwnerId(user.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ sheet.setCompanyId(user.getCompanyId());
|
|
|
|
+
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
queryWrapper.eq("company_id", sheet.getCompanyId()).orderByDesc("id");
|
|
queryWrapper.eq("company_id", sheet.getCompanyId()).orderByDesc("id");
|
|
|
|
|