|
@@ -4226,7 +4226,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception {
|
|
|
+ public HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate,Integer hasReportDeptId) throws Exception {
|
|
|
String token = request.getHeader("TOKEN");
|
|
|
User user = userMapper.selectById(token);
|
|
|
Integer companyId = user.getCompanyId();
|
|
@@ -4261,6 +4261,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
//String[] weekDayCHN = {"周一","周二","周三","周四","周五","周六","周日"};
|
|
|
String[] weekDayCHN = {MessageUtils.message("week.Monday"),MessageUtils.message("week.Tuesday"),MessageUtils.message("week.Wednesday"),MessageUtils.message("week.Thursday"),MessageUtils.message("week.Friday"),MessageUtils.message("week.Saturday"),MessageUtils.message("week.Sunday")};
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ List<Integer> branchDepartment = null;
|
|
|
+ if(hasReportDeptId != null){
|
|
|
+ branchDepartment = departmentService.getBranchDepartment(Integer.valueOf(hasReportDeptId),departmentList);
|
|
|
+ }
|
|
|
List<User> allRangeUserList = new ArrayList<>();
|
|
|
List<Map<String, Object>> list = null;
|
|
|
//分角色权限:管理员看全部的,部门负责人看自己部门的,个人只能看自己的。
|
|
@@ -4271,12 +4275,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
//检查是不是部门负责人(含主要负责人和其他负责人)
|
|
|
List<Integer> allDeptIds = getAllVisibleDeptIdList(user, allDeptList);
|
|
|
if (allDeptIds.size() > 0) {
|
|
|
- list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allDeptIds, null,user.getId());
|
|
|
+ list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, branchDepartment==null?allDeptIds:branchDepartment, null,user.getId());
|
|
|
//部门负责人看自己部门相关的 以及自己的
|
|
|
allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allDeptIds).or().eq("id",user.getId()).orderByDesc("department_id"));
|
|
|
} else {
|
|
|
//看自己的所负责的项目相关人员的
|
|
|
- list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, user.getId(),user.getId());
|
|
|
+ list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, branchDepartment, user.getId(),user.getId());
|
|
|
//项目相关的人员列表
|
|
|
List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("incharger_id", user.getId()));
|
|
|
List<Project> collect = projectList.stream().collect(Collectors.toList());
|
|
@@ -4289,11 +4293,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, null, null,user.getId());
|
|
|
+ list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, branchDepartment, null,user.getId());
|
|
|
//管理员看全公司所有人
|
|
|
allRangeUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).orderByDesc("department_id"));
|
|
|
}
|
|
|
List<User> needRangeUserList=new ArrayList<>();
|
|
|
+ //按人员过滤
|
|
|
+ if(branchDepartment!=null&&branchDepartment.size()>0){
|
|
|
+ List<Integer> finalBranchDepartment = branchDepartment;
|
|
|
+ allRangeUserList=allRangeUserList.stream().filter(at-> finalBranchDepartment.contains(at.getDepartmentId())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
for (User u : allRangeUserList) {
|
|
|
if(u.getInactiveDate()==null||(u.getInactiveDate()!=null&&u.getInactiveDate().isAfter(LocalDate.parse(startDate))||u.getIsActive()==1)){
|
|
|
needRangeUserList.add(u);
|
|
@@ -4478,8 +4487,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception {
|
|
|
- HttpRespMsg msg = getUserDailyWorkTime(request, startDate, endDate);
|
|
|
+ public HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate,Integer hasReportDeptId) throws Exception {
|
|
|
+ HttpRespMsg msg = getUserDailyWorkTime(request, startDate, endDate,hasReportDeptId);
|
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
|
|
|
CompanyDingding dingding = companyDingdingService.getOne(new QueryWrapper<CompanyDingding>().eq("company_id", companyId));
|