提交 ce631f33 authored 作者: gongwenjie's avatar gongwenjie

合并分支 'gwj' 到 'master'

Gwj 查看合并请求 !70
流水线 #109 已失败 于阶段
...@@ -191,129 +191,85 @@ public class ApprovalInformationServiceImpl implements ApprovalInformationServic ...@@ -191,129 +191,85 @@ public class ApprovalInformationServiceImpl implements ApprovalInformationServic
/** /**
* 计算调休时长 * 计算调休时长
*/ */
private Long computeTime(Date startTime,Date endTime){ private Long computeTime(Date startTime,Date endTime) throws Exception{
Config config = configDao.findAll().get(0); Config config = configDao.findAll().get(0);
String workTime = config.getWorkTime();//上班时间 String workTime = config.getWorkTime();//上班时间
String afterWorkTime = config.getAfterWorkTime();//下班时间 String afterWorkTime = config.getAfterWorkTime();//下班时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd 00:00:00"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd "+workTime);
String format = sdf2.format(startTime); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd " + afterWorkTime);
try { Calendar calendar = Calendar.getInstance();
Date parse = sdf2.parse(format); Calendar calendar1 = Calendar.getInstance();
List<Day> days = dayDao.findAllByStatusAndDateBetween("0", parse, endTime); String format = sdf.format(startTime);
long hours = 0; Date parse = sdf.parse(format);
if(days!=null){
for (Day day : days) { String format1 = sdf2.format(startTime);
Date parse1 = sdf2.parse(format1);
calendar1.setTime(parse1);
calendar.setTime(parse);//设置上班时间
String format2 = sdf3.format(startTime);
String format3 = sdf3.format(endTime);
long hours = 0;
long hour = 60 * 1000 * 60;
if(startTime.before(calendar.getTime())){
if(format2.equals(format3)){
Date leaveWork = calendar1.getTime();
if(endTime.before(leaveWork)){
long miSecond = endTime.getTime() - calendar.getTime().getTime();
if(miSecond%hour==0){
hours = miSecond / hour;
}else{
hours = miSecond / hour + 1;
}
}else{
hours = 8;
}
}else{
hours = 8;
while (true){
calendar.add(Calendar.DATE,1);
calendar1.add(Calendar.DATE,1);
Date leaveWork = calendar1.getTime();
Date startWorkTime = calendar.getTime();
if(endTime.before(startWorkTime)){
return hours;
}else{
if(endTime.before(leaveWork)){
long miSecond = endTime.getTime() - calendar.getTime().getTime();
if(miSecond%hour==0){
hours = miSecond / hour + hours;
}else{
hours = miSecond / hour + 1 + hours;
}
}else{
hours += 8;
} }
} }
} catch (ParseException e) { }
e.printStackTrace(); }
} }else{
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(format2.equals(format3)){
// Config config = configDao.findAll().get(0); Date leaveWork = calendar1.getTime();
// SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd "+config.getWorkTime()); if(endTime.before(leaveWork)){
// SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd "+config.getAfterWorkTime()); long miSecond = endTime.getTime() - startTime.getTime();
// String format = sdf.format(startTime); if(miSecond%hour==0){
// try { hours = miSecond / hour;
// Calendar calendar = Calendar.getInstance(); }else{
// Date parse1 = sdf2.parse(format);//该天的上班时间 hours = miSecond / hour + 1;
// Date parse2 = sdf3.parse(format); }
// Date parse = sdf.parse(format); }else{
// Day day = dayDao.findByDate(parse); long miSecond = leaveWork.getTime() - startTime.getTime();
// String status = day.getStatus(); if(miSecond%hour==0){
// long hours = 0; hours = miSecond / hour;
// }else{
// while(true){ hours = miSecond / hour + 1;
// if(parse1.before(startTime)){ }
// if(endTime.before(parse2)){ }
// Long time = endTime.getTime() - startTime.getTime(); }
// long hour = 1000*60*60; }
// if(time%hour==0){
// hours = time/hour;
// }else{
// hours = time/hour + 1;
// }
// }else{
//
// }
// }
// }
//
//
//
//
// //判断该天是否是工作日
// if(status.equals("0")) {
// if(parse1.before(startTime)){
// if(endTime.before(parse2)){
// Long time = endTime.getTime() - startTime.getTime();
// long hour = 1000*60*60;
// if(time%hour==0){
// hours = time/hour;
// }else{
// hours = time/hour + 1;
// }
// }else{
// calendar.setTime(parse1);
// calendar.add(Calendar.DATE,1);
// Date time = calendar.getTime();
// Day day1 = dayDao.findByDate(time);
// if(day1.getStatus().equals("0")){
//
// }
// }
// }
// }else{
// calendar.setTime(parse1);
// calendar.add(Calendar.DATE,1);
// Date time = calendar.getTime();
// calendar.setTime(parse2);
// calendar.add(Calendar.DATE,1);
// Date time1 = calendar.getTime();
// Day day1 = dayDao.findByDate(time);
// if(time.before(endTime)){
// if(endTime.before(parse2)){
//
// }
// }
// }
//
//// if(status.equals("0")){//判断该天是否是工作日
//// if(parse1.before(startTime)&&endTime.before(parse2)){
//// if(endTime.before(parse2)){
//// Long time = endTime.getTime() - startTime.getTime();
//// long hour = 1000*60*60;
//// long hours = 0;
//// if(time%hour==0){
//// hours = time/hour;
//// }else{
//// hours = time/hour + 1;
//// }
//// }else{
//// calendar.setTime(parse1);
//// calendar.add(Calendar.DATE,1);//往后一天的上班时间
//// Date time1 = calendar.getTime();
//// if(endTime.before(time1)){
//// Long time = parse2.getTime() - startTime.getTime();
//// long hour = 1000*60*60;
//// long hours = 0;
//// if(time%hour==0){
//// hours = time/hour;
//// }else{
//// hours = time/hour + 1;
//// }
//// }
//// }
////
//// }
//// }
//
//
//
// } catch (ParseException e) {
// e.printStackTrace();
// }
return null; return null;
} }
......
...@@ -576,11 +576,15 @@ public class UserServiceImpl implements IUserService { ...@@ -576,11 +576,15 @@ public class UserServiceImpl implements IUserService {
*/ */
@Override @Override
public boolean judgeParent(String id, String userId) { public boolean judgeParent(String id, String userId) {
List<UserRole> userRoles1 = userRoleDao.findAllByUserId(userId); Optional<User> optional = pasUserDao.findById(userId);
boolean flag = false;
if(optional.isPresent()){
User user = optional.get();
List<String> departmentIdList = user.getDepartmentIds();
List<UserRole> userRoles2 = userRoleDao.findAllByUserId(id); List<UserRole> userRoles2 = userRoleDao.findAllByUserId(id);
List<String> roleIds = new ArrayList<>(); List<String> roleIds = new ArrayList<>();
List<String> roleIds2 = new ArrayList<>(); List<String> roleIds2 = new ArrayList<>();
boolean flag = false;
if(userRoles2!=null){ if(userRoles2!=null){
userRoles2.forEach(userRole -> roleIds.add(userRole.getRoleId())); userRoles2.forEach(userRole -> roleIds.add(userRole.getRoleId()));
List<Role> roles = roleDao.findAllByIdIn(roleIds); List<Role> roles = roleDao.findAllByIdIn(roleIds);
...@@ -605,13 +609,10 @@ public class UserServiceImpl implements IUserService { ...@@ -605,13 +609,10 @@ public class UserServiceImpl implements IUserService {
}); });
} }
if(userRoles1!=null){
userRoles1.forEach(userRole -> roleIds2.add(userRole.getRoleId()));
List<Role> roleList = roleDao.findAllByIdIn(roleIds2);
List<String> departmentIds = new ArrayList<>();//自身或者上级部门 List<String> departmentIds = new ArrayList<>();//自身或者上级部门
roleList.forEach(role -> { departmentIdList.forEach(deId -> {
String departmentId = role.getDepartmentId(); List<String> parentDepartIds = findParentDepartIds(deId, new ArrayList<String>());
List<String> parentDepartIds = findParentDepartIds(departmentId, new ArrayList<String>());
if(parentDepartIds!=null){ if(parentDepartIds!=null){
parentDepartIds.forEach(str->{ parentDepartIds.forEach(str->{
if(!departmentIds.contains(str)){ if(!departmentIds.contains(str)){
...@@ -626,8 +627,10 @@ public class UserServiceImpl implements IUserService { ...@@ -626,8 +627,10 @@ public class UserServiceImpl implements IUserService {
flag = true; flag = true;
} }
} }
} }
} }
return flag; return flag;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论