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

合并分支 'gwj' 到 'master'

Gwj 查看合并请求 !82
流水线 #123 已失败 于阶段
...@@ -18,7 +18,9 @@ public interface ApprovalInformationDao extends MongoRepository<ApprovalInformat ...@@ -18,7 +18,9 @@ public interface ApprovalInformationDao extends MongoRepository<ApprovalInformat
List<ApprovalInformation> findAllByStatusIn(List<String> statusList); List<ApprovalInformation> findAllByStatusIn(List<String> statusList);
ApprovalInformation findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeAfterAndApprovalTypeIn(String userId, Date startTime,Date endTime,List<String> type);
ApprovalInformation findAllByUserIdAndLeaveStartTimeLessThanEqualAndLeaveEndTimeGreaterThanEqualAndApprovalTypeIn(String userId, Date startTime ,Date endTime,List<String> type);
ApprovalInformation findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeBetweenAndApprovalTypeIn(String userId, Date startTime,Date startTime1,Date endTime,List<String> type); ApprovalInformation findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeBetweenAndApprovalTypeIn(String userId, Date startTime,Date startTime1,Date endTime,List<String> type);
......
...@@ -57,11 +57,11 @@ public class ApprovalInformation { ...@@ -57,11 +57,11 @@ public class ApprovalInformation {
private String approvalLevel; private String approvalLevel;
@ApiModelProperty(value = "请假开始时间",example = "2020-03-20 09:00:00") @ApiModelProperty(value = "请假开始时间",example = "2020-03-20 09:00:00")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date leaveStartTime; private Date leaveStartTime;
@ApiModelProperty(value = "请假结束时间",example = "2020-03-21 09:00:00") @ApiModelProperty(value = "请假结束时间",example = "2020-03-21 09:00:00")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date leaveEndTime; private Date leaveEndTime;
@ApiModelProperty(value = "一级审批是否通过",example = "0/1") @ApiModelProperty(value = "一级审批是否通过",example = "0/1")
......
...@@ -16,7 +16,6 @@ import java.util.Date; ...@@ -16,7 +16,6 @@ import java.util.Date;
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "个人考勤信息", description = "个人考勤信息") @ApiModel(value = "个人考勤信息", description = "个人考勤信息")
@Document(collection = "ding_attendance") @Document(collection = "ding_attendance")
public class AttendanceDetails { public class AttendanceDetails {
...@@ -86,4 +85,11 @@ public class AttendanceDetails { ...@@ -86,4 +85,11 @@ public class AttendanceDetails {
@ApiModelProperty(value = "时间",example = "2020-03-22 09:00:00") @ApiModelProperty(value = "时间",example = "2020-03-22 09:00:00")
Date date; Date date;
public AttendanceDetails() {
workOverHours = 0;
outSideBusinessDay = 0f;
outWorkDay = 0f;
sickLeaveDay = 0f;
}
} }
...@@ -183,17 +183,18 @@ public class CardTask { ...@@ -183,17 +183,18 @@ public class CardTask {
String format1 = sdf2.format(parse); String format1 = sdf2.format(parse);
Date date1 = sdf4.parse(format1); Date date1 = sdf4.parse(format1);
ApprovalInformation approvalInformation = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeAfterAndApprovalTypeIn(user.getId(), date, date1,type1); System.out.println(date);
compute(approvalInformation,attendanceDetails,user.getId(),date,date1,type1); System.out.println(date1);
ApprovalInformation approvalInformation1 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeAfterAndApprovalTypeIn(user.getId(), date, date1,type2); List<ApprovalInformation> all = approvalInformationDao.findAll();
compute(approvalInformation1,attendanceDetails,user.getId(),date,date1,type2); System.out.println("startTime"+all.get(0).getLeaveStartTime()+"\n"+"endTime"+all.get(0).getLeaveEndTime());
ApprovalInformation approvalInformation2 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeAfterAndApprovalTypeIn(user.getId(), date, date1,type3); ApprovalInformation approvalInformation = approvalInformationDao.findAllByUserIdAndLeaveStartTimeLessThanEqualAndLeaveEndTimeGreaterThanEqualAndApprovalTypeIn(user.getId(), date, date1,type1);
compute(approvalInformation2,attendanceDetails,user.getId(),date,date1,type3); List<ApprovalInformation> compute = compute(approvalInformation, attendanceDetails, user.getId(), date, date1, type1);
ApprovalInformation approvalInformation1 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeLessThanEqualAndLeaveEndTimeGreaterThanEqualAndApprovalTypeIn(user.getId(), date,date1,type2);
List<ApprovalInformation> compute1 = compute(approvalInformation1, attendanceDetails, user.getId(), date, date1, type2);
ApprovalInformation approvalInformation2 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeLessThanEqualAndLeaveEndTimeGreaterThanEqualAndApprovalTypeIn(user.getId(), date,date1,type3);
List<ApprovalInformation> compute2 = compute(approvalInformation2, attendanceDetails, user.getId(), date, date1, type3);
attendanceDetails.setUserId(user.getId()); attendanceDetails.setUserId(user.getId());
System.out.println(approvalInformation);
System.out.println(approvalInformation1);
System.out.println(approvalInformation2);
if(cardResults1!=null){ if(cardResults1!=null){
List<CardResult> cardResults = new ArrayList<>(); List<CardResult> cardResults = new ArrayList<>();
cardResults1.forEach(cardResult -> { cardResults1.forEach(cardResult -> {
...@@ -211,13 +212,15 @@ public class CardTask { ...@@ -211,13 +212,15 @@ public class CardTask {
attendanceDetails.setLessCard(0); attendanceDetails.setLessCard(0);
}else if(cardResults.size()==1){ }else if(cardResults.size()==1){
attendanceDetails.setLessCard(1); attendanceDetails.setLessCard(1);
if(approvalInformation == null && approvalInformation1==null&&approvalInformation2==null){ if(approvalInformation == null && approvalInformation1==null&&approvalInformation2==null
&&compute==null&&compute1==null&&compute2==null){
attendanceDetails.setIsAbsenteeismDay(0); attendanceDetails.setIsAbsenteeismDay(0);
attendanceDetails.setAbsenteeismDay(0.5f); attendanceDetails.setAbsenteeismDay(0.5f);
} }
}else{ }else{
attendanceDetails.setLessCard(2); attendanceDetails.setLessCard(2);
if(approvalInformation == null && approvalInformation1==null&&approvalInformation2==null){ if(approvalInformation == null && approvalInformation1==null&&approvalInformation2==null
&&compute==null&&compute1==null&&compute2==null){
attendanceDetails.setIsAbsenteeismDay(0); attendanceDetails.setIsAbsenteeismDay(0);
attendanceDetails.setAbsenteeismDay(1f); attendanceDetails.setAbsenteeismDay(1f);
} }
...@@ -256,24 +259,71 @@ public class CardTask { ...@@ -256,24 +259,71 @@ public class CardTask {
* @param date2 * @param date2
* @param types * @param types
*/ */
private void compute(ApprovalInformation approvalInformation,AttendanceDetails attendanceDetails,String userId,Date date1,Date date2,List<String> types){ private List<ApprovalInformation> compute(ApprovalInformation approvalInformation,AttendanceDetails attendanceDetails,String userId,Date date1,Date date2,List<String> types){
if(approvalInformation!=null){ List<ApprovalInformation> approvalInformationList = new ArrayList<>();
attendanceDetails.setIsOutSideBusinessDay(0); if(types.contains("公出")){
attendanceDetails.setOutSideBusinessDay(1f); if(approvalInformation!=null){
}else{
ApprovalInformation approvalInformation1 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeBetweenAndApprovalTypeIn(userId, date1, date1,date2,types);
ApprovalInformation approvalInformation2 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBetweenAndLeaveEndTimeAfterAndApprovalTypeIn(userId, date1, date2,date2,types);
if(approvalInformation1!=null){
attendanceDetails.setIsOutSideBusinessDay(0); attendanceDetails.setIsOutSideBusinessDay(0);
attendanceDetails.setOutSideBusinessDay(0.5f); attendanceDetails.setOutSideBusinessDay(1f);
}else{
ApprovalInformation approvalInformation1 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeBetweenAndApprovalTypeIn(userId, date1, date1,date2,types);
ApprovalInformation approvalInformation2 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBetweenAndLeaveEndTimeAfterAndApprovalTypeIn(userId, date1, date2,date2,types);
if(approvalInformation1!=null){
attendanceDetails.setIsOutSideBusinessDay(0);
attendanceDetails.setOutSideBusinessDay(0.5f);
approvalInformationList.add(approvalInformation1);
}
if(approvalInformation2!=null){
attendanceDetails.setIsOutSideBusinessDay(0);
if(attendanceDetails.getOutSideBusinessDay()!=null){
attendanceDetails.setOutSideBusinessDay(attendanceDetails.getOutSideBusinessDay()+0.5f);
}
approvalInformationList.add(approvalInformation2);
}
} }
if(approvalInformation2!=null){ }else if(types.contains("出差")){
attendanceDetails.setIsOutSideBusinessDay(0); if(approvalInformation!=null){
if(attendanceDetails.getOutSideBusinessDay()!=null){ attendanceDetails.setIsOutWorkDay(0);
attendanceDetails.setOutSideBusinessDay(attendanceDetails.getOutSideBusinessDay()+0.5f); attendanceDetails.setOutWorkDay(1f);
}else{
ApprovalInformation approvalInformation1 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeBetweenAndApprovalTypeIn(userId, date1, date1,date2,types);
ApprovalInformation approvalInformation2 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBetweenAndLeaveEndTimeAfterAndApprovalTypeIn(userId, date1, date2,date2,types);
if(approvalInformation1!=null){
attendanceDetails.setIsOutWorkDay(0);
attendanceDetails.setOutWorkDay(0.5f);
approvalInformationList.add(approvalInformation1);
}
if(approvalInformation2!=null){
attendanceDetails.setIsOutWorkDay(0);
if(attendanceDetails.getOutWorkDay()!=null){
attendanceDetails.setOutWorkDay(attendanceDetails.getOutSideBusinessDay()+0.5f);
}
approvalInformationList.add(approvalInformation2);
}
}
}else if(types.contains("事假") || types.contains("病假") || types.contains("调休")){
if(approvalInformation!=null){
attendanceDetails.setIsSickLeaveDay(0);
attendanceDetails.setSickLeaveDay(1f);
}else{
ApprovalInformation approvalInformation1 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBeforeAndLeaveEndTimeBetweenAndApprovalTypeIn(userId, date1, date1,date2,types);
ApprovalInformation approvalInformation2 = approvalInformationDao.findAllByUserIdAndLeaveStartTimeBetweenAndLeaveEndTimeAfterAndApprovalTypeIn(userId, date1, date2,date2,types);
if(approvalInformation1!=null){
attendanceDetails.setIsSickLeaveDay(0);
attendanceDetails.setSickLeaveDay(0.5f);
approvalInformationList.add(approvalInformation1);
}
if(approvalInformation2!=null){
attendanceDetails.setIsSickLeaveDay(0);
if(attendanceDetails.getSickLeaveDay()!=null){
attendanceDetails.setSickLeaveDay(attendanceDetails.getSickLeaveDay()+0.5f);
}
approvalInformationList.add(approvalInformation2);
} }
} }
} }
return approvalInformationList;
} }
/** /**
......
...@@ -115,6 +115,14 @@ public class UserController { ...@@ -115,6 +115,14 @@ public class UserController {
return ok(iUserService.findUserList(id,authoryName)); return ok(iUserService.findUserList(id,authoryName));
} }
@ApiOperation(value = "查询具有发布权限的人,也就是可选的审核者", response = User.class)
@GetMapping("/findPublishUsers")
public ResponseEntity findPublishUsers() {
String authoryName = "发布任务";
List<User> userList = iUserService.findPublishUsers(authoryName);
return ok(userList);
}
@ApiOperation(value = "密码加密", response = User.class) @ApiOperation(value = "密码加密", response = User.class)
@GetMapping("/encryPas") @GetMapping("/encryPas")
public ResponseEntity encryPas() { public ResponseEntity encryPas() {
......
...@@ -28,4 +28,7 @@ public interface AuthorityDao extends MongoRepository<Authority, String> { ...@@ -28,4 +28,7 @@ public interface AuthorityDao extends MongoRepository<Authority, String> {
void deleteAllByNameIn(List<String> name); void deleteAllByNameIn(List<String> name);
List<Authority> findAllByNameIn(List<String> name); List<Authority> findAllByNameIn(List<String> name);
Authority findByName(String authorityName);
} }
...@@ -74,7 +74,11 @@ public interface PasUserDao extends MongoRepository<User, String> { ...@@ -74,7 +74,11 @@ public interface PasUserDao extends MongoRepository<User, String> {
*/ */
List<User> findAllByUsername(String name); List<User> findAllByUsername(String name);
/**
* 根据用户状态查询用户
* @param status
* @return
*/
List<User> findAllByStatus(String status);
} }
...@@ -18,4 +18,6 @@ public interface RoleAuthorityDao extends MongoRepository<RoleAuthority,String> ...@@ -18,4 +18,6 @@ public interface RoleAuthorityDao extends MongoRepository<RoleAuthority,String>
List<RoleAuthority> findAllByRoleIdIn(List<String> roleIds); List<RoleAuthority> findAllByRoleIdIn(List<String> roleIds);
List<RoleAuthority> findAllByRoleId(String roleId); List<RoleAuthority> findAllByRoleId(String roleId);
List<RoleAuthority> findAllByAuthorityId(String authorityId);
} }
...@@ -81,7 +81,7 @@ public class User implements UserDetails, Serializable { ...@@ -81,7 +81,7 @@ public class User implements UserDetails, Serializable {
@ApiModelProperty(value = "密码",example = "password") @ApiModelProperty(value = "密码",example = "password")
private String password; private String password;
@ApiModelProperty(value = "人员状态",example = "1") @ApiModelProperty(value = "人员状态0空闲1正常2忙碌",example = "1")
private String status; private String status;
@ApiModelProperty(value = "任务数量",example = "2") @ApiModelProperty(value = "任务数量",example = "2")
......
...@@ -40,6 +40,11 @@ public class PageRequest { ...@@ -40,6 +40,11 @@ public class PageRequest {
*/ */
private String deId; private String deId;
/**
* 查询条件:人员状态
*/
private String status;
/** /**
* 查询条件:任务数量升降序(默认降序0 1升序) * 查询条件:任务数量升降序(默认降序0 1升序)
*/ */
......
...@@ -170,4 +170,11 @@ public interface IUserService { ...@@ -170,4 +170,11 @@ public interface IUserService {
* @return * @return
*/ */
JobLeads findJobLeads(String executorId); JobLeads findJobLeads(String executorId);
/**
* 查询所有具有发布任务权限的人
* @param authoryName
* @return
*/
List<User> findPublishUsers(String authoryName);
} }
...@@ -769,6 +769,37 @@ public class UserServiceImpl implements IUserService { ...@@ -769,6 +769,37 @@ public class UserServiceImpl implements IUserService {
return jobLeads; return jobLeads;
} }
@Override
public List<User> findPublishUsers(String authoryName) {
List<User> userList = new ArrayList<>();
Authority authority = authorityDao.findByName(authoryName);
String id = authority.getId();
List<RoleAuthority> roleAuthorities = roleAuthorityDao.findAllByAuthorityId(id);
if(roleAuthorities!=null){
List<String> roleIds = new ArrayList<>();
List<String> userIds = new ArrayList<>();
roleAuthorities.forEach(roleAuthority -> {
roleIds.add(roleAuthority.getRoleId());
});
List<UserRole> userRoles = userRoleDao.findAllByRoleIdIn(roleIds);
if(userRoles!=null){
userRoles.forEach(userRole -> {
String userId = userRole.getUserId();
if(!userIds.contains(userId)){
userIds.add(userId);
}
});
}
userIds.forEach(userId -> {
User user = findUserById(userId);
userList.add(user);
});
}
return userList;
}
} }
...@@ -85,7 +85,13 @@ public class UserManageServiceImpl implements UserManageService { ...@@ -85,7 +85,13 @@ public class UserManageServiceImpl implements UserManageService {
List<UserVo> userVos = new ArrayList<>(); List<UserVo> userVos = new ArrayList<>();
PageResponse<UserVo> pageResponse = new PageResponse(); PageResponse<UserVo> pageResponse = new PageResponse();
String deId = pageRequest.getDeId(); String deId = pageRequest.getDeId();
List<User> users = pasUserDao.findAll(); List<User> users = null;
if(pageRequest.getStatus()!=null){
String status = pageRequest.getStatus();
users = pasUserDao.findAllByStatus(status);
}else{
users = pasUserDao.findAll();
}
List<User> userList = new ArrayList<>(); List<User> userList = new ArrayList<>();
if(users!=null){ if(users!=null){
for (User user : users) { for (User user : users) {
...@@ -161,58 +167,6 @@ public class UserManageServiceImpl implements UserManageService { ...@@ -161,58 +167,6 @@ public class UserManageServiceImpl implements UserManageService {
return pageResponse; return pageResponse;
} }
// List<User> users = new ArrayList<>();
// PageResponse<UserVo> pageResponse = new PageResponse<>();
// pageResponse.setCurrentPage(pageRequest.getCurrentPage());
// pageResponse.setPageSize(pageRequest.getPageSize());
// if(pageRequest.getDeId()!=null){
// users = pasUserDao.findAllByDepartmentId(pageRequest.getId());
// }else{
// List<Department> departmentList = findDepartmentList(pageRequest.getId());
// List<String> departmentIds = new ArrayList<>();
// for (Department department : departmentList) {
// departmentIds.add(department.getId());
// }
// users = pasUserDao.findAllByDepartmentIdIn(departmentIds);
// }
// List<String> userIds = new ArrayList<>();
// for (User user : users) {
// userIds.add(user.getId());
// }
// List<Personnel> personnels = internalService.personnels(userIds);
// List<UserVo> userVos = new ArrayList<>();
// for (User user : users) {
// for (Personnel personnel : personnels) {
// if(user.getId().equals(personnel.getId())){
// UserVo userVo = new UserVo(user);
// userVo.setWorkCount(personnel.getCount());
// userVos.add(userVo);
// }
// }
// }
//
// if(pageRequest.getSort()!=null && pageRequest.getSort()==1) {
// Collections.sort(userVos, new Comparator<UserVo>() {
// @Override
// public int compare(UserVo o1, UserVo o2) {
// return o1.getWorkCount()-o2.getWorkCount();
// }
// });
// }else{
// Collections.sort(userVos, new Comparator<UserVo>() {
// @Override
// public int compare(UserVo o1, UserVo o2) {
// return o2.getWorkCount()-o1.getWorkCount();
// }
// });
// }
// int startNum=(pageResponse.getCurrentPage()-1)*10+1;
// int endNum = startNum+pageResponse.getPageSize();
// List<UserVo> userVos1 = userVos.subList(startNum - 1, endNum - 1);
// pageResponse.setRows(userVos1);
// pageResponse.setTotalPage((userVos.size()/pageResponse.getPageSize())+1);
// pageResponse.setTotalCount(userVos.size());
// return null;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论